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=0a2c85525b5790b14955cae9c09d60b851c0da9d;hb=0175a376323f6c916b5a4340a27751ebef22fc83;hp=1b7c0281a6f40646e9622690e77618a079ea3daf;hpb=995da01ef2d635230c37afc7cf4fdd724bf68856;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 1b7c0281a6..0a2c85525b 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,16 +7,11 @@ */ package org.opendaylight.controller.cluster.datastore; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.VisibleForTesting; -import javassist.ClassPool; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; -import org.opendaylight.mdsal.binding.dom.codec.gen.impl.StreamWriterGenerator; -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 org.opendaylight.mdsal.binding.generator.util.JavassistUtils; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.dom.api.DOMSchemaService; /** * Factory for creating DatastoreContextIntrospector instances. @@ -24,30 +19,21 @@ import org.opendaylight.mdsal.dom.api.DOMSchemaService; * @author Thomas Pantelis */ public class DatastoreContextIntrospectorFactory { - private final DOMSchemaService schemaService; - private final ClassLoadingStrategy classLoadingStrategy; + private final BindingNormalizedNodeSerializer serializer; - public DatastoreContextIntrospectorFactory(DOMSchemaService schemaService, - ClassLoadingStrategy classLoadingStrategy) { - this.schemaService = schemaService; - this.classLoadingStrategy = classLoadingStrategy; + public DatastoreContextIntrospectorFactory(final BindingNormalizedNodeSerializer serializer) { + this.serializer = requireNonNull(serializer); } - public DatastoreContextIntrospector newInstance(LogicalDatastoreType datastoreType) { - return new DatastoreContextIntrospector(DatastoreContext.newBuilder() - .logicalStoreType(datastoreType).tempFileDirectory("./data").build(), newBindingSerializer()); + public DatastoreContextIntrospector newInstance(final LogicalDatastoreType datastoreType) { + return newInstance(DatastoreContext.newBuilder() + .logicalStoreType(datastoreType) + .tempFileDirectory("./data") + .build()); } @VisibleForTesting - DatastoreContextIntrospector newInstance(DatastoreContext context) { - return new DatastoreContextIntrospector(context, newBindingSerializer()); - } - - private BindingNormalizedNodeSerializer newBindingSerializer() { - BindingNormalizedNodeCodecRegistry codecRegistry = new BindingNormalizedNodeCodecRegistry( - StreamWriterGenerator.create(JavassistUtils.forClassPool(ClassPool.getDefault()))); - codecRegistry.onBindingRuntimeContextUpdated(BindingRuntimeContext.create(classLoadingStrategy, - schemaService.getGlobalContext())); - return codecRegistry; + DatastoreContextIntrospector newInstance(final DatastoreContext context) { + return new DatastoreContextIntrospector(context, serializer); } }