From: Tony Tkacik Date: Wed, 3 Dec 2014 10:28:00 +0000 (+0000) Subject: Merge "Refactor DOMDataBrokerImpl" X-Git-Tag: release/lithium~804 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=12f2638b091a56ffb61daa70f8f1511c77e655e1;hp=32715b020aca7945bc22476138f20ef7c78a3620 Merge "Refactor DOMDataBrokerImpl" --- diff --git a/opendaylight/commons/opendaylight/pom.xml b/opendaylight/commons/opendaylight/pom.xml index 1030be5699..8596412de8 100644 --- a/opendaylight/commons/opendaylight/pom.xml +++ b/opendaylight/commons/opendaylight/pom.xml @@ -208,7 +208,6 @@ 0.5.0-SNAPSHOT 0.5.0-SNAPSHOT 0.5.0-SNAPSHOT - src/main/xtend-gen 2013.09.07.7-SNAPSHOT 1.1.0-SNAPSHOT 0.7.0-SNAPSHOT @@ -227,6 +226,13 @@ pom import + + org.opendaylight.controller + mdsal-artifacts + ${mdsal.version} + pom + import + org.opendaylight.controller netconf-artifacts @@ -752,11 +758,6 @@ - - org.eclipse.xtend - org.eclipse.xtend.lib - ${xtend.version} - org.glassfish.jersey.test-framework.providers jersey-test-framework-provider-grizzly2 @@ -1057,155 +1058,6 @@ sal ${sal.version} - - org.opendaylight.controller - sal-binding-api - ${mdsal.version} - - - org.opendaylight.controller - sal-binding-broker-impl - ${mdsal.version} - - - org.opendaylight.controller - sal-binding-config - ${mdsal.version} - - - org.opendaylight.controller - sal-binding-util - ${mdsal.version} - - - org.opendaylight.controller - sal-broker-impl - ${mdsal.version} - - - org.opendaylight.controller - sal-common - ${mdsal.version} - - - org.opendaylight.controller - sal-common-api - ${mdsal.version} - - - org.opendaylight.controller - sal-common-impl - ${mdsal.version} - - - org.opendaylight.controller - sal-common-util - ${mdsal.version} - - - org.opendaylight.controller - sal-inmemory-datastore - ${mdsal.version} - - - org.opendaylight.controller - sal-compatibility - ${mdsal.version} - - - org.opendaylight.controller - sal-connector-api - ${mdsal.version} - - - org.opendaylight.controller - sal-dom-xsql - ${mdsal.version} - - - org.opendaylight.controller - sal-karaf-xsql - ${mdsal.version} - - - org.opendaylight.controller - sal-dom-xsql-config - ${mdsal.version} - config - xml - - - org.opendaylight.controller - sal-core-api - ${mdsal.version} - - - org.opendaylight.controller - sal-core-spi - ${mdsal.version} - - - org.opendaylight.controller - sal-netconf-connector - ${mdsal.version} - - - org.opendaylight.controller - sal-remote - ${mdsal.version} - - - org.opendaylight.controller - sal-rest-connector - ${mdsal.version} - - - org.opendaylight.controller - sal-rest-connector-config - ${mdsal.version} - - - org.opendaylight.controller - md-sal-config - ${mdsal.version} - - - org.opendaylight.controller - sal-rest-docgen - ${mdsal.version} - - - org.opendaylight.controller - sal-restconf-broker - ${mdsal.version} - - - org.opendaylight.controller - sal-test-model - ${mdsal.version} - - - org.opendaylight.controller - sal-distributed-datastore - ${mdsal.version} - - - org.opendaylight.controller - sal-clustering-commons - ${mdsal.version} - - - org.opendaylight.controller - sal-clustering-config - ${mdsal.version} - - - - org.opendaylight.controller - sal-remoterpc-connector - ${mdsal.version} - - @@ -1349,77 +1201,7 @@ web ${web.version} - - org.opendaylight.controller.md - forwardingrules-manager - ${mdsal.version} - - - org.opendaylight.controller.md - inventory-manager - ${mdsal.version} - - - org.opendaylight.controller.md - statistics-manager - ${mdsal.version} - - - org.opendaylight.controller.md - topology-lldp-discovery - ${mdsal.version} - - - org.opendaylight.controller.md - topology-manager - ${mdsal.version} - - - org.opendaylight.controller.model - model-flow-base - ${mdsal.version} - - - org.opendaylight.controller.model - model-flow-service - ${mdsal.version} - - - org.opendaylight.controller.model - model-flow-statistics - ${mdsal.version} - - - org.opendaylight.controller.model - model-inventory - ${mdsal.version} - - - org.opendaylight.controller.model - model-topology - ${mdsal.version} - - - org.opendaylight.controller.samples - sample-toaster - ${mdsal.version} - - - org.opendaylight.controller.samples - sample-toaster-consumer - ${mdsal.version} - - - org.opendaylight.controller.samples - sample-toaster-provider - ${mdsal.version} - - - org.opendaylight.controller.samples - toaster-config - ${mdsal.version} - org.opendaylight.yangtools features-test @@ -1434,22 +1216,6 @@ xml runtime - - org.opendaylight.controller.samples - features-toaster - ${mdsal.version} - features - xml - runtime - - - org.opendaylight.controller - features-flow - ${mdsal.version} - features - xml - runtime - org.opendaylight.controller.thirdparty com.sun.jersey.jersey-servlet @@ -1539,19 +1305,6 @@ 0.1.0-SNAPSHOT test - - org.opendaylight.controller - sal-binding-broker-impl - ${mdsal.version} - test-jar - test - - - org.opendaylight.controller - sal-binding-it - ${mdsal.version} - test - org.opendaylight.controller features-protocol-framework @@ -1585,21 +1338,14 @@ runtime - org.opendaylight.controller - features-mdsal - ${mdsal.version} - features - xml - runtime - - org.opendaylight.controller features-netconf-connector ${mdsal.version} features xml runtime - + + org.openjdk.jmh @@ -1637,12 +1383,6 @@ maven-clean-plugin - - ${xtend.dstdir} - - ** - - ${jmxGeneratorPath} @@ -1756,7 +1496,6 @@ src/main/yang ${jmxGeneratorPath} ${salGeneratorPath} - ${xtend.dstdir} @@ -1898,21 +1637,6 @@ - - org.eclipse.xtend - xtend-maven-plugin - ${xtend.version} - - - - compile - - - ${xtend.dstdir} - - - - org.jacoco jacoco-maven-plugin @@ -1973,7 +1697,7 @@ true ${project.basedir} **\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat - **\/target\/,**\/bin\/,**\/target-ide\/,**\/${jmxGeneratorPath}\/,**\/${salGeneratorPath}\/,**\/xtend-gen\/,**\/protobuff\/ + **\/target\/,**\/bin\/,**\/target-ide\/,**\/${jmxGeneratorPath}\/,**\/${salGeneratorPath}\/,**\/protobuff\/ diff --git a/opendaylight/commons/protocol-framework/src/test/java/org/opendaylight/controller/config/yang/protocol/framework/NeverReconnectStrategyModuleTest.java b/opendaylight/commons/protocol-framework/src/test/java/org/opendaylight/controller/config/yang/protocol/framework/NeverReconnectStrategyModuleTest.java index 1148c6bebe..77589ed81d 100644 --- a/opendaylight/commons/protocol-framework/src/test/java/org/opendaylight/controller/config/yang/protocol/framework/NeverReconnectStrategyModuleTest.java +++ b/opendaylight/commons/protocol-framework/src/test/java/org/opendaylight/controller/config/yang/protocol/framework/NeverReconnectStrategyModuleTest.java @@ -76,7 +76,7 @@ public class NeverReconnectStrategyModuleTest extends AbstractConfigTest { createInstance(); final ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction(); assertBeanCount(1, FACTORY_NAME); - final NeverReconnectStrategyFactoryModuleMXBean mxBean = transaction.newMBeanProxy( + final NeverReconnectStrategyFactoryModuleMXBean mxBean = transaction.newMXBeanProxy( transaction.lookupConfigBean(FACTORY_NAME, INSTANCE_NAME), NeverReconnectStrategyFactoryModuleMXBean.class); mxBean.setTimeout(200); final CommitStatus status = transaction.commit(); @@ -98,7 +98,7 @@ public class NeverReconnectStrategyModuleTest extends AbstractConfigTest { private static ObjectName createInstance(final ConfigTransactionJMXClient transaction, final Integer timeout) throws InstanceAlreadyExistsException { final ObjectName nameCreated = transaction.createModule(FACTORY_NAME, INSTANCE_NAME); - final NeverReconnectStrategyFactoryModuleMXBean mxBean = transaction.newMBeanProxy(nameCreated, + final NeverReconnectStrategyFactoryModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, NeverReconnectStrategyFactoryModuleMXBean.class); mxBean.setTimeout(timeout); mxBean.setExecutor(GlobalEventExecutorUtil.create(transaction)); diff --git a/opendaylight/commons/protocol-framework/src/test/java/org/opendaylight/controller/config/yang/protocol/framework/ReconnectImmediatelyStrategyModuleTest.java b/opendaylight/commons/protocol-framework/src/test/java/org/opendaylight/controller/config/yang/protocol/framework/ReconnectImmediatelyStrategyModuleTest.java index cfdf3bff28..7e3ed5b2de 100644 --- a/opendaylight/commons/protocol-framework/src/test/java/org/opendaylight/controller/config/yang/protocol/framework/ReconnectImmediatelyStrategyModuleTest.java +++ b/opendaylight/commons/protocol-framework/src/test/java/org/opendaylight/controller/config/yang/protocol/framework/ReconnectImmediatelyStrategyModuleTest.java @@ -75,7 +75,7 @@ public class ReconnectImmediatelyStrategyModuleTest extends AbstractConfigTest { createInstance(); final ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction(); assertBeanCount(1, FACTORY_NAME); - final ReconnectImmediatelyStrategyFactoryModuleMXBean mxBean = transaction.newMBeanProxy( + final ReconnectImmediatelyStrategyFactoryModuleMXBean mxBean = transaction.newMXBeanProxy( transaction.lookupConfigBean(FACTORY_NAME, INSTANCE_NAME), ReconnectImmediatelyStrategyFactoryModuleMXBean.class); mxBean.setReconnectTimeout(200); @@ -97,7 +97,7 @@ public class ReconnectImmediatelyStrategyModuleTest extends AbstractConfigTest { private static ObjectName createInstance(final ConfigTransactionJMXClient transaction, final Integer timeout) throws InstanceAlreadyExistsException { final ObjectName nameCreated = transaction.createModule(FACTORY_NAME, INSTANCE_NAME); - final ReconnectImmediatelyStrategyFactoryModuleMXBean mxBean = transaction.newMBeanProxy(nameCreated, + final ReconnectImmediatelyStrategyFactoryModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, ReconnectImmediatelyStrategyFactoryModuleMXBean.class); mxBean.setReconnectTimeout(timeout); mxBean.setReconnectExecutor(GlobalEventExecutorUtil.create(transaction)); diff --git a/opendaylight/commons/protocol-framework/src/test/java/org/opendaylight/controller/config/yang/protocol/framework/TimedReconnectStrategyModuleTest.java b/opendaylight/commons/protocol-framework/src/test/java/org/opendaylight/controller/config/yang/protocol/framework/TimedReconnectStrategyModuleTest.java index 1c068a98e7..ec8a9d6f29 100644 --- a/opendaylight/commons/protocol-framework/src/test/java/org/opendaylight/controller/config/yang/protocol/framework/TimedReconnectStrategyModuleTest.java +++ b/opendaylight/commons/protocol-framework/src/test/java/org/opendaylight/controller/config/yang/protocol/framework/TimedReconnectStrategyModuleTest.java @@ -117,7 +117,7 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest { createInstance(); final ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction(); assertBeanCount(1, FACTORY_NAME); - final TimedReconnectStrategyFactoryModuleMXBean mxBean = transaction.newMBeanProxy( + final TimedReconnectStrategyFactoryModuleMXBean mxBean = transaction.newMXBeanProxy( transaction.lookupConfigBean(FACTORY_NAME, INSTANCE_NAME), TimedReconnectStrategyFactoryModuleMXBean.class); assertEquals(mxBean.getMinSleep(), new Long(100)); mxBean.setMinSleep(200L); @@ -149,7 +149,7 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest { final Integer connectTime, final Long minSleep, final BigDecimal sleepFactor, final Long maxSleep, final Long maxAttempts, final Long deadline) throws InstanceAlreadyExistsException { final ObjectName nameCreated = transaction.createModule(FACTORY_NAME, instanceName); - final TimedReconnectStrategyFactoryModuleMXBean mxBean = transaction.newMBeanProxy(nameCreated, + final TimedReconnectStrategyFactoryModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, TimedReconnectStrategyFactoryModuleMXBean.class); mxBean.setConnectTime(connectTime); mxBean.setDeadline(deadline); diff --git a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/parallelapsp/test/DependentWiringTest.java b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/parallelapsp/test/DependentWiringTest.java index 598e6bffee..fd8c8d1df0 100644 --- a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/parallelapsp/test/DependentWiringTest.java +++ b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/parallelapsp/test/DependentWiringTest.java @@ -108,7 +108,7 @@ public class DependentWiringTest extends AbstractParallelAPSPTest { // test reported apsp number of threads TestingParallelAPSPConfigMXBean parallelAPSPRuntimeProxy = configRegistryClient - .newMBeanProxy(apspON, TestingParallelAPSPConfigMXBean.class); + .newMXBeanProxy(apspON, TestingParallelAPSPConfigMXBean.class); assertEquals( (Integer) TestingParallelAPSPImpl.MINIMAL_NUMBER_OF_THREADS, parallelAPSPRuntimeProxy.getMaxNumberOfThreads()); diff --git a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/scheduledthreadpool/test/TwoInterfacesExportTest.java b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/scheduledthreadpool/test/TwoInterfacesExportTest.java index fcefd06e4d..0e6a54fdc9 100644 --- a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/scheduledthreadpool/test/TwoInterfacesExportTest.java +++ b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/scheduledthreadpool/test/TwoInterfacesExportTest.java @@ -15,10 +15,11 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import javax.annotation.Nullable; -import javax.management.DynamicMBean; import javax.management.InstanceAlreadyExistsException; import javax.management.InstanceNotFoundException; +import javax.management.IntrospectionException; import javax.management.ObjectName; +import javax.management.ReflectionException; import org.junit.Test; import org.opendaylight.controller.config.api.ValidationException; import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; @@ -37,20 +38,17 @@ public class TwoInterfacesExportTest extends AbstractScheduledTest { private void assertExists(@Nullable final ConfigTransactionJMXClient transaction, final String moduleName, final String instanceName) - throws InstanceNotFoundException { + throws InstanceNotFoundException, IntrospectionException, ReflectionException { if (transaction != null) { transaction.lookupConfigBean(moduleName, instanceName); // make a dummy call - configRegistryClient.newMBeanProxy( - ObjectNameUtil.createTransactionModuleON( - transaction.getTransactionName(), moduleName, - instanceName), DynamicMBean.class).getMBeanInfo(); + platformMBeanServer.getMBeanInfo(ObjectNameUtil.createTransactionModuleON( + transaction.getTransactionName(), moduleName, instanceName)); } else { configRegistryClient.lookupConfigBean(moduleName, instanceName); // make a dummy call - configRegistryClient.newMBeanProxy( - ObjectNameUtil.createReadOnlyModuleON(moduleName, - instanceName), DynamicMBean.class).getMBeanInfo(); + platformMBeanServer.getMBeanInfo(ObjectNameUtil.createReadOnlyModuleON(moduleName, + instanceName)); } } @@ -173,7 +171,7 @@ public class TwoInterfacesExportTest extends AbstractScheduledTest { ObjectName apspName = transaction.createModule( TestingParallelAPSPModuleFactory.NAME, "apsp1"); - TestingParallelAPSPConfigMXBean apspProxy = transaction.newMBeanProxy( + TestingParallelAPSPConfigMXBean apspProxy = transaction.newMXBeanProxy( apspName, TestingParallelAPSPConfigMXBean.class); apspProxy.setThreadPool(scheduledName); apspProxy.setSomeParam("someParam"); @@ -190,7 +188,7 @@ public class TwoInterfacesExportTest extends AbstractScheduledTest { ObjectName apspName = transaction.createModule( TestingParallelAPSPModuleFactory.NAME, "apsp1"); - TestingParallelAPSPConfigMXBean apspProxy = transaction.newMBeanProxy( + TestingParallelAPSPConfigMXBean apspProxy = transaction.newMXBeanProxy( apspName, TestingParallelAPSPConfigMXBean.class); apspProxy.setThreadPool(ObjectNameUtil.createReadOnlyModuleON( TestingScheduledThreadPoolModuleFactory.NAME, scheduled1)); diff --git a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/threadpool/test/SimpleConfigurationTest.java b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/threadpool/test/SimpleConfigurationTest.java index 4ed10036f7..c20d3bfc04 100644 --- a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/threadpool/test/SimpleConfigurationTest.java +++ b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/threadpool/test/SimpleConfigurationTest.java @@ -212,11 +212,9 @@ public class SimpleConfigurationTest extends AbstractConfigTest { ObjectName fixed1name = firstCommit(); // 2, check that configuration was copied to platform - DynamicMBean dynamicMBean = configRegistryClient.newMBeanProxy( - ObjectNameUtil.withoutTransactionName(fixed1name), - DynamicMBean.class); - dynamicMBean.getMBeanInfo(); - assertEquals(numberOfThreads, dynamicMBean.getAttribute("ThreadCount")); + ObjectName on = ObjectNameUtil.withoutTransactionName(fixed1name); + platformMBeanServer.getMBeanInfo(on); + assertEquals(numberOfThreads, platformMBeanServer.getAttribute(on, "ThreadCount")); // 3, shutdown fixed1 in new transaction assertFalse(TestingFixedThreadPool.allExecutors.get(0).isShutdown()); @@ -249,10 +247,10 @@ public class SimpleConfigurationTest extends AbstractConfigTest { // dynamic config should be removed from platform try { - dynamicMBean.getMBeanInfo(); + platformMBeanServer.getMBeanInfo(on); fail(); } catch (Exception e) { - assertTrue(e.getCause() instanceof InstanceNotFoundException); + assertTrue(e instanceof InstanceNotFoundException); } } diff --git a/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/ContextSetterImpl.java b/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/ContextSetterImpl.java index 087648cae7..9abf6450c3 100644 --- a/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/ContextSetterImpl.java +++ b/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/ContextSetterImpl.java @@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory; public class ContextSetterImpl implements ContextSetter, Closeable { private final LogbackStatusListener statusListener; - private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(ContextSetterImpl.class); + private static final org.slf4j.Logger LOG = LoggerFactory.getLogger(ContextSetterImpl.class); public ContextSetterImpl(final LogbackRuntimeRegistrator rootRuntimeBeanRegistratorWrapper) { statusListener = new LogbackStatusListener(rootRuntimeBeanRegistratorWrapper); @@ -81,11 +81,11 @@ public class ContextSetterImpl implements ContextSetter, Closeable { Map> appendersMap = getAppenders(module, context); for (LoggerTO logger : module.getLoggerTO()) { - LOGGER.trace("Setting configuration for logger {}", logger.getLoggerName()); + LOG.trace("Setting configuration for logger {}", logger.getLoggerName()); final ch.qos.logback.classic.Logger logbackLogger = context.getLogger(logger.getLoggerName()); Optional>> appendersBefore = getAppendersBefore(loggersBefore, logbackLogger); - LOGGER.trace("Logger {}: Appenders registered before: {}", logger.getLoggerName(), + LOG.trace("Logger {}: Appenders registered before: {}", logger.getLoggerName(), appendersBefore.isPresent() ? appendersBefore.get() : "NO APPENDERS BEFORE"); logbackLogger.setLevel(Level.toLevel(logger.getLevel())); @@ -101,7 +101,7 @@ public class ContextSetterImpl implements ContextSetter, Closeable { for (String appenderName : logger.getAppenders()) { if (appendersMap.containsKey(appenderName)) { logbackLogger.addAppender(appendersMap.get(appenderName)); - LOGGER.trace("Logger {}: Adding new appender: {}", logger.getLoggerName(), appenderName); + LOG.trace("Logger {}: Adding new appender: {}", logger.getLoggerName(), appenderName); } else { throw new IllegalStateException("No appender " + appenderName + " found. This error should have been discovered by validation"); @@ -116,7 +116,7 @@ public class ContextSetterImpl implements ContextSetter, Closeable { for (Appender appenderBefore : appendersBefore.get()) { logbackLogger.detachAppender(appenderBefore); appenderBefore.stop(); - LOGGER.trace("Logger {}: Removing old appender: {}", logger.getLoggerName(), + LOG.trace("Logger {}: Removing old appender: {}", logger.getLoggerName(), appenderBefore.getName()); } loggersBefore.remove(logbackLogger); diff --git a/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackModule.java b/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackModule.java index adc69fe31e..0078120d8c 100644 --- a/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackModule.java +++ b/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackModule.java @@ -16,13 +16,11 @@ */ package org.opendaylight.controller.config.yang.logback.config; +import com.google.common.collect.Sets; import java.util.Set; - import org.opendaylight.controller.config.api.JmxAttribute; import org.opendaylight.controller.config.api.JmxAttributeValidationException; -import com.google.common.collect.Sets; - /** * */ diff --git a/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackStatusListener.java b/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackStatusListener.java index e8d161afbb..8111136cfc 100644 --- a/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackStatusListener.java +++ b/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackStatusListener.java @@ -17,19 +17,17 @@ */ package org.opendaylight.controller.config.yang.logback.config; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.core.status.StatusBase; +import ch.qos.logback.core.status.StatusListener; +import ch.qos.logback.core.status.StatusManager; import java.io.Closeable; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; - import org.slf4j.LoggerFactory; -import ch.qos.logback.classic.LoggerContext; -import ch.qos.logback.core.status.StatusBase; -import ch.qos.logback.core.status.StatusListener; -import ch.qos.logback.core.status.StatusManager; - public class LogbackStatusListener implements StatusListener, LogbackRuntimeMXBean, Closeable { private final List receivedStatuses; diff --git a/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/ContextSetterImplTest.java b/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/ContextSetterImplTest.java index 4ba4a02920..82bc586486 100644 --- a/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/ContextSetterImplTest.java +++ b/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/ContextSetterImplTest.java @@ -13,10 +13,15 @@ import static org.mockito.Matchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.Appender; +import com.google.common.collect.HashMultimap; +import com.google.common.collect.Lists; +import com.google.common.collect.Multimap; import java.util.Collection; import java.util.Iterator; import java.util.List; - import org.junit.Before; import org.junit.Test; import org.mockito.Mock; @@ -25,14 +30,6 @@ import org.opendaylight.controller.config.api.DependencyResolver; import org.opendaylight.controller.config.api.ModuleIdentifier; import org.slf4j.LoggerFactory; -import ch.qos.logback.classic.LoggerContext; -import ch.qos.logback.classic.spi.ILoggingEvent; -import ch.qos.logback.core.Appender; - -import com.google.common.collect.HashMultimap; -import com.google.common.collect.Lists; -import com.google.common.collect.Multimap; - public class ContextSetterImplTest { @Mock @@ -154,4 +151,5 @@ public class ContextSetterImplTest { a.setEncoderPattern("%-4relative [%thread] %-5level %logger{35} - %msg%n"); return a; } + } diff --git a/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleTest.java b/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleTest.java index 9e07cc68cb..d190f04e61 100644 --- a/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleTest.java +++ b/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleTest.java @@ -148,7 +148,7 @@ public class LogbackModuleTest extends AbstractConfigTest { try { createBeans( - true, "target/rollingApp", "", "30MB", 1, 5, "target/%i.log", "rolling", "consoleName", "ALL", "logger1", + true, "target/rollingApp", "", "30MB", 1, 5, "target/%i.log", "rolling", "consoleName", "ALL", "logger1", "DEBUG", "FixedWindowRollingPolicy", 0, "FileAppender").commit(); fail(); } catch (ValidationException e) { diff --git a/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleWithInitialConfigurationTest.java b/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleWithInitialConfigurationTest.java index 37bfb6d957..999d8346e6 100644 --- a/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleWithInitialConfigurationTest.java +++ b/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleWithInitialConfigurationTest.java @@ -7,6 +7,8 @@ */ package org.opendaylight.controller.config.yang.logback.config; +import static org.junit.Assert.assertEquals; + import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.encoder.PatternLayoutEncoder; import ch.qos.logback.classic.joran.JoranConfigurator; @@ -15,6 +17,17 @@ import ch.qos.logback.core.joran.spi.JoranException; import ch.qos.logback.core.rolling.FixedWindowRollingPolicy; import ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy; import com.google.common.collect.Lists; +import java.io.File; +import java.io.IOException; +import java.lang.management.ManagementFactory; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.management.InstanceAlreadyExistsException; +import javax.management.InstanceNotFoundException; +import javax.management.JMX; +import javax.management.MalformedObjectNameException; +import javax.management.ObjectName; import org.apache.commons.io.FileUtils; import org.junit.Before; import org.junit.Test; @@ -27,20 +40,6 @@ import org.opendaylight.controller.config.util.ConfigTransactionClient; import org.opendaylight.controller.config.util.ConfigTransactionJMXClient; import org.slf4j.LoggerFactory; -import javax.management.InstanceAlreadyExistsException; -import javax.management.InstanceNotFoundException; -import javax.management.JMX; -import javax.management.MalformedObjectNameException; -import javax.management.ObjectName; -import java.io.File; -import java.io.IOException; -import java.lang.management.ManagementFactory; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import static org.junit.Assert.assertEquals; - public class LogbackModuleWithInitialConfigurationTest extends AbstractConfigTest { private LogbackModuleFactory factory; diff --git a/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackWithXmlConfigModuleTest.java b/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackWithXmlConfigModuleTest.java index 3c21e57f6e..9fcd38976e 100644 --- a/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackWithXmlConfigModuleTest.java +++ b/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackWithXmlConfigModuleTest.java @@ -7,10 +7,21 @@ */ package org.opendaylight.controller.config.yang.logback.config; +import static org.junit.Assert.assertEquals; + import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.joran.JoranConfigurator; import ch.qos.logback.core.joran.spi.JoranException; import com.google.common.collect.Lists; +import java.io.File; +import java.io.IOException; +import java.lang.management.ManagementFactory; +import java.util.List; +import javax.management.InstanceAlreadyExistsException; +import javax.management.InstanceNotFoundException; +import javax.management.JMX; +import javax.management.MalformedObjectNameException; +import javax.management.ObjectName; import org.apache.commons.io.FileUtils; import org.junit.Before; import org.junit.Test; @@ -21,18 +32,6 @@ import org.opendaylight.controller.config.manager.impl.factoriesresolver.Hardcod import org.opendaylight.controller.config.util.ConfigTransactionJMXClient; import org.slf4j.LoggerFactory; -import javax.management.InstanceAlreadyExistsException; -import javax.management.InstanceNotFoundException; -import javax.management.JMX; -import javax.management.MalformedObjectNameException; -import javax.management.ObjectName; -import java.io.File; -import java.io.IOException; -import java.lang.management.ManagementFactory; -import java.util.List; - -import static org.junit.Assert.assertEquals; - public class LogbackWithXmlConfigModuleTest extends AbstractConfigTest { private LogbackModuleFactory factory; diff --git a/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/AutoCloseableEventExecutor.java b/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/AutoCloseableEventExecutor.java index 69ea51f3a5..d3f43da4bf 100644 --- a/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/AutoCloseableEventExecutor.java +++ b/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/AutoCloseableEventExecutor.java @@ -10,7 +10,6 @@ package org.opendaylight.controller.config.yang.netty.eventexecutor; import com.google.common.reflect.AbstractInvocationHandler; import com.google.common.reflect.Reflection; import io.netty.util.concurrent.EventExecutor; - import java.lang.reflect.Method; import java.util.concurrent.TimeUnit; diff --git a/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/GlobalEventExecutorModuleFactory.java b/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/GlobalEventExecutorModuleFactory.java index 1585bbf6de..1ca57c637f 100644 --- a/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/GlobalEventExecutorModuleFactory.java +++ b/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/GlobalEventExecutorModuleFactory.java @@ -17,11 +17,11 @@ */ package org.opendaylight.controller.config.yang.netty.eventexecutor; +import static com.google.common.base.Preconditions.checkArgument; + import org.opendaylight.controller.config.api.DependencyResolver; import org.osgi.framework.BundleContext; -import static com.google.common.base.Preconditions.checkArgument; - public class GlobalEventExecutorModuleFactory extends org.opendaylight.controller.config.yang.netty.eventexecutor.AbstractGlobalEventExecutorModuleFactory { public static final String SINGLETON_NAME = "singleton"; diff --git a/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/ImmediateEventExecutorModuleFactory.java b/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/ImmediateEventExecutorModuleFactory.java index b3ec67bbf5..2a804eb40e 100644 --- a/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/ImmediateEventExecutorModuleFactory.java +++ b/opendaylight/config/netty-event-executor-config/src/main/java/org/opendaylight/controller/config/yang/netty/eventexecutor/ImmediateEventExecutorModuleFactory.java @@ -7,11 +7,11 @@ */ package org.opendaylight.controller.config.yang.netty.eventexecutor; +import static com.google.common.base.Preconditions.checkArgument; + import org.opendaylight.controller.config.api.DependencyResolver; import org.osgi.framework.BundleContext; -import static com.google.common.base.Preconditions.checkArgument; - public class ImmediateEventExecutorModuleFactory extends org.opendaylight.controller.config.yang.netty.eventexecutor.AbstractImmediateEventExecutorModuleFactory { public static final String SINGLETON_NAME = "singleton"; diff --git a/opendaylight/config/netty-event-executor-config/src/test/java/org/opendaylight/controller/config/yang/netty/eventexecutor/GlobalEventExecutorModuleTest.java b/opendaylight/config/netty-event-executor-config/src/test/java/org/opendaylight/controller/config/yang/netty/eventexecutor/GlobalEventExecutorModuleTest.java index e89d82a28f..8fe3d7c24c 100644 --- a/opendaylight/config/netty-event-executor-config/src/test/java/org/opendaylight/controller/config/yang/netty/eventexecutor/GlobalEventExecutorModuleTest.java +++ b/opendaylight/config/netty-event-executor-config/src/test/java/org/opendaylight/controller/config/yang/netty/eventexecutor/GlobalEventExecutorModuleTest.java @@ -8,6 +8,11 @@ package org.opendaylight.controller.config.yang.netty.eventexecutor; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import javax.management.InstanceAlreadyExistsException; +import javax.management.ObjectName; import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.config.api.ConflictingVersionException; @@ -17,12 +22,6 @@ import org.opendaylight.controller.config.manager.impl.AbstractConfigTest; import org.opendaylight.controller.config.manager.impl.factoriesresolver.HardcodedModuleFactoriesResolver; import org.opendaylight.controller.config.util.ConfigTransactionJMXClient; -import javax.management.InstanceAlreadyExistsException; -import javax.management.ObjectName; - -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - public class GlobalEventExecutorModuleTest extends AbstractConfigTest { private GlobalEventExecutorModuleFactory factory; @@ -79,7 +78,7 @@ public class GlobalEventExecutorModuleTest extends AbstractConfigTest { private ObjectName createInstance(ConfigTransactionJMXClient transaction, String instanceName) throws InstanceAlreadyExistsException { ObjectName nameCreated = transaction.createModule(factory.getImplementationName(), instanceName); - transaction.newMBeanProxy(nameCreated, GlobalEventExecutorModuleMXBean.class); + transaction.newMXBeanProxy(nameCreated, GlobalEventExecutorModuleMXBean.class); return nameCreated; } diff --git a/opendaylight/config/netty-event-executor-config/src/test/java/org/opendaylight/controller/config/yang/netty/eventexecutor/ImmediateEventExecutorModuleTest.java b/opendaylight/config/netty-event-executor-config/src/test/java/org/opendaylight/controller/config/yang/netty/eventexecutor/ImmediateEventExecutorModuleTest.java index 54c87604a4..d280bcac58 100644 --- a/opendaylight/config/netty-event-executor-config/src/test/java/org/opendaylight/controller/config/yang/netty/eventexecutor/ImmediateEventExecutorModuleTest.java +++ b/opendaylight/config/netty-event-executor-config/src/test/java/org/opendaylight/controller/config/yang/netty/eventexecutor/ImmediateEventExecutorModuleTest.java @@ -64,7 +64,7 @@ public class ImmediateEventExecutorModuleTest extends AbstractConfigTest { private ObjectName createInstance(ConfigTransactionJMXClient transaction, String instanceName) throws InstanceAlreadyExistsException { ObjectName nameCreated = transaction.createModule(factory.getImplementationName(), instanceName); - transaction.newMBeanProxy(nameCreated, ImmediateEventExecutorModuleMXBean.class); + transaction.newMXBeanProxy(nameCreated, ImmediateEventExecutorModuleMXBean.class); return nameCreated; } diff --git a/opendaylight/config/netty-threadgroup-config/src/main/java/org/opendaylight/controller/config/yang/netty/threadgroup/NettyThreadgroupModule.java b/opendaylight/config/netty-threadgroup-config/src/main/java/org/opendaylight/controller/config/yang/netty/threadgroup/NettyThreadgroupModule.java index 06c9ae885d..c5b726cd3c 100644 --- a/opendaylight/config/netty-threadgroup-config/src/main/java/org/opendaylight/controller/config/yang/netty/threadgroup/NettyThreadgroupModule.java +++ b/opendaylight/config/netty-threadgroup-config/src/main/java/org/opendaylight/controller/config/yang/netty/threadgroup/NettyThreadgroupModule.java @@ -18,10 +18,8 @@ package org.opendaylight.controller.config.yang.netty.threadgroup; import io.netty.channel.nio.NioEventLoopGroup; - -import org.opendaylight.controller.config.api.JmxAttributeValidationException; - import java.util.concurrent.TimeUnit; +import org.opendaylight.controller.config.api.JmxAttributeValidationException; /** * diff --git a/opendaylight/config/netty-threadgroup-config/src/test/java/org/opendaylight/controller/config/yang/netty/threadgroup/NettyThreadgroupModuleTest.java b/opendaylight/config/netty-threadgroup-config/src/test/java/org/opendaylight/controller/config/yang/netty/threadgroup/NettyThreadgroupModuleTest.java index 76134b025c..ceefcda6de 100644 --- a/opendaylight/config/netty-threadgroup-config/src/test/java/org/opendaylight/controller/config/yang/netty/threadgroup/NettyThreadgroupModuleTest.java +++ b/opendaylight/config/netty-threadgroup-config/src/test/java/org/opendaylight/controller/config/yang/netty/threadgroup/NettyThreadgroupModuleTest.java @@ -7,6 +7,9 @@ */ package org.opendaylight.controller.config.yang.netty.threadgroup; +import javax.management.InstanceAlreadyExistsException; +import javax.management.InstanceNotFoundException; +import javax.management.ObjectName; import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.config.api.ConflictingVersionException; @@ -16,10 +19,6 @@ import org.opendaylight.controller.config.manager.impl.AbstractConfigTest; import org.opendaylight.controller.config.manager.impl.factoriesresolver.HardcodedModuleFactoriesResolver; import org.opendaylight.controller.config.util.ConfigTransactionJMXClient; -import javax.management.InstanceAlreadyExistsException; -import javax.management.InstanceNotFoundException; -import javax.management.ObjectName; - public class NettyThreadgroupModuleTest extends AbstractConfigTest { private NettyThreadgroupModuleFactory factory; diff --git a/opendaylight/config/pom.xml b/opendaylight/config/pom.xml index ad2607a8db..fc447aa7f9 100644 --- a/opendaylight/config/pom.xml +++ b/opendaylight/config/pom.xml @@ -151,7 +151,10 @@ true ${project.basedir} **\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat,**\/*.yang - **\/target\/,**\/bin\/,**\/target-ide\/,**\/${jmxGeneratorPath}\/,**\/${salGeneratorPath}\/ + + **\/logback-config\/,**\/target\/,**\/bin\/,**\/target-ide\/,**\/${jmxGeneratorPath}\/,**\/${salGeneratorPath}\/ diff --git a/opendaylight/md-sal/mdsal-artifacts/pom.xml b/opendaylight/md-sal/mdsal-artifacts/pom.xml new file mode 100644 index 0000000000..c765aa87a8 --- /dev/null +++ b/opendaylight/md-sal/mdsal-artifacts/pom.xml @@ -0,0 +1,302 @@ + + + + + + 4.0.0 + org.opendaylight.controller + mdsal-artifacts + 1.2.0-SNAPSHOT + pom + + + + + + ${project.groupId} + sal-common + ${project.version} + + + ${project.groupId} + sal-common-api + ${project.version} + + + ${project.groupId} + sal-common-impl + ${project.version} + + + ${project.groupId} + sal-common-util + ${project.version} + + + ${project.groupId} + sal-core-api + ${project.version} + + + ${project.groupId} + sal-core-spi + ${project.version} + + + ${project.groupId} + sal-broker-impl + ${project.version} + + + ${project.groupId} + sal-binding-api + ${project.version} + + + ${project.groupId} + sal-binding-broker-impl + ${project.version} + + + ${project.groupId} + sal-binding-config + ${project.version} + + + ${project.groupId} + sal-binding-util + ${project.version} + + + ${project.groupId} + sal-connector-api + ${project.version} + + + ${project.groupId} + sal-inmemory-datastore + ${project.version} + + + ${project.groupId} + md-sal-config + ${project.version} + + + + + ${project.groupId} + sal-test-model + ${project.version} + test + + + ${project.groupId} + sal-binding-it + ${project.version} + test + + + ${project.groupId} + sal-binding-broker-impl + ${project.version} + test-jar + test + + + + + ${project.groupId} + features-mdsal + ${project.version} + features + xml + runtime + + + + + ${project.groupId} + sal-netconf-connector + ${project.version} + + + + + + + ${project.groupId} + sal-compatibility + ${project.version} + + + + + org.opendaylight.controller.model + model-inventory + ${project.version} + + + org.opendaylight.controller.model + model-topology + ${project.version} + + + + + ${project.groupId} + sal-clustering-commons + ${project.version} + + + ${project.groupId} + sal-clustering-config + ${project.version} + + + ${project.groupId} + sal-distributed-datastore + ${project.version} + + + ${project.groupId} + sal-remoterpc-connector + ${project.version} + + + + + org.opendaylight.controller.md + forwardingrules-manager + ${project.version} + + + org.opendaylight.controller.md + inventory-manager + ${project.version} + + + org.opendaylight.controller.md + statistics-manager + ${project.version} + + + org.opendaylight.controller.md + topology-lldp-discovery + ${project.version} + + + org.opendaylight.controller.md + topology-manager + ${project.version} + + + org.opendaylight.controller.model + model-flow-base + ${project.version} + + + org.opendaylight.controller.model + model-flow-service + ${project.version} + + + org.opendaylight.controller.model + model-flow-statistics + ${project.version} + + + org.opendaylight.controller + features-flow + ${project.version} + features + xml + runtime + + + + + ${project.groupId} + sal-remote + ${project.version} + + + org.opendaylight.controller + sal-rest-connector + ${project.version} + + + org.opendaylight.controller + sal-rest-connector-config + ${project.version} + + + org.opendaylight.controller + sal-restconf-broker + ${project.version} + + + org.opendaylight.controller + sal-rest-docgen + ${project.version} + + + + + org.opendaylight.controller.samples + sample-toaster + ${project.version} + + + org.opendaylight.controller.samples + sample-toaster-consumer + ${project.version} + + + org.opendaylight.controller.samples + sample-toaster-provider + ${project.version} + + + org.opendaylight.controller.samples + toaster-config + ${project.version} + + + org.opendaylight.controller.samples + features-toaster + ${project.version} + features + xml + runtime + + + + + ${project.groupId} + sal-dom-xsql + ${project.version} + + + ${project.groupId} + sal-karaf-xsql + ${project.version} + + + ${project.groupId} + sal-dom-xsql-config + ${project.version} + config + xml + + + + + + diff --git a/opendaylight/md-sal/pom.xml b/opendaylight/md-sal/pom.xml index d21f16c478..6c87899eea 100644 --- a/opendaylight/md-sal/pom.xml +++ b/opendaylight/md-sal/pom.xml @@ -14,6 +14,8 @@ pom + mdsal-artifacts + sal-common sal-common-api @@ -159,11 +161,6 @@ - - org.eclipse.xtend - xtend-maven-plugin - ${xtend.version} - org.jacoco jacoco-maven-plugin diff --git a/opendaylight/md-sal/sal-binding-broker/pom.xml b/opendaylight/md-sal/sal-binding-broker/pom.xml index ade3e1b8f6..9346e223df 100644 --- a/opendaylight/md-sal/sal-binding-broker/pom.xml +++ b/opendaylight/md-sal/sal-binding-broker/pom.xml @@ -14,10 +14,6 @@ com.google.guava guava - - org.eclipse.xtend - org.eclipse.xtend.lib - org.javassist javassist @@ -161,10 +157,6 @@ - - org.eclipse.xtend - xtend-maven-plugin - org.jacoco jacoco-maven-plugin diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/DefaultRuntimeCodeGenerator.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/DefaultRuntimeCodeGenerator.java new file mode 100644 index 0000000000..dfa164b485 --- /dev/null +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/DefaultRuntimeCodeGenerator.java @@ -0,0 +1,286 @@ +/* + * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.sal.binding.codegen.impl; + +import com.google.common.base.Supplier; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSet.Builder; +import java.lang.reflect.Method; +import java.util.Map; +import javassist.CannotCompileException; +import javassist.ClassPool; +import javassist.CtClass; +import javassist.CtMethod; +import javassist.NotFoundException; +import org.opendaylight.controller.sal.binding.codegen.RuntimeCodeSpecification; +import org.opendaylight.yangtools.sal.binding.generator.util.ClassGenerator; +import org.opendaylight.yangtools.sal.binding.generator.util.MethodGenerator; +import org.opendaylight.yangtools.util.ClassLoaderUtils; +import org.opendaylight.yangtools.yang.binding.BaseIdentity; +import org.opendaylight.yangtools.yang.binding.Notification; +import org.opendaylight.yangtools.yang.binding.NotificationListener; +import org.opendaylight.yangtools.yang.binding.RpcImplementation; +import org.opendaylight.yangtools.yang.binding.RpcService; +import org.opendaylight.yangtools.yang.binding.util.BindingReflections; + +final class DefaultRuntimeCodeGenerator extends AbstractRuntimeCodeGenerator { + + DefaultRuntimeCodeGenerator(final ClassPool pool) { + super(pool); + } + + @Override + protected Supplier directProxySupplier(final Class serviceType) { + return new Supplier() { + @SuppressWarnings("unchecked") + @Override + public T get() { + final String proxyName = RuntimeCodeSpecification.getDirectProxyName(serviceType); + + final Class potentialClass = ClassLoaderUtils.tryToLoadClassWithTCCL(proxyName); + if (potentialClass != null) { + try { + return (T)potentialClass.newInstance(); + } catch (InstantiationException | IllegalAccessException e) { + throw new IllegalStateException("Failed to instantiate class " + potentialClass.getName(), e); + } + } + + final CtClass supertype = utils.asCtClass(serviceType); + final String directProxyName = RuntimeCodeSpecification.getDirectProxyName(serviceType); + + final CtClass createdCls; + try { + createdCls = utils.createClass(directProxyName, supertype, new ClassGenerator() { + @Override + public void process(final CtClass cls) throws CannotCompileException { + utils.field(cls, RuntimeCodeSpecification.DELEGATE_FIELD, serviceType); + utils.implementsType(cls, utils.asCtClass(RpcImplementation.class)); + utils.implementMethodsFrom(cls, supertype, new MethodGenerator() { + @Override + public void process(final CtMethod method) throws CannotCompileException { + final StringBuilder sb = new StringBuilder("\n"); + sb.append("{\n"); + sb.append(" if (").append(RuntimeCodeSpecification.DELEGATE_FIELD).append(" == null) {\n"); + sb.append(" throw new java.lang.IllegalStateException(\"No default provider is available\");\n"); + sb.append(" }\n"); + sb.append(" return ($r) ").append(RuntimeCodeSpecification.DELEGATE_FIELD).append('.').append(method.getName()).append("($$);\n"); + sb.append("}\n"); + method.setBody(sb.toString()); + } + }); + + // FIXME: copy this one... + utils.implementMethodsFrom(cls, utils.asCtClass(RpcImplementation.class), new MethodGenerator() { + @Override + public void process(final CtMethod method) throws CannotCompileException { + final StringBuilder sb = new StringBuilder("\n"); + sb.append("{\n"); + sb.append(" throw new java.lang.IllegalStateException(\"No provider is processing supplied message\");\n"); + sb.append(" return ($r) null;\n"); + sb.append("}\n"); + method.setBody(sb.toString()); + } + }); + } + }); + } catch (CannotCompileException e) { + throw new IllegalStateException("Failed to create class " + directProxyName, e); + } + + final Class c; + try { + c = createdCls.toClass(serviceType.getClassLoader(), serviceType.getProtectionDomain()); + } catch (CannotCompileException e) { + throw new IllegalStateException(String.format("Failed to create class %s", createdCls), e); + } + + try { + return (T) c.newInstance(); + } catch (InstantiationException | IllegalAccessException e) { + throw new IllegalStateException(String.format("Failed to instantiated class %s", c), e); + } + } + }; + } + + @Override + protected Supplier routerSupplier(final Class serviceType, final RpcServiceMetadata metadata) { + return new Supplier() { + @SuppressWarnings("unchecked") + @Override + public T get() { + final CtClass supertype = utils.asCtClass(serviceType); + final String routerName = RuntimeCodeSpecification.getRouterName(serviceType); + final Class potentialClass = ClassLoaderUtils.tryToLoadClassWithTCCL(routerName); + if (potentialClass != null) { + try { + return (T)potentialClass.newInstance(); + } catch (InstantiationException | IllegalAccessException e) { + throw new IllegalStateException("Failed to instantiate class", e); + } + } + + final CtClass targetCls; + try { + targetCls = utils.createClass(routerName, supertype, new ClassGenerator() { + @Override + public void process(final CtClass cls) throws CannotCompileException { + utils.field(cls, RuntimeCodeSpecification.DELEGATE_FIELD, serviceType); + //utils.field(cls, REMOTE_INVOKER_FIELD,iface); + utils.implementsType(cls, utils.asCtClass(RpcImplementation.class)); + + for (final Class ctx : metadata.getContexts()) { + utils.field(cls, RuntimeCodeSpecification.getRoutingTableField(ctx), Map.class); + } + + utils.implementMethodsFrom(cls, supertype, new MethodGenerator() { + @Override + public void process(final CtMethod method) throws CannotCompileException { + final int ptl; + try { + ptl = method.getParameterTypes().length; + } catch (NotFoundException e) { + throw new CannotCompileException(e); + } + final StringBuilder sb = new StringBuilder(); + + switch (ptl) { + case 0: + sb.append("return ($r) ").append(RuntimeCodeSpecification.DELEGATE_FIELD).append('.').append(method.getName()).append("($$);"); + break; + case 1: + final RpcMetadata rpcMeta = metadata.getRpcMethod(method.getName()); + final String rtGetter = rpcMeta.getInputRouteGetter().getName(); + final String stName = supertype.getName(); + + sb.append('\n'); + sb.append("{\n"); + sb.append(" if ($1 == null) {\n"); + sb.append(" throw new IllegalArgumentException(\"RPC input must not be null and must contain a value for field ").append(rtGetter).append("\");\n"); + sb.append(" }\n"); + sb.append(" if ($1.").append(rtGetter).append("() == null) {\n"); + sb.append(" throw new IllegalArgumentException(\"Field ").append(rtGetter).append(" must not be null\");\n"); + sb.append(" }\n"); + + sb.append(" final org.opendaylight.yangtools.yang.binding.InstanceIdentifier identifier = $1.").append(rtGetter).append("()"); + if (rpcMeta.isRouteEncapsulated()) { + sb.append(".getValue()"); + } + sb.append(";\n"); + + sb.append(" ").append(supertype.getName()).append(" instance = (").append(stName).append(") ").append(RuntimeCodeSpecification.getRoutingTableField(rpcMeta.getContext())).append(".get(identifier);\n"); + sb.append(" if (instance == null) {\n"); + sb.append(" instance = ").append(RuntimeCodeSpecification.DELEGATE_FIELD).append(";\n"); + sb.append(" }\n"); + + sb.append(" if (instance == null) {\n"); + sb.append(" throw new java.lang.IllegalStateException(\"No routable provider is processing routed message for \" + String.valueOf(identifier));\n"); + sb.append(" }\n"); + sb.append(" return ($r) instance.").append(method.getName()).append("($$);\n"); + sb.append('}'); + break; + default: + throw new CannotCompileException(String.format("Unsupported parameters length %s", ptl)); + } + + method.setBody(sb.toString()); + } + }); + + // FIXME: move this into a template class + utils.implementMethodsFrom(cls, utils.asCtClass(RpcImplementation.class), new MethodGenerator() { + @Override + public void process(final CtMethod method) throws CannotCompileException { + final StringBuilder sb = new StringBuilder("\n"); + sb.append("{\n"); + sb.append(" throw new java.lang.IllegalStateException(\"No provider is processing supplied message\");\n"); + sb.append(" return ($r) null;\n"); + sb.append("}\n"); + + method.setBody(sb.toString()); + } + }); + } + }); + } catch (CannotCompileException e) { + throw new IllegalStateException("Failed to create class " + routerName, e); + } + + final Class c; + try { + c = targetCls.toClass(serviceType.getClassLoader(), serviceType.getProtectionDomain()); + } catch (CannotCompileException e) { + throw new IllegalStateException(String.format("Failed to compile class %s", targetCls), e); + } + + try { + return (T)c.newInstance(); + } catch (InstantiationException | IllegalAccessException e) { + throw new IllegalStateException(String.format("Failed to instantiate class %s", c), e); + } + } + }; + } + + @SuppressWarnings("unchecked") + @Override + protected RuntimeGeneratedInvokerPrototype generateListenerInvoker(final Class listenerType) { + final String invokerName = RuntimeCodeSpecification.getInvokerName(listenerType); + final CtClass targetCls; + + // Builder for a set of supported types. Filled while the target class is being generated + final Builder> b = ImmutableSet.builder(); + + try { + targetCls = utils.createClass(invokerName, getBrokerNotificationListener(), new ClassGenerator() { + @Override + public void process(final CtClass cls) throws CannotCompileException { + utils.field(cls, RuntimeCodeSpecification.DELEGATE_FIELD, listenerType); + utils.implementMethodsFrom(cls, getBrokerNotificationListener(), new MethodGenerator() { + @Override + public void process(final CtMethod method) throws CannotCompileException { + final StringBuilder sb = new StringBuilder("\n"); + + sb.append("{\n"); + + for (Method m : listenerType.getMethods()) { + if (BindingReflections.isNotificationCallback(m)) { + final Class argType = m.getParameterTypes()[0]; + + // populates builder above + b.add((Class) argType); + + sb.append(" if ($1 instanceof ").append(argType.getName()).append(") {\n"); + sb.append(" ").append(RuntimeCodeSpecification.DELEGATE_FIELD).append('.').append(m.getName()).append("((").append(argType.getName()).append(") $1);\n"); + sb.append(" return null;\n"); + sb.append(" } else "); + } + } + + sb.append(" return null;\n"); + sb.append("}\n"); + method.setBody(sb.toString()); + } + }); + } + }); + } catch (CannotCompileException e) { + throw new IllegalStateException("Failed to create class " + invokerName, e); + } + + final Class finalClass; + try { + finalClass = targetCls.toClass(listenerType.getClassLoader(), listenerType.getProtectionDomain()); + } catch (CannotCompileException e) { + throw new IllegalStateException(String.format("Failed to compile class %s", targetCls), e); + } + + return new RuntimeGeneratedInvokerPrototype(b.build(), (Class>) finalClass); + } +} diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/RuntimeCodeGenerator.xtend b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/RuntimeCodeGenerator.xtend deleted file mode 100644 index 834eb4f5fb..0000000000 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/RuntimeCodeGenerator.xtend +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.controller.sal.binding.codegen.impl - -import java.util.Map -import javassist.ClassPool -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier -import org.opendaylight.yangtools.yang.binding.Notification -import org.opendaylight.yangtools.yang.binding.RpcImplementation -import org.opendaylight.yangtools.yang.binding.util.BindingReflections -import org.opendaylight.yangtools.yang.binding.util.ClassLoaderUtils - -import static extension org.opendaylight.controller.sal.binding.codegen.RuntimeCodeSpecification.* -import org.opendaylight.yangtools.yang.binding.RpcService - -class RuntimeCodeGenerator extends AbstractRuntimeCodeGenerator { - - new(ClassPool pool) { - super(pool) - } - - override directProxySupplier(Class iface) { - return [| - val proxyName = iface.directProxyName; - val potentialClass = ClassLoaderUtils.tryToLoadClassWithTCCL(proxyName) - if(potentialClass != null) { - return potentialClass.newInstance as RpcService; - } - val supertype = iface.asCtClass - val createdCls = createClass(iface.directProxyName, supertype) [ - field(DELEGATE_FIELD, iface); - implementsType(RpcImplementation.asCtClass) - implementMethodsFrom(supertype) [ - body = ''' - { - if(«DELEGATE_FIELD» == null) { - throw new java.lang.IllegalStateException("No default provider is available"); - } - return ($r) «DELEGATE_FIELD».«it.name»($$); - } - ''' - ] - implementMethodsFrom(RpcImplementation.asCtClass) [ - body = ''' - { - throw new java.lang.IllegalStateException("No provider is processing supplied message"); - return ($r) null; - } - ''' - ] - ] - return createdCls.toClass(iface.classLoader).newInstance as RpcService - ] - } - - override routerSupplier(Class iface, RpcServiceMetadata metadata) { - return [ | - val supertype = iface.asCtClass - val routerName = iface.routerName; - val potentialClass = ClassLoaderUtils.tryToLoadClassWithTCCL(routerName) - if(potentialClass != null) { - return potentialClass.newInstance as RpcService; - } - - val targetCls = createClass(iface.routerName, supertype) [ - - - field(DELEGATE_FIELD, iface) - //field(REMOTE_INVOKER_FIELD,iface); - implementsType(RpcImplementation.asCtClass) - - for (ctx : metadata.contexts) { - field(ctx.routingTableField, Map) - } - implementMethodsFrom(supertype) [ - if (parameterTypes.size === 1) { - val rpcMeta = metadata.getRpcMethod(name); - val bodyTmp = ''' - { - if($1 == null) { - throw new IllegalArgumentException("RPC input must not be null and must contain a value for field «rpcMeta.inputRouteGetter.name»"); - } - if($1.«rpcMeta.inputRouteGetter.name»() == null) { - throw new IllegalArgumentException("Field «rpcMeta.inputRouteGetter.name» must not be null"); - } - final «InstanceIdentifier.name» identifier = $1.«rpcMeta.inputRouteGetter.name»()«IF rpcMeta. - routeEncapsulated».getValue()«ENDIF»; - «supertype.name» instance = («supertype.name») «rpcMeta.context.routingTableField».get(identifier); - if(instance == null) { - instance = «DELEGATE_FIELD»; - } - if(instance == null) { - throw new java.lang.IllegalStateException("No routable provider is processing routed message for " + String.valueOf(identifier)); - } - return ($r) instance.«it.name»($$); - }''' - body = bodyTmp - } else if (parameterTypes.size === 0) { - body = '''return ($r) «DELEGATE_FIELD».«it.name»($$);''' - } - ] - implementMethodsFrom(RpcImplementation.asCtClass) [ - body = ''' - { - throw new java.lang.IllegalStateException("No provider is processing supplied message"); - return ($r) null; - } - ''' - ] - ] - return targetCls.toClass(iface.classLoader,iface.protectionDomain).newInstance as RpcService - ]; - } - - override generateListenerInvoker(Class iface) { - val callbacks = iface.methods.filter[BindingReflections.isNotificationCallback(it)] - - val supportedNotification = callbacks.map[parameterTypes.get(0) as Class].toSet; - - val targetCls = createClass(iface.invokerName, brokerNotificationListener) [ - field(DELEGATE_FIELD, iface) - implementMethodsFrom(brokerNotificationListener) [ - body = ''' - { - «FOR callback : callbacks SEPARATOR " else "» - «val cls = callback.parameterTypes.get(0).name» - if($1 instanceof «cls») { - «DELEGATE_FIELD».«callback.name»((«cls») $1); - return null; - } - «ENDFOR» - return null; - } - ''' - ] - ] - val finalClass = targetCls.toClass(iface.classLoader, iface.protectionDomain) - return new RuntimeGeneratedInvokerPrototype(supportedNotification, - finalClass as Class>); - } -} diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/SingletonHolder.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/SingletonHolder.java index f037e679be..4664b58d2a 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/SingletonHolder.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/SingletonHolder.java @@ -33,7 +33,7 @@ public class SingletonHolder { public static final ClassPool CLASS_POOL = ClassPool.getDefault(); public static final JavassistUtils JAVASSIST = JavassistUtils.forClassPool(CLASS_POOL); - public static final org.opendaylight.controller.sal.binding.codegen.impl.RuntimeCodeGenerator RPC_GENERATOR_IMPL = new org.opendaylight.controller.sal.binding.codegen.impl.RuntimeCodeGenerator( + public static final org.opendaylight.controller.sal.binding.codegen.impl.DefaultRuntimeCodeGenerator RPC_GENERATOR_IMPL = new org.opendaylight.controller.sal.binding.codegen.impl.DefaultRuntimeCodeGenerator( CLASS_POOL); public static final RuntimeCodeGenerator RPC_GENERATOR = RPC_GENERATOR_IMPL; public static final NotificationInvokerFactory INVOKER_FACTORY = RPC_GENERATOR_IMPL.getInvokerFactory(); diff --git a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/RuntimeCodeGeneratorTest.java b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/codegen/impl/DefaultRuntimeCodeGeneratorTest.java similarity index 97% rename from opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/RuntimeCodeGeneratorTest.java rename to opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/codegen/impl/DefaultRuntimeCodeGeneratorTest.java index 9ba6533971..7a15619e95 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/RuntimeCodeGeneratorTest.java +++ b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/codegen/impl/DefaultRuntimeCodeGeneratorTest.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.sal.binding.test; +package org.opendaylight.controller.sal.binding.codegen.impl; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -13,17 +13,14 @@ import static org.junit.Assert.assertSame; import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; - import java.util.ArrayList; import java.util.List; - import javassist.ClassPool; - import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.sal.binding.api.rpc.RpcRouter; import org.opendaylight.controller.sal.binding.api.rpc.RpcRoutingTable; -import org.opendaylight.controller.sal.binding.codegen.impl.RuntimeCodeGenerator; +import org.opendaylight.controller.sal.binding.codegen.RuntimeCodeGenerator; import org.opendaylight.controller.sal.binding.spi.NotificationInvokerFactory; import org.opendaylight.controller.sal.binding.spi.NotificationInvokerFactory.NotificationInvoker; import org.opendaylight.controller.sal.binding.test.mock.BarListener; @@ -41,14 +38,14 @@ import org.opendaylight.yangtools.yang.binding.DataContainer; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -public class RuntimeCodeGeneratorTest { +public class DefaultRuntimeCodeGeneratorTest { private RuntimeCodeGenerator codeGenerator; private NotificationInvokerFactory invokerFactory; @Before public void initialize() { - this.codeGenerator = new RuntimeCodeGenerator(ClassPool.getDefault()); + this.codeGenerator = new DefaultRuntimeCodeGenerator(ClassPool.getDefault()); this.invokerFactory = codeGenerator.getInvokerFactory(); } diff --git a/opendaylight/md-sal/topology-lldp-discovery/pom.xml b/opendaylight/md-sal/topology-lldp-discovery/pom.xml index e6a9a75337..cc684a58b2 100644 --- a/opendaylight/md-sal/topology-lldp-discovery/pom.xml +++ b/opendaylight/md-sal/topology-lldp-discovery/pom.xml @@ -14,7 +14,6 @@ 2.4.0 14.0.1 2.5 - 2.4.3 diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/NetconfUtil.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/NetconfUtil.java index 0269bcccb9..5fd53dce55 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/NetconfUtil.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/NetconfUtil.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.netconf.util; import com.google.common.base.Preconditions; - import org.opendaylight.controller.netconf.api.NetconfDocumentedException; import org.opendaylight.controller.netconf.api.xml.XmlNetconfConstants; import org.opendaylight.controller.netconf.util.xml.XmlElement; @@ -19,7 +18,7 @@ import org.w3c.dom.Document; public final class NetconfUtil { - private static final Logger logger = LoggerFactory.getLogger(NetconfUtil.class); + private static final Logger LOG = LoggerFactory.getLogger(NetconfUtil.class); private NetconfUtil() {} @@ -30,7 +29,7 @@ public final class NetconfUtil { if (element.getName().equals(XmlNetconfConstants.OK)) { return response; } - logger.warn("Can not load last configuration. Operation failed."); + LOG.warn("Can not load last configuration. Operation failed."); throw new IllegalStateException("Can not load last configuration. Operation failed: " + XmlUtil.toString(response)); } diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/MissingNameSpaceException.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/MissingNameSpaceException.java index 6cc5006aba..d2a6d2b58d 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/MissingNameSpaceException.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/MissingNameSpaceException.java @@ -9,7 +9,6 @@ package org.opendaylight.controller.netconf.util.exception; import java.util.Collections; import java.util.Map; - import org.opendaylight.controller.netconf.api.NetconfDocumentedException; public class MissingNameSpaceException extends NetconfDocumentedException { diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedElementException.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedElementException.java index 7b5f52e396..6d7c7ca7c4 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedElementException.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedElementException.java @@ -9,7 +9,6 @@ package org.opendaylight.controller.netconf.util.exception; import java.util.Collections; import java.util.Map; - import org.opendaylight.controller.netconf.api.NetconfDocumentedException; public class UnexpectedElementException extends NetconfDocumentedException { diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedNamespaceException.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedNamespaceException.java index 582fd23e16..4a19390b36 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedNamespaceException.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedNamespaceException.java @@ -9,7 +9,6 @@ package org.opendaylight.controller.netconf.util.exception; import java.util.Collections; import java.util.Map; - import org.opendaylight.controller.netconf.api.NetconfDocumentedException; public class UnexpectedNamespaceException extends NetconfDocumentedException { diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessage.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessage.java index 15223cb60b..5cd17a2331 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessage.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessage.java @@ -8,11 +8,12 @@ package org.opendaylight.controller.netconf.util.messages; -import org.opendaylight.controller.netconf.api.NetconfMessage; - +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import com.google.common.collect.Sets; import java.util.Set; - import org.opendaylight.controller.netconf.api.NetconfDocumentedException; +import org.opendaylight.controller.netconf.api.NetconfMessage; import org.opendaylight.controller.netconf.api.xml.XmlNetconfConstants; import org.opendaylight.controller.netconf.util.exception.MissingNameSpaceException; import org.opendaylight.controller.netconf.util.xml.XmlElement; @@ -20,10 +21,6 @@ import org.opendaylight.controller.netconf.util.xml.XmlUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import com.google.common.collect.Sets; - /** * NetconfMessage that can carry additional header with session metadata. See {@link org.opendaylight.controller.netconf.util.messages.NetconfHelloMessageAdditionalHeader} */ diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessageAdditionalHeader.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessageAdditionalHeader.java index d1e064eaeb..e50928d7bf 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessageAdditionalHeader.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessageAdditionalHeader.java @@ -9,7 +9,6 @@ package org.opendaylight.controller.netconf.util.messages; import com.google.common.base.Preconditions; - import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageHeader.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageHeader.java index fa26455c98..ac8a557d9a 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageHeader.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageHeader.java @@ -8,10 +8,9 @@ package org.opendaylight.controller.netconf.util.messages; -import java.nio.ByteBuffer; - import com.google.common.base.Charsets; import com.google.common.base.Preconditions; +import java.nio.ByteBuffer; /** * Netconf message header is used only when chunked framing mechanism is diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageUtil.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageUtil.java index c532b7f9a6..61b23202c3 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageUtil.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageUtil.java @@ -23,7 +23,7 @@ import org.w3c.dom.Document; public final class NetconfMessageUtil { - private static final Logger logger = LoggerFactory.getLogger(NetconfMessageUtil.class); + private static final Logger LOG = LoggerFactory.getLogger(NetconfMessageUtil.class); private NetconfMessageUtil() {} @@ -70,7 +70,7 @@ public final class NetconfMessageUtil { try { return input.getTextContent().trim(); } catch (NetconfDocumentedException e) { - logger.trace("Error fetching inpit text content becauese {}",e); + LOG.trace("Error fetching input text content",e); return null; } } diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/SendErrorExceptionUtil.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/SendErrorExceptionUtil.java index 6604834fe4..fe5ed03320 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/SendErrorExceptionUtil.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/SendErrorExceptionUtil.java @@ -9,14 +9,12 @@ package org.opendaylight.controller.netconf.util.messages; import com.google.common.base.Preconditions; - import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelFutureListener; - -import org.opendaylight.controller.netconf.api.NetconfSession; import org.opendaylight.controller.netconf.api.NetconfDocumentedException; import org.opendaylight.controller.netconf.api.NetconfMessage; +import org.opendaylight.controller.netconf.api.NetconfSession; import org.opendaylight.controller.netconf.api.xml.XmlNetconfConstants; import org.opendaylight.controller.netconf.util.xml.XmlUtil; import org.slf4j.Logger; @@ -27,20 +25,20 @@ import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; public final class SendErrorExceptionUtil { - private static final Logger logger = LoggerFactory.getLogger(SendErrorExceptionUtil.class); + private static final Logger LOG = LoggerFactory.getLogger(SendErrorExceptionUtil.class); private SendErrorExceptionUtil() {} public static void sendErrorMessage(final NetconfSession session, final NetconfDocumentedException sendErrorException) { - logger.trace("Sending error {}", sendErrorException.getMessage(), sendErrorException); + LOG.trace("Sending error {}", sendErrorException.getMessage(), sendErrorException); final Document errorDocument = createDocument(sendErrorException); ChannelFuture f = session.sendMessage(new NetconfMessage(errorDocument)); f.addListener(new SendErrorVerifyingListener(sendErrorException)); } public static void sendErrorMessage(Channel channel, NetconfDocumentedException sendErrorException) { - logger.trace("Sending error {}", sendErrorException.getMessage(), sendErrorException); + LOG.trace("Sending error {}", sendErrorException.getMessage(), sendErrorException); final Document errorDocument = createDocument(sendErrorException); ChannelFuture f = channel.writeAndFlush(new NetconfMessage(errorDocument)); f.addListener(new SendErrorVerifyingListener(sendErrorException)); @@ -49,7 +47,7 @@ public final class SendErrorExceptionUtil { public static void sendErrorMessage(NetconfSession session, NetconfDocumentedException sendErrorException, NetconfMessage incommingMessage) { final Document errorDocument = createDocument(sendErrorException); - logger.trace("Sending error {}", XmlUtil.toString(errorDocument)); + LOG.trace("Sending error {}", XmlUtil.toString(errorDocument)); tryToCopyAttributes(incommingMessage.getDocument(), errorDocument, sendErrorException); ChannelFuture f = session.sendMessage(new NetconfMessage(errorDocument)); f.addListener(new SendErrorVerifyingListener(sendErrorException)); @@ -76,7 +74,7 @@ public final class SendErrorExceptionUtil { rpcReply.setAttributeNode((Attr) errorDocument.importNode(attr, true)); } } catch (final Exception e) { - logger.warn("Unable to copy incomming attributes to {}, returned rpc-error might be invalid for client", + LOG.warn("Unable to copy incomming attributes to {}, returned rpc-error might be invalid for client", sendErrorException, e); } } diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/osgi/NetconfConfigUtil.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/osgi/NetconfConfigUtil.java index c77e0d7da2..64aeebd542 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/osgi/NetconfConfigUtil.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/osgi/NetconfConfigUtil.java @@ -16,7 +16,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public final class NetconfConfigUtil { - private static final Logger logger = LoggerFactory.getLogger(NetconfConfigUtil.class); + private static final Logger LOG = LoggerFactory.getLogger(NetconfConfigUtil.class); private static final String PREFIX_PROP = "netconf."; @@ -48,7 +48,7 @@ public final class NetconfConfigUtil { try { return Long.parseLong(timeoutString); } catch (final NumberFormatException e) { - logger.warn("Cannot parse {} property: {}, using defaults", key, timeoutString, e); + LOG.warn("Cannot parse {} property: {}, using defaults", key, timeoutString, e); return DEFAULT_TIMEOUT_MILLIS; } } @@ -89,7 +89,7 @@ public final class NetconfConfigUtil { try { return Optional.of(parseAddress(address, port)); } catch (final RuntimeException e) { - logger.warn("Unable to parse {} netconf address from {}:{}, fallback to default", + LOG.warn("Unable to parse {} netconf address from {}:{}, fallback to default", infixProp, address, port, e); } } diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/HardcodedNamespaceResolver.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/HardcodedNamespaceResolver.java index 23fe7cdf41..87ecb2de09 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/HardcodedNamespaceResolver.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/HardcodedNamespaceResolver.java @@ -8,14 +8,12 @@ package org.opendaylight.controller.netconf.util.xml; +import com.google.common.collect.ImmutableMap; import java.util.Collections; import java.util.Iterator; import java.util.Map; - import javax.xml.namespace.NamespaceContext; -import com.google.common.collect.ImmutableMap; - // http://www.ibm.com/developerworks/library/x-nmspccontext/ public class HardcodedNamespaceResolver implements NamespaceContext { private final Map prefixesToNamespaces; diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XMLNetconfUtil.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XMLNetconfUtil.java index e7ce454155..eaaf320b02 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XMLNetconfUtil.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XMLNetconfUtil.java @@ -12,7 +12,6 @@ import javax.xml.xpath.XPath; import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; - import org.opendaylight.controller.netconf.api.xml.XmlNetconfConstants; public final class XMLNetconfUtil { diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XmlElement.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XmlElement.java index 3c63204881..e17cad977c 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XmlElement.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XmlElement.java @@ -40,7 +40,7 @@ public final class XmlElement { public static final String DEFAULT_NAMESPACE_PREFIX = ""; private final Element element; - private static final Logger logger = LoggerFactory.getLogger(XmlElement.class); + private static final Logger LOG = LoggerFactory.getLogger(XmlElement.class); private XmlElement(Element element) { this.element = element; @@ -132,7 +132,7 @@ public final class XmlElement { public void checkNamespace(String expectedNamespace) throws UnexpectedNamespaceException, MissingNameSpaceException { if (!getNamespace().equals(expectedNamespace)) - { + { throw new UnexpectedNamespaceException(String.format("Unexpected namespace %s should be %s", getNamespace(), expectedNamespace), @@ -405,7 +405,7 @@ public final class XmlElement { try { sb.append(", namespace='").append(getNamespace()).append('\''); } catch (MissingNameSpaceException e) { - logger.trace("Missing namespace for element."); + LOG.trace("Missing namespace for element."); } } sb.append('}'); diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XmlNetconfValidator.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XmlNetconfValidator.java index 8108c8e740..bdab8c6209 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XmlNetconfValidator.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XmlNetconfValidator.java @@ -8,19 +8,16 @@ package org.opendaylight.controller.netconf.util.xml; +import com.google.common.base.Preconditions; import java.io.IOException; import java.io.InputStream; - import javax.xml.transform.Source; import javax.xml.transform.dom.DOMSource; import javax.xml.validation.Schema; import javax.xml.validation.Validator; - import org.w3c.dom.Document; import org.xml.sax.SAXException; -import com.google.common.base.Preconditions; - public final class XmlNetconfValidator { private static final Schema SCHEMA; diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XmlUtil.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XmlUtil.java index 9e227ee05d..68c4d9fdab 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XmlUtil.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/xml/XmlUtil.java @@ -10,14 +10,12 @@ package org.opendaylight.controller.netconf.util.xml; import com.google.common.base.Charsets; import com.google.common.base.Optional; - import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; - import javax.xml.XMLConstants; import javax.xml.namespace.QName; import javax.xml.parsers.DocumentBuilder; @@ -35,7 +33,6 @@ import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathExpressionException; - import org.opendaylight.controller.netconf.api.xml.XmlNetconfConstants; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -124,7 +121,7 @@ public final class XmlUtil { public static Element createTextElementWithNamespacedContent(Document document, String qName, String prefix, String namespace, String contentWithoutPrefix) { - return createTextElementWithNamespacedContent(document, qName, prefix, namespace, contentWithoutPrefix, Optional.absent()); + return createTextElementWithNamespacedContent(document, qName, prefix, namespace, contentWithoutPrefix, Optional.absent()); } public static Element createTextElementWithNamespacedContent(Document document, String qName, String prefix, diff --git a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/NetconfUtilTest.java b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/NetconfUtilTest.java index 47d0d4c7cc..dc175c5733 100644 --- a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/NetconfUtilTest.java +++ b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/NetconfUtilTest.java @@ -7,9 +7,10 @@ */ package org.opendaylight.controller.netconf.util; -import static org.hamcrest.CoreMatchers.containsString; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; +import static org.hamcrest.CoreMatchers.containsString; + import org.junit.Test; import org.opendaylight.controller.netconf.util.xml.XmlUtil; import org.w3c.dom.Document; diff --git a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/mapping/AbstractLastNetconfOperationTest.java b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/mapping/AbstractLastNetconfOperationTest.java index 62633dd3f2..a6d1d5b999 100644 --- a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/mapping/AbstractLastNetconfOperationTest.java +++ b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/mapping/AbstractLastNetconfOperationTest.java @@ -8,6 +8,11 @@ package org.opendaylight.controller.netconf.util.mapping; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; + import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.netconf.api.NetconfDocumentedException; @@ -17,11 +22,6 @@ import org.opendaylight.controller.netconf.util.xml.XmlElement; import org.w3c.dom.Document; import org.w3c.dom.Element; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; - public class AbstractLastNetconfOperationTest { class LastNetconfOperationImplTest extends AbstractLastNetconfOperation { diff --git a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/mapping/AbstractNetconfOperationTest.java b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/mapping/AbstractNetconfOperationTest.java index ea4a6e61f2..c7f6321e2c 100644 --- a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/mapping/AbstractNetconfOperationTest.java +++ b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/mapping/AbstractNetconfOperationTest.java @@ -8,6 +8,11 @@ package org.opendaylight.controller.netconf.util.mapping; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.mock; + import java.io.IOException; import org.junit.Before; import org.junit.Test; @@ -21,11 +26,6 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.mock; - public class AbstractNetconfOperationTest { class NetconfOperationImpl extends AbstractNetconfOperation { diff --git a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/mapping/AbstractSingletonNetconfOperationTest.java b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/mapping/AbstractSingletonNetconfOperationTest.java index d1310de3e2..911b73f097 100644 --- a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/mapping/AbstractSingletonNetconfOperationTest.java +++ b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/mapping/AbstractSingletonNetconfOperationTest.java @@ -8,6 +8,8 @@ package org.opendaylight.controller.netconf.util.mapping; +import static org.junit.Assert.assertEquals; + import org.junit.Test; import org.opendaylight.controller.netconf.api.NetconfDocumentedException; import org.opendaylight.controller.netconf.mapping.api.HandlingPriority; @@ -15,8 +17,6 @@ import org.opendaylight.controller.netconf.util.xml.XmlElement; import org.w3c.dom.Document; import org.w3c.dom.Element; -import static org.junit.Assert.assertEquals; - public class AbstractSingletonNetconfOperationTest { class SingletonNCOperationImpl extends AbstractSingletonNetconfOperation { diff --git a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessageAdditionalHeaderTest.java b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessageAdditionalHeaderTest.java index 95c91243af..5e50eb93fb 100644 --- a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessageAdditionalHeaderTest.java +++ b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessageAdditionalHeaderTest.java @@ -8,11 +8,11 @@ package org.opendaylight.controller.netconf.util.messages; +import static org.junit.Assert.assertEquals; + import org.junit.Before; import org.junit.Test; -import static org.junit.Assert.assertEquals; - public class NetconfHelloMessageAdditionalHeaderTest { diff --git a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessageTest.java b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessageTest.java index 5a9d07f6b1..4e157186ff 100644 --- a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessageTest.java +++ b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfHelloMessageTest.java @@ -11,6 +11,7 @@ package org.opendaylight.controller.netconf.util.messages; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; + import com.google.common.base.Optional; import java.util.Set; import org.junit.Before; diff --git a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageHeaderTest.java b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageHeaderTest.java index d5ff3380d2..05c31be395 100644 --- a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageHeaderTest.java +++ b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageHeaderTest.java @@ -10,6 +10,7 @@ package org.opendaylight.controller.netconf.util.messages; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; + import com.google.common.base.Charsets; import org.junit.Test; diff --git a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageUtilTest.java b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageUtilTest.java index 2af34e957e..12769f5ed3 100644 --- a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageUtilTest.java +++ b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageUtilTest.java @@ -8,15 +8,15 @@ package org.opendaylight.controller.netconf.util.messages; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + import java.util.Collection; import org.junit.Test; import org.opendaylight.controller.netconf.api.NetconfMessage; import org.opendaylight.controller.netconf.util.test.XmlFileLoader; import org.w3c.dom.Document; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - public class NetconfMessageUtilTest { @Test public void testNetconfMessageUtil() throws Exception { diff --git a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/SendErrorExceptionUtilTest.java b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/SendErrorExceptionUtilTest.java index c8d562cb9c..20287741b9 100644 --- a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/SendErrorExceptionUtilTest.java +++ b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/messages/SendErrorExceptionUtilTest.java @@ -8,6 +8,12 @@ package org.opendaylight.controller.netconf.util.messages; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; + import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; import io.netty.util.concurrent.GenericFutureListener; @@ -19,9 +25,6 @@ import org.opendaylight.controller.netconf.api.NetconfSession; import org.opendaylight.controller.netconf.util.test.XmlFileLoader; import org.w3c.dom.Document; -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.*; - public class SendErrorExceptionUtilTest { NetconfSession netconfSession; diff --git a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/osgi/NetconfConfigUtilTest.java b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/osgi/NetconfConfigUtilTest.java index ebee41145a..1a701057aa 100644 --- a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/osgi/NetconfConfigUtilTest.java +++ b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/osgi/NetconfConfigUtilTest.java @@ -13,6 +13,7 @@ import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; + import com.google.common.base.Optional; import io.netty.channel.local.LocalAddress; import java.net.InetSocketAddress; diff --git a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/test/XmlFileLoader.java b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/test/XmlFileLoader.java index 457dda3080..e1331b1380 100644 --- a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/test/XmlFileLoader.java +++ b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/test/XmlFileLoader.java @@ -8,23 +8,20 @@ package org.opendaylight.controller.netconf.util.test; +import com.google.common.base.Charsets; +import com.google.common.base.Preconditions; +import com.google.common.io.CharStreams; +import com.google.common.io.InputSupplier; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; - import javax.xml.parsers.ParserConfigurationException; - import org.opendaylight.controller.netconf.api.NetconfMessage; import org.opendaylight.controller.netconf.util.xml.XmlUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; -import com.google.common.base.Charsets; -import com.google.common.base.Preconditions; -import com.google.common.io.CharStreams; -import com.google.common.io.InputSupplier; - public class XmlFileLoader { public static NetconfMessage xmlFileToNetconfMessage(final String fileName) throws IOException, SAXException, diff --git a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/xml/XmlElementTest.java b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/xml/XmlElementTest.java index a88de956e2..22210a394e 100644 --- a/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/xml/XmlElementTest.java +++ b/opendaylight/netconf/netconf-util/src/test/java/org/opendaylight/controller/netconf/util/xml/XmlElementTest.java @@ -17,6 +17,7 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import com.google.common.base.Optional; import java.util.Map; import org.junit.Before; import org.junit.Test; @@ -25,8 +26,6 @@ import org.opendaylight.controller.netconf.util.exception.MissingNameSpaceExcept import org.w3c.dom.Document; import org.w3c.dom.Element; -import com.google.common.base.Optional; - public class XmlElementTest { private final String elementAsString = "" + diff --git a/opendaylight/netconf/netconf-util/src/test/resources/netconfMessages/startExi.xml b/opendaylight/netconf/netconf-util/src/test/resources/netconfMessages/startExi.xml index 5e94ac6110..0af445f17d 100644 --- a/opendaylight/netconf/netconf-util/src/test/resources/netconfMessages/startExi.xml +++ b/opendaylight/netconf/netconf-util/src/test/resources/netconfMessages/startExi.xml @@ -6,4 +6,4 @@ - + \ No newline at end of file diff --git a/opendaylight/netconf/netconf-util/src/test/resources/netconfMessages/stopExi.xml b/opendaylight/netconf/netconf-util/src/test/resources/netconfMessages/stopExi.xml index 170c753993..7f1fe849e8 100644 --- a/opendaylight/netconf/netconf-util/src/test/resources/netconfMessages/stopExi.xml +++ b/opendaylight/netconf/netconf-util/src/test/resources/netconfMessages/stopExi.xml @@ -1,3 +1,3 @@ - + \ No newline at end of file