+ private static Map<String, ShardStrategy> moduleNameToStrategyMap =
+ new ConcurrentHashMap<>();
+
+ private static final String UNKNOWN_MODULE_NAME = "unknown";
+ private static Configuration configuration;
+
+
+ public static void setConfiguration(final Configuration configuration){
+ ShardStrategyFactory.configuration = configuration;
+ moduleNameToStrategyMap = configuration.getModuleNameToShardStrategyMap();
+ }
+
+ public static ShardStrategy getStrategy(final YangInstanceIdentifier path) {
+ Preconditions.checkState(configuration != null, "configuration should not be missing");
+ Preconditions.checkNotNull(path, "path should not be null");