import java.nio.file.WatchService;
import java.util.ArrayList;
import java.util.List;
-import javassist.ClassPool;
import javax.annotation.concurrent.GuardedBy;
import org.junit.After;
import org.junit.Before;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.opendaylight.bgpcep.config.loader.spi.ConfigFileProcessor;
+import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec;
import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest;
-import org.opendaylight.mdsal.binding.dom.adapter.BindingToNormalizedNodeCodec;
-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.impl.GeneratedClassLoadingStrategy;
-import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext;
-import org.opendaylight.mdsal.binding.generator.util.JavassistUtils;
+import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTestCustomizer;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
public abstract class AbstractConfigLoader extends AbstractConcurrentDataBrokerTest {
@Mock
protected WatchService watchService;
@Mock
+ protected ConfigFileProcessor processor;
+ @Mock
private WatchKey watchKey;
@Mock
private WatchEvent<?> watchEvent;
@Mock
- protected ConfigFileProcessor processor;
- @Mock
private FileWatcher fileWatcher;
+ private BindingToNormalizedNodeCodec mappingService;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
- final BindingToNormalizedNodeCodec mappingService = new BindingToNormalizedNodeCodec(
- GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy(),
- new BindingNormalizedNodeCodecRegistry(
- StreamWriterGenerator.create(JavassistUtils.forClassPool(ClassPool.getDefault()))));
- final ModuleInfoBackedContext moduleInfoBackedContext = ModuleInfoBackedContext.create();
- registerModules(moduleInfoBackedContext);
- mappingService.onGlobalContextUpdated(moduleInfoBackedContext.tryToCreateSchemaContext().get());
doAnswer(invocation -> true).when(this.watchKey).reset();
doReturn(this.eventList).when(this.watchKey).pollEvents();
doReturn(this.watchKey).when(this.watchService).take();
return null;
}).when(this.processor).loadConfiguration(any());
final SchemaContext schemaContext = getSchemaContext();
- this.configLoader = new ConfigLoaderImpl(schemaContext,
- mappingService, this.fileWatcher);
+ this.configLoader = new ConfigLoaderImpl(schemaContext, this.mappingService, this.fileWatcher);
this.configLoader.init();
}
+ @Override
+ protected AbstractDataBrokerTestCustomizer createDataBrokerTestCustomizer() {
+ final AbstractDataBrokerTestCustomizer customizer = super.createDataBrokerTestCustomizer();
+ this.mappingService = customizer.getBindingToNormalized();
+ return customizer;
+ }
+
private synchronized void clearEvent() {
this.eventList.clear();
}
return ClassLoader.getSystemClassLoader().getResource("initial").getPath();
}
- protected abstract void registerModules(ModuleInfoBackedContext moduleInfoBackedContext) throws Exception;
-
protected synchronized void triggerEvent(final String filename) {
doReturn(filename).when(this.watchEvent).context();
this.eventList.add(this.watchEvent);
@After
public final void tearDown() throws Exception {
- ((ConfigLoaderImpl) this.configLoader).close();
+ this.configLoader.close();
}
}
import org.junit.Before;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.NetworkInstances;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.network.instances.NetworkInstance;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.network.instances.network.instance.Protocols;
import org.opendaylight.yangtools.concepts.AbstractRegistration;
-import org.opendaylight.yangtools.yang.binding.util.BindingReflections;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
public class ConfigLoaderImplTest extends AbstractConfigLoader {
return ClassLoader.getSystemClassLoader().getResource("etc/opendaylight/bgpcep").getPath();
}
- @Override
- protected void registerModules(final ModuleInfoBackedContext moduleInfoBackedContext) throws Exception {
- moduleInfoBackedContext.registerModuleInfo(BindingReflections.getModuleInfo(NetworkInstances.class));
- }
-
@Test
public void configLoaderImplTest() throws Exception {
assertNotNull(ClassLoader.getSystemClassLoader().getResource("etc/opendaylight/bgpcep/protocols-config.xml"));
import org.junit.Test;
import org.opendaylight.bgpcep.config.loader.impl.AbstractConfigLoader;
-import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.NetworkInstances;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.network.instances.NetworkInstance;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.network.instances.network.instance.Protocols;
-import org.opendaylight.yangtools.yang.binding.util.BindingReflections;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
public class ProtocolsConfigFileProcessorTest extends AbstractConfigLoader {
- @Override
- protected void registerModules(final ModuleInfoBackedContext moduleInfoBackedContext) throws Exception {
- moduleInfoBackedContext.registerModuleInfo(BindingReflections.getModuleInfo(NetworkInstance.class));
- moduleInfoBackedContext.registerModuleInfo(BindingReflections.getModuleInfo(Protocols.class));
- }
-
@Test
public void configFileTest() throws Exception {
checkNotPresentConfiguration(getDataBroker(), BGP_PROTOCOLS_IID);
import org.junit.Test;
import org.opendaylight.bgpcep.config.loader.impl.AbstractConfigLoader;
import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
-import org.opendaylight.yangtools.yang.binding.util.BindingReflections;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
public class NetworkTopologyConfigFileProcessorTest extends AbstractConfigLoader {
- @Override
- protected void registerModules(final ModuleInfoBackedContext moduleInfoBackedContext) throws Exception {
- moduleInfoBackedContext.registerModuleInfo(BindingReflections.getModuleInfo(NetworkTopology.class));
- moduleInfoBackedContext.registerModuleInfo(BindingReflections.getModuleInfo(Topology.class));
- }
-
@Test
public void configFileTest() throws ReadFailedException, InterruptedException {
final KeyedInstanceIdentifier<Topology, TopologyKey> topologyIIdKeyed =