X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FDatastoreContextIntrospectorFactory.java;h=1bc5e9dac461f6e39198c478826cc311bb31b8a1;hb=4e4d39a5024d156b2190c7d3b5d1a6bf7d81a54f;hp=8d6f4816a37fa1707def419e4986565df66dfbc0;hpb=698468cfa4cdc7d5ff7dfe0639058fea3e5d7d5b;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DatastoreContextIntrospectorFactory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DatastoreContextIntrospectorFactory.java index 8d6f4816a3..1bc5e9dac4 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DatastoreContextIntrospectorFactory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DatastoreContextIntrospectorFactory.java @@ -7,42 +7,25 @@ */ package org.opendaylight.controller.cluster.datastore; -import com.google.common.annotations.VisibleForTesting; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; -import org.opendaylight.mdsal.binding.dom.codec.impl.BindingNormalizedNodeCodecRegistry; -import org.opendaylight.mdsal.binding.generator.api.ClassLoadingStrategy; -import org.opendaylight.mdsal.binding.generator.util.BindingRuntimeContext; +import java.util.Map; +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.dom.api.DOMSchemaService; /** - * Factory for creating DatastoreContextIntrospector instances. + * Factory for creating {@link DatastoreContextIntrospector} instances. * * @author Thomas Pantelis */ -public class DatastoreContextIntrospectorFactory { - private final DOMSchemaService schemaService; - private final ClassLoadingStrategy classLoadingStrategy; - - public DatastoreContextIntrospectorFactory(DOMSchemaService schemaService, - ClassLoadingStrategy classLoadingStrategy) { - this.schemaService = schemaService; - this.classLoadingStrategy = classLoadingStrategy; - } - - public DatastoreContextIntrospector newInstance(LogicalDatastoreType datastoreType) { - return new DatastoreContextIntrospector(DatastoreContext.newBuilder() - .logicalStoreType(datastoreType).tempFileDirectory("./data").build(), newBindingSerializer()); - } - - @VisibleForTesting - DatastoreContextIntrospector newInstance(DatastoreContext context) { - return new DatastoreContextIntrospector(context, newBindingSerializer()); - } - - private BindingNormalizedNodeSerializer newBindingSerializer() { - BindingNormalizedNodeCodecRegistry codecRegistry = new BindingNormalizedNodeCodecRegistry( - BindingRuntimeContext.create(classLoadingStrategy, schemaService.getGlobalContext())); - return codecRegistry; - } +@NonNullByDefault +public interface DatastoreContextIntrospectorFactory { + /** + * Create a new {@link DatastoreContextIntrospector} initialized with specified properties. + * + * @param datastoreType Datastore type + * @param properties optional initial properties + * @return A new DatastoreContextIntrospector + */ + DatastoreContextIntrospector newInstance(LogicalDatastoreType datastoreType, + @Nullable Map properties); }