From 8161319be53a57e3ac22ba72f267483526e11e0d Mon Sep 17 00:00:00 2001 From: Filip Tehlar Date: Thu, 16 Oct 2014 12:42:12 +0200 Subject: [PATCH] Issue fix for config subsystem Change-Id: I73d02158accb65c92dabc76eb8b353b052ac2d05 Signed-off-by: Filip Tehlar --- .../config/api/IdentityAttributeRef.java | 2 +- .../config/api/jmx/ObjectNameUtil.java | 32 +++++++------- .../constants/ConfigRegistryConstants.java | 3 ++ .../manager/impl/ConfigRegistryImpl.java | 24 +++++------ .../impl/ConfigTransactionControllerImpl.java | 42 +++++++++---------- .../config/manager/impl/DeadlockMonitor.java | 23 ++++++---- .../impl/ServiceReferenceRegistryImpl.java | 40 +++++++++--------- .../DependencyResolverImpl.java | 37 ++++++++-------- .../DependencyResolverManager.java | 2 +- .../dependencyresolver/DestroyedModule.java | 10 ++--- .../dynamicmbean/AbstractDynamicWrapper.java | 8 ++-- .../impl/dynamicmbean/AnnotationsHelper.java | 3 ++ .../impl/dynamicmbean/AttributeHolder.java | 2 +- .../dynamicmbean/DynamicReadableWrapper.java | 2 +- .../dynamicmbean/DynamicWritableWrapper.java | 35 +++++++++------- .../impl/jmx/InternalJMXRegistrator.java | 4 +- .../impl/jmx/ModuleJMXRegistrator.java | 3 +- .../impl/osgi/BeanToOsgiServiceManager.java | 6 +-- .../osgi/BlankTransactionServiceTracker.java | 6 +-- ...eContextBackedModuleFactoriesResolver.java | 6 +-- .../impl/osgi/ModuleFactoryBundleTracker.java | 10 ++--- .../osgi/mapping/ModuleInfoBundleTracker.java | 14 +++---- .../manager/impl/util/InterfacesHelper.java | 11 +++-- .../manager/impl/util/LookupBeansUtil.java | 5 ++- .../manager/impl/util/ModuleQNameUtil.java | 3 ++ .../impl/util/OsgiRegistrationUtil.java | 7 +++- .../internal/AbstractFeatureWrapper.java | 19 +++++---- .../internal/ChildAwareFeatureWrapper.java | 9 ++-- .../internal/ConfigFeaturesListener.java | 4 +- .../internal/ConfigPusherCustomizer.java | 4 +- .../internal/ConfigPushingRunnable.java | 10 ++--- .../internal/FeatureConfigPusher.java | 10 ++--- .../file/xml/XmlFileStorageAdapter.java | 15 +++---- .../file/xml/model/ConfigSnapshot.java | 2 +- .../file/xml/model/StringTrimAdapter.java | 6 ++- .../config/util/ConfigRegistryJMXClient.java | 13 +++--- .../util/ConfigTransactionJMXClient.java | 15 ++++--- .../logback/config/ContextSetterImpl.java | 13 +++--- .../logback/config/LogbackModuleFactory.java | 5 ++- .../yangjmxgenerator/plugin/CodeWriter.java | 24 +++++------ .../yangjmxgenerator/plugin/JMXGenerator.java | 26 +++++++----- .../plugin/ftl/AbstractFactoryTemplate.java | 4 +- .../ftl/RuntimeRegistratorFtlTemplate.java | 6 +-- .../plugin/ftl/TemplateFactory.java | 12 +++--- .../yangjmxgenerator/ConfigConstants.java | 3 ++ .../ModuleMXBeanEntryBuilder.java | 22 +++++----- .../config/yangjmxgenerator/ModuleUtil.java | 3 ++ .../yangjmxgenerator/PackageTranslator.java | 29 ++++++------- .../yangjmxgenerator/RuntimeBeanEntry.java | 6 +-- .../ServiceInterfaceEntry.java | 34 +++++++++------ .../yangjmxgenerator/TypeProviderWrapper.java | 6 ++- .../attribute/AbstractAttribute.java | 9 ++-- .../AbstractDependencyAttribute.java | 18 +++++--- .../attribute/JavaAttribute.java | 18 +++++--- .../attribute/ListAttribute.java | 15 ++++--- .../attribute/SimpleTypeResolver.java | 3 ++ .../attribute/TOAttribute.java | 30 ++++++++----- .../yangjmxgenerator/attribute/Util.java | 8 ++-- .../plugin/util/FullyQualifiedNameHelper.java | 4 ++ 59 files changed, 421 insertions(+), 324 deletions(-) diff --git a/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/IdentityAttributeRef.java b/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/IdentityAttributeRef.java index 5ad6e0da8d..48aa6ae646 100644 --- a/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/IdentityAttributeRef.java +++ b/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/IdentityAttributeRef.java @@ -39,7 +39,7 @@ public final class IdentityAttributeRef { @Override public String toString() { - final StringBuffer sb = new StringBuffer("IdentityAttributeRef{"); + final StringBuilder sb = new StringBuilder("IdentityAttributeRef{"); sb.append("qNameOfIdentity='").append(qNameOfIdentity).append('\''); sb.append('}'); return sb.toString(); diff --git a/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/jmx/ObjectNameUtil.java b/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/jmx/ObjectNameUtil.java index abb9f1ae9b..c23a0cbf69 100644 --- a/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/jmx/ObjectNameUtil.java +++ b/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/jmx/ObjectNameUtil.java @@ -29,6 +29,8 @@ import java.util.Set; */ @ThreadSafe public class ObjectNameUtil { + private ObjectNameUtil() { + } public static final String ON_DOMAIN = ConfigRegistryConstants.ON_DOMAIN; public static final String MODULE_FACTORY_NAME_KEY = "moduleFactoryName"; @@ -270,7 +272,7 @@ public class ObjectNameUtil { } public static Map getAdditionalProperties(ObjectName on) { - Hashtable keyPropertyList = on.getKeyPropertyList(); + Map keyPropertyList = on.getKeyPropertyList(); Map result = new HashMap<>(); for (Entry entry : keyPropertyList.entrySet()) { result.put(entry.getKey(), entry.getValue()); @@ -304,8 +306,8 @@ public class ObjectNameUtil { public static ObjectName createModulePattern(String moduleName, String instanceName) { - moduleName = moduleName == null ? ON_WILDCARD : moduleName; - instanceName = instanceName == null ? ON_WILDCARD : instanceName; + String finalModuleName = moduleName == null ? ON_WILDCARD : moduleName; + String finalInstanceName = instanceName == null ? ON_WILDCARD : instanceName; // do not return object names containing transaction name ObjectName namePattern = ObjectNameUtil @@ -313,34 +315,34 @@ public class ObjectNameUtil { + ObjectNameUtil.TYPE_KEY + "=" + ObjectNameUtil.TYPE_MODULE + "," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY + "=" - + moduleName + "," + "" - + ObjectNameUtil.INSTANCE_NAME_KEY + "=" + instanceName); + + finalModuleName + "," + "" + + ObjectNameUtil.INSTANCE_NAME_KEY + "=" + finalInstanceName); return namePattern; } public static ObjectName createModulePattern(String ifcName, String instanceName, String transactionName) { - ifcName = ifcName == null ? ON_WILDCARD : ifcName; - instanceName = instanceName == null ? ON_WILDCARD : instanceName; - transactionName = transactionName == null ? ON_WILDCARD : transactionName; + String finalIfcName = ifcName == null ? ON_WILDCARD : ifcName; + String finalInstanceName = instanceName == null ? ON_WILDCARD : instanceName; + String finalTransactionName = transactionName == null ? ON_WILDCARD : transactionName; return ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY - + "=" + ifcName + "," + ObjectNameUtil.INSTANCE_NAME_KEY + "=" - + instanceName + "," + ObjectNameUtil.TRANSACTION_NAME_KEY - + "=" + transactionName); + + "=" + finalIfcName + "," + ObjectNameUtil.INSTANCE_NAME_KEY + "=" + + finalInstanceName + "," + ObjectNameUtil.TRANSACTION_NAME_KEY + + "=" + finalTransactionName); } public static ObjectName createRuntimeBeanPattern(String moduleName, String instanceName) { - moduleName = moduleName == null ? ON_WILDCARD : moduleName; - instanceName = instanceName == null ? ON_WILDCARD : instanceName; + String finalModuleName = moduleName == null ? ON_WILDCARD : moduleName; + String finalInstanceName = instanceName == null ? ON_WILDCARD : instanceName; return ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN + ":" + ObjectNameUtil.TYPE_KEY + "=" + ObjectNameUtil.TYPE_RUNTIME_BEAN + "," - + ObjectNameUtil.MODULE_FACTORY_NAME_KEY + "=" + moduleName - + "," + ObjectNameUtil.INSTANCE_NAME_KEY + "=" + instanceName + + ObjectNameUtil.MODULE_FACTORY_NAME_KEY + "=" + finalModuleName + + "," + ObjectNameUtil.INSTANCE_NAME_KEY + "=" + finalInstanceName + ",*"); } diff --git a/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/jmx/constants/ConfigRegistryConstants.java b/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/jmx/constants/ConfigRegistryConstants.java index 1d9563bf4e..bdb6f0e344 100644 --- a/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/jmx/constants/ConfigRegistryConstants.java +++ b/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/jmx/constants/ConfigRegistryConstants.java @@ -12,6 +12,9 @@ import javax.management.ObjectName; public class ConfigRegistryConstants { + private ConfigRegistryConstants() { + } + public static final String TYPE_CONFIG_REGISTRY = "ConfigRegistry"; public static final String ON_DOMAIN = "org.opendaylight.controller"; diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigRegistryImpl.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigRegistryImpl.java index b7cdf94757..605223ae22 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigRegistryImpl.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigRegistryImpl.java @@ -60,7 +60,7 @@ import java.util.Set; */ @ThreadSafe public class ConfigRegistryImpl implements AutoCloseable, ConfigRegistryImplMXBean { - private static final Logger logger = LoggerFactory.getLogger(ConfigRegistryImpl.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ConfigRegistryImpl.class); private final ModuleFactoriesResolver resolver; private final MBeanServer configMBeanServer; @@ -166,7 +166,7 @@ public class ConfigRegistryImpl implements AutoCloseable, ConfigRegistryImplMXBe for (ModuleInternalInfo moduleInternalInfo : currentConfig.getEntries()) { String name = moduleInternalInfo.getModuleFactory().getImplementationName(); if (allCurrentFactories.containsKey(name) == false) { - logger.trace("Factory {} not found in SR, using reference from previous commit", name); + LOGGER.trace("Factory {} not found in SR, using reference from previous commit", name); allCurrentFactories.put(name, Maps.immutableEntry(moduleInternalInfo.getModuleFactory(), moduleInternalInfo.getBundleContext())); } @@ -202,7 +202,7 @@ public class ConfigRegistryImpl implements AutoCloseable, ConfigRegistryImplMXBe throws ConflictingVersionException, ValidationException { final String transactionName = ObjectNameUtil .getTransactionName(transactionControllerON); - logger.trace("About to commit {}. Current parentVersion: {}, versionCounter {}", transactionName, version, versionCounter); + LOGGER.trace("About to commit {}. Current parentVersion: {}, versionCounter {}", transactionName, version, versionCounter); // find ConfigTransactionController Map> transactions = transactionsHolder.getCurrentTransactions(); @@ -230,7 +230,7 @@ public class ConfigRegistryImpl implements AutoCloseable, ConfigRegistryImplMXBe } catch (Error | RuntimeException t) { // some libs throw Errors: e.g. // javax.xml.ws.spi.FactoryFinder$ConfigurationError isHealthy = false; - logger.error("Configuration Transaction failed on 2PC, server is unhealthy", t); + LOGGER.error("Configuration Transaction failed on 2PC, server is unhealthy", t); if (t instanceof RuntimeException) { throw (RuntimeException) t; } else { @@ -292,7 +292,7 @@ public class ConfigRegistryImpl implements AutoCloseable, ConfigRegistryImplMXBe int orderingIdx = 0; for (ModuleIdentifier moduleIdentifier : orderedModuleIdentifiers) { - logger.trace("Registering {}", moduleIdentifier); + LOGGER.trace("Registering {}", moduleIdentifier); ModuleInternalTransactionalInfo entry = commitInfo.getCommitted() .get(moduleIdentifier); if (entry == null) { @@ -427,7 +427,7 @@ public class ConfigRegistryImpl implements AutoCloseable, ConfigRegistryImplMXBe configTransactionControllerEntry.getValue().close(); configTransactionController.abortConfig(); } catch (RuntimeException e) { - logger.warn("Ignoring exception while aborting {}", + LOGGER.warn("Ignoring exception while aborting {}", configTransactionController, e); } } @@ -524,14 +524,10 @@ public class ConfigRegistryImpl implements AutoCloseable, ConfigRegistryImplMXBe @Override public Set lookupRuntimeBeans(String moduleName, String instanceName) { - if (moduleName == null) { - moduleName = "*"; - } - if (instanceName == null) { - instanceName = "*"; - } + String finalModuleName = moduleName == null ? "*" : moduleName; + String finalInstanceName = instanceName == null ? "*" : instanceName; ObjectName namePattern = ObjectNameUtil.createRuntimeBeanPattern( - moduleName, instanceName); + finalModuleName, finalInstanceName); return baseJMXRegistrator.queryNames(namePattern, null); } @@ -609,7 +605,7 @@ class ConfigHolder { * Service Registry. */ public void addAll(Collection configInfos) { - if (currentConfig.size() > 0) { + if (!currentConfig.isEmpty()) { throw new IllegalStateException( "Error - some config entries were not removed: " + currentConfig); diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigTransactionControllerImpl.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigTransactionControllerImpl.java index 39eef8741b..a58f7a05c6 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigTransactionControllerImpl.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigTransactionControllerImpl.java @@ -53,7 +53,7 @@ class ConfigTransactionControllerImpl implements ConfigTransactionControllerInternal, ConfigTransactionControllerImplMXBean, Identifiable { - private static final Logger logger = LoggerFactory.getLogger(ConfigTransactionControllerImpl.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ConfigTransactionControllerImpl.class); private final ConfigTransactionLookupRegistry txLookupRegistry; private final ObjectName controllerON; @@ -226,7 +226,7 @@ class ConfigTransactionControllerImpl implements boolean isDefaultBean, BundleContext bundleContext) throws InstanceAlreadyExistsException { - logger.debug("Adding module {} to transaction {}", moduleIdentifier, this); + LOGGER.debug("Adding module {} to transaction {}", moduleIdentifier, this); if (moduleIdentifier.equals(module.getIdentifier()) == false) { throw new IllegalStateException("Incorrect name reported by module. Expected " + moduleIdentifier + ", got " + module.getIdentifier()); @@ -271,15 +271,13 @@ class ConfigTransactionControllerImpl implements } private synchronized void destroyModule(ModuleIdentifier moduleIdentifier) { - logger.debug("Destroying module {} in transaction {}", moduleIdentifier, this); + LOGGER.debug("Destroying module {} in transaction {}", moduleIdentifier, this); transactionStatus.checkNotAborted(); ModuleInternalTransactionalInfo found = dependencyResolverManager.findModuleInternalTransactionalInfo(moduleIdentifier); - if (blankTransaction == false) { - - if (found.isDefaultBean()) { - logger.warn("Warning: removing default bean. This will be forbidden in next version of config-subsystem"); - } + if (blankTransaction == false && + found.isDefaultBean()) { + LOGGER.warn("Warning: removing default bean. This will be forbidden in next version of config-subsystem"); } // first remove refNames, it checks for objectname existence @@ -287,7 +285,7 @@ class ConfigTransactionControllerImpl implements writableSRRegistry.removeServiceReferences( ObjectNameUtil.createTransactionModuleON(getTransactionName(), moduleIdentifier)); } catch (InstanceNotFoundException e) { - logger.error("Possible code error: cannot find {} in {}", moduleIdentifier, writableSRRegistry); + LOGGER.error("Possible code error: cannot find {} in {}", moduleIdentifier, writableSRRegistry); throw new IllegalStateException("Possible code error: cannot find " + moduleIdentifier, e); } @@ -313,15 +311,15 @@ class ConfigTransactionControllerImpl implements } configBeanModificationDisabled.set(true); try { - validate_noLocks(); + validateNoLocks(); } finally { configBeanModificationDisabled.set(false); } } - private void validate_noLocks() throws ValidationException { + private void validateNoLocks() throws ValidationException { transactionStatus.checkNotAborted(); - logger.trace("Validating transaction {}", getTransactionIdentifier()); + LOGGER.trace("Validating transaction {}", getTransactionIdentifier()); // call validate() List collectedExceptions = new ArrayList<>(); for (Entry entry : dependencyResolverManager @@ -331,17 +329,17 @@ class ConfigTransactionControllerImpl implements try { module.validate(); } catch (Exception e) { - logger.warn("Validation exception in {}", getTransactionName(), + LOGGER.warn("Validation exception in {}", getTransactionName(), e); collectedExceptions.add(ValidationException .createForSingleException(name, e)); } } - if (collectedExceptions.size() > 0) { + if (!collectedExceptions.isEmpty()) { throw ValidationException .createFromCollectedValidationExceptions(collectedExceptions); } - logger.trace("Validated transaction {}", getTransactionIdentifier()); + LOGGER.trace("Validated transaction {}", getTransactionIdentifier()); } /** @@ -358,9 +356,9 @@ class ConfigTransactionControllerImpl implements transactionStatus.checkNotCommitStarted(); configBeanModificationDisabled.set(true); try { - validate_noLocks(); + validateNoLocks(); } catch (ValidationException e) { - logger.trace("Commit failed on validation"); + LOGGER.trace("Commit failed on validation"); configBeanModificationDisabled.set(false); // recoverable error throw e; } @@ -383,7 +381,7 @@ class ConfigTransactionControllerImpl implements + "to obtain a lock"); } - logger.trace("Committing transaction {}", getTransactionIdentifier()); + LOGGER.trace("Committing transaction {}", getTransactionIdentifier()); // call getInstance() for (Entry entry : dependencyResolverManager @@ -391,12 +389,12 @@ class ConfigTransactionControllerImpl implements Module module = entry.getValue(); ModuleIdentifier name = entry.getKey(); try { - logger.debug("About to commit {} in transaction {}", + LOGGER.debug("About to commit {} in transaction {}", name, getTransactionIdentifier()); AutoCloseable instance = module.getInstance(); checkNotNull(instance, "Instance is null:{} in transaction {}", name, getTransactionIdentifier()); } catch (Exception e) { - logger.error("Commit failed on {} in transaction {}", name, + LOGGER.error("Commit failed on {} in transaction {}", name, getTransactionIdentifier(), e); internalAbort(); throw new IllegalStateException( @@ -407,7 +405,7 @@ class ConfigTransactionControllerImpl implements // count dependency order - logger.trace("Committed configuration {}", getTransactionIdentifier()); + LOGGER.trace("Committed configuration {}", getTransactionIdentifier()); transactionStatus.setCommitted(); return dependencyResolverManager.getSortedModuleIdentifiers(); @@ -421,7 +419,7 @@ class ConfigTransactionControllerImpl implements } private void internalAbort() { - logger.trace("Aborting {}", this); + LOGGER.trace("Aborting {}", this); transactionStatus.setAborted(); close(); } diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/DeadlockMonitor.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/DeadlockMonitor.java index d34a739703..b59b48e5a9 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/DeadlockMonitor.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/DeadlockMonitor.java @@ -11,7 +11,7 @@ import java.util.LinkedList; import java.util.concurrent.TimeUnit; public class DeadlockMonitor implements AutoCloseable { - private static final Logger logger = LoggerFactory.getLogger(DeadlockMonitorRunnable.class); + private static final Logger LOGGER = LoggerFactory.getLogger(DeadlockMonitorRunnable.class); private static final long WARN_AFTER_MILLIS = 5000; @@ -43,7 +43,7 @@ public class DeadlockMonitor implements AutoCloseable { moduleIdentifierWithNanosStack.push(current); top = current; } - logger.trace("setCurrentlyInstantiatedModule {}, top {}", currentlyInstantiatedModule, top); + LOGGER.trace("setCurrentlyInstantiatedModule {}, top {}", currentlyInstantiatedModule, top); } public boolean isAlive() { @@ -78,7 +78,7 @@ public class DeadlockMonitor implements AutoCloseable { // is the getInstance() running longer than WARN_AFTER_MILLIS ? long runningTime = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - copy.nanoTime); if (runningTime > WARN_AFTER_MILLIS) { - logger.warn("{} did not finish after {} ms", copy.moduleIdentifier, runningTime); + LOGGER.warn("{} did not finish after {} ms", copy.moduleIdentifier, runningTime); } } try { @@ -87,7 +87,7 @@ public class DeadlockMonitor implements AutoCloseable { interrupt(); } } - logger.trace("Exiting {}", this); + LOGGER.trace("Exiting {}", this); } @Override @@ -122,14 +122,21 @@ public class DeadlockMonitor implements AutoCloseable { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } ModuleIdentifierWithNanos that = (ModuleIdentifierWithNanos) o; - if (nanoTime != that.nanoTime) return false; - if (moduleIdentifier != null ? !moduleIdentifier.equals(that.moduleIdentifier) : that.moduleIdentifier != null) + if (nanoTime != that.nanoTime) { return false; + } + if (moduleIdentifier != null ? !moduleIdentifier.equals(that.moduleIdentifier) : that.moduleIdentifier != null) { + return false; + } return true; } diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ServiceReferenceRegistryImpl.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ServiceReferenceRegistryImpl.java index 52bb3f5ed1..0f881e95ad 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ServiceReferenceRegistryImpl.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ServiceReferenceRegistryImpl.java @@ -38,7 +38,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceReadableRegistry, SearchableServiceReferenceWritableRegistry { - private static final Logger logger = LoggerFactory.getLogger(ServiceReferenceRegistryImpl.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ServiceReferenceRegistryImpl.class); private final Map factories; private final Map> factoryNamesToQNames; @@ -176,7 +176,7 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe boolean skipChecks = true; newRegistry.saveServiceReference(refNameEntry.getKey(), currentImplementation, skipChecks); } catch (InstanceNotFoundException e) { - logger.error("Cannot save service reference({}, {})", refNameEntry.getKey(), currentImplementation); + LOGGER.error("Cannot save service reference({}, {})", refNameEntry.getKey(), currentImplementation); throw new IllegalStateException("Possible code error", e); } } @@ -201,22 +201,22 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe Map> modifiableFactoryNamesToQNames = new HashMap<>(); Set allAnnotations = new HashSet<>(); - Set allQNames = new HashSet<>(); + Set allQNameSet = new HashSet<>(); for (Entry entry : factories.entrySet()) { if (entry.getKey().equals(entry.getValue().getImplementationName()) == false) { - logger.error("Possible error in code: Mismatch between supplied and actual name of {}", entry); + LOGGER.error("Possible error in code: Mismatch between supplied and actual name of {}", entry); throw new IllegalArgumentException("Possible error in code: Mismatch between supplied and actual name of " + entry); } Set siAnnotations = InterfacesHelper.getServiceInterfaceAnnotations(entry.getValue()); Set qNames = InterfacesHelper.getQNames(siAnnotations); allAnnotations.addAll(siAnnotations); - allQNames.addAll(qNames); + allQNameSet.addAll(qNames); modifiableFactoryNamesToQNames.put(entry.getKey(), Collections.unmodifiableSet(qNames)); } this.factoryNamesToQNames = Collections.unmodifiableMap(modifiableFactoryNamesToQNames); - this.allQNames = Collections.unmodifiableSet(allQNames); + this.allQNames = Collections.unmodifiableSet(allQNameSet); // fill namespacesToAnnotations Map> modifiableNamespacesToAnnotations = new HashMap<>(); @@ -228,7 +228,7 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe modifiableNamespacesToAnnotations.put(sia.namespace(), ofNamespace); } if (ofNamespace.containsKey(sia.localName())) { - logger.error("Cannot construct namespacesToAnnotations map, conflict between local names in {}, offending local name: {}, map so far {}", + LOGGER.error("Cannot construct namespacesToAnnotations map, conflict between local names in {}, offending local name: {}, map so far {}", sia.namespace(), sia.localName(), modifiableNamespacesToAnnotations); throw new IllegalArgumentException("Conflict between local names in " + sia.namespace() + " : " + sia.localName()); } @@ -237,7 +237,7 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe } this.namespacesToAnnotations = Collections.unmodifiableMap(modifiableNamespacesToAnnotations); this.serviceQNamesToAnnotations = Collections.unmodifiableMap(modifiableServiceQNamesToAnnotations); - logger.trace("factoryNamesToQNames:{}", this.factoryNamesToQNames); + LOGGER.trace("factoryNamesToQNames:{}", this.factoryNamesToQNames); } @Override @@ -256,7 +256,7 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe String factoryName = ObjectNameUtil.getFactoryName(objectName); Set serviceInterfaceAnnotations = factoryNamesToQNames.get(factoryName); if (serviceInterfaceAnnotations == null) { - logger.error("Possible error in code: cannot find factory annotations of '{}' extracted from ON {} in {}", + LOGGER.error("Possible error in code: cannot find factory annotations of '{}' extracted from ON {} in {}", factoryName, objectName, factoryNamesToQNames); throw new IllegalArgumentException("Cannot find factory with name " + factoryName); } @@ -267,12 +267,12 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe public synchronized String getServiceInterfaceName(String namespace, String localName) { Map ofNamespace = namespacesToAnnotations.get(namespace); if (ofNamespace == null) { - logger.error("Cannot find namespace {} in {}", namespace, namespacesToAnnotations); + LOGGER.error("Cannot find namespace {} in {}", namespace, namespacesToAnnotations); throw new IllegalArgumentException("Cannot find namespace " + namespace); } ServiceInterfaceAnnotation sia = ofNamespace.get(localName); if (sia == null) { - logger.error("Cannot find local name {} in namespace {}, found only {}", localName, namespace, ofNamespace); + LOGGER.error("Cannot find local name {} in namespace {}, found only {}", localName, namespace, ofNamespace); throw new IllegalArgumentException("Cannot find local name " + localName + " in namespace " + namespace); } return sia.value(); @@ -300,7 +300,7 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe try { on = lookupRegistry.lookupConfigBean(moduleIdentifier.getFactoryName(), moduleIdentifier.getInstanceName()); } catch (InstanceNotFoundException e) { - logger.error("Cannot find instance {}", moduleIdentifier); + LOGGER.error("Cannot find instance {}", moduleIdentifier); throw new IllegalStateException("Cannot find instance " + moduleIdentifier, e); } return on; @@ -311,7 +311,7 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe ServiceReference serviceReference = new ServiceReference(serviceInterfaceQName, refName); ModuleIdentifier moduleIdentifier = refNames.get(serviceReference); if (moduleIdentifier == null) { - logger.error("Cannot find qname {} and refName {} in {}", serviceInterfaceQName, refName, refName); + LOGGER.error("Cannot find qname {} and refName {} in {}", serviceInterfaceQName, refName, refName); throw new IllegalArgumentException("Cannot find " + serviceReference); } return getObjectName(moduleIdentifier); @@ -322,7 +322,7 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe Map> serviceMapping = getServiceMapping(); Map innerMap = serviceMapping.get(serviceInterfaceQName); if (innerMap == null) { - logger.error("Cannot find qname {} in {}", serviceInterfaceQName, refNames); + LOGGER.error("Cannot find qname {} in {}", serviceInterfaceQName, refNames); throw new IllegalArgumentException("Cannot find " + serviceInterfaceQName); } return innerMap; @@ -348,7 +348,7 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe String referenceName = ObjectNameUtil.getReferenceName(objectName); ServiceReference serviceReference = new ServiceReference(serviceQName, referenceName); if (refNames.containsKey(serviceReference) == false) { - logger.warn("Cannot find {} in {}", serviceReference, refNames); + LOGGER.warn("Cannot find {} in {}", serviceReference, refNames); throw new InstanceNotFoundException("Service reference not found:" + objectName); } } @@ -387,13 +387,13 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe // check that service interface name exist Set serviceInterfaceQNames = factoryNamesToQNames.get(moduleIdentifier.getFactoryName()); if (serviceInterfaceQNames == null) { - logger.error("Possible error in code: cannot find factoryName {} in {}, {}", moduleIdentifier.getFactoryName(), + LOGGER.error("Possible error in code: cannot find factoryName {} in {}, {}", moduleIdentifier.getFactoryName(), factoryNamesToQNames, moduleIdentifier); throw new IllegalStateException("Possible error in code: cannot find annotations of existing factory " + moduleIdentifier.getFactoryName()); } // supplied serviceInterfaceName must exist in this collection if (serviceInterfaceQNames.contains(serviceReference.getServiceInterfaceQName()) == false) { - logger.error("Cannot find qName {} with factory name {}, found {}", serviceReference.getServiceInterfaceQName(), moduleIdentifier.getFactoryName(), serviceInterfaceQNames); + LOGGER.error("Cannot find qName {} with factory name {}, found {}", serviceReference.getServiceInterfaceQName(), moduleIdentifier.getFactoryName(), serviceInterfaceQNames); throw new IllegalArgumentException("Cannot find service interface " + serviceReference.getServiceInterfaceQName() + " within factory " + moduleIdentifier.getFactoryName()); } @@ -465,11 +465,11 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe } private synchronized void removeServiceReference(ServiceReference serviceReference) throws InstanceNotFoundException { - logger.debug("Removing service reference {} from {}", serviceReference, this); + LOGGER.debug("Removing service reference {} from {}", serviceReference, this); assertWritable(); // is the qName known? if (allQNames.contains(serviceReference.getServiceInterfaceQName()) == false) { - logger.error("Cannot find qname {} in {}", serviceReference.getServiceInterfaceQName(), allQNames); + LOGGER.error("Cannot find qname {} in {}", serviceReference.getServiceInterfaceQName(), allQNames); throw new IllegalArgumentException("Cannot find service interface " + serviceReference.getServiceInterfaceQName()); } ModuleIdentifier removed = refNames.remove(serviceReference); @@ -518,7 +518,7 @@ public class ServiceReferenceRegistryImpl implements CloseableServiceReferenceRe private Set findServiceReferencesLinkingTo(ObjectName moduleObjectName, Set serviceInterfaceQNames) { String factoryName = ObjectNameUtil.getFactoryName(moduleObjectName); if (serviceInterfaceQNames == null) { - logger.warn("Possible error in code: cannot find factoryName {} in {}, object name {}", factoryName, factoryNamesToQNames, moduleObjectName); + LOGGER.warn("Possible error in code: cannot find factoryName {} in {}, object name {}", factoryName, factoryNamesToQNames, moduleObjectName); throw new IllegalStateException("Possible error in code: cannot find annotations of existing factory " + factoryName); } String instanceName = ObjectNameUtil.getInstanceName(moduleObjectName); diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverImpl.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverImpl.java index 4f60a673f5..a7a67d3d16 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverImpl.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverImpl.java @@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory; */ final class DependencyResolverImpl implements DependencyResolver, Comparable { - private static final Logger logger = LoggerFactory.getLogger(DependencyResolverImpl.class); + private static final Logger LOGGER = LoggerFactory.getLogger(DependencyResolverImpl.class); private final ModulesHolder modulesHolder; private final ModuleIdentifier name; @@ -107,9 +107,9 @@ final class DependencyResolverImpl implements DependencyResolver, ), jmxAttribute ); - dependentReadOnlyON = translateServiceRefIfPossible(dependentReadOnlyON); + ObjectName newDependentReadOnlyON = translateServiceRefIfPossible(dependentReadOnlyON); - ModuleIdentifier moduleIdentifier = ObjectNameUtil.fromON(dependentReadOnlyON, ObjectNameUtil + ModuleIdentifier moduleIdentifier = ObjectNameUtil.fromON(newDependentReadOnlyON, ObjectNameUtil .TYPE_MODULE); ModuleFactory foundFactory = modulesHolder.findModuleFactory(moduleIdentifier, jmxAttribute); @@ -122,7 +122,7 @@ final class DependencyResolverImpl implements DependencyResolver, + "Module name is %s : %s, expected service interface %s, dependent module ON %s , " + "attribute %s", foundFactory.getImplementationName(), foundFactory, - expectedServiceInterface, dependentReadOnlyON, + expectedServiceInterface, newDependentReadOnlyON, jmxAttribute ); throw new JmxAttributeValidationException(message, jmxAttribute); @@ -134,13 +134,14 @@ final class DependencyResolverImpl implements DependencyResolver, // translate from serviceref to module ON private ObjectName translateServiceRefIfPossible(ObjectName dependentReadOnlyON) { - if (ObjectNameUtil.isServiceReference(dependentReadOnlyON)) { - String serviceQName = ObjectNameUtil.getServiceQName(dependentReadOnlyON); - String refName = ObjectNameUtil.getReferenceName(dependentReadOnlyON); - dependentReadOnlyON = ObjectNameUtil.withoutTransactionName( // strip again of transaction name + ObjectName translatedDependentReadOnlyON = dependentReadOnlyON; + if (ObjectNameUtil.isServiceReference(translatedDependentReadOnlyON)) { + String serviceQName = ObjectNameUtil.getServiceQName(translatedDependentReadOnlyON); + String refName = ObjectNameUtil.getReferenceName(translatedDependentReadOnlyON); + translatedDependentReadOnlyON = ObjectNameUtil.withoutTransactionName( // strip again of transaction name readableRegistry.lookupConfigBeanByServiceInterfaceName(serviceQName, refName)); } - return dependentReadOnlyON; + return translatedDependentReadOnlyON; } /** @@ -155,12 +156,12 @@ final class DependencyResolverImpl implements DependencyResolver, "Null parameters not allowed, got %s %s %s", expectedType, dependentReadOnlyON, jmxAttribute)); } - dependentReadOnlyON = translateServiceRefIfPossible(dependentReadOnlyON); + ObjectName translatedDependentReadOnlyON = translateServiceRefIfPossible(dependentReadOnlyON); transactionStatus.checkCommitStarted(); transactionStatus.checkNotCommitted(); ModuleIdentifier dependentModuleIdentifier = ObjectNameUtil.fromON( - dependentReadOnlyON, ObjectNameUtil.TYPE_MODULE); + translatedDependentReadOnlyON, ObjectNameUtil.TYPE_MODULE); Module module = modulesHolder.findModule(dependentModuleIdentifier, jmxAttribute); synchronized (this) { @@ -199,7 +200,7 @@ final class DependencyResolverImpl implements DependencyResolver, if (expectedBaseClass.isAssignableFrom(deserialized)) { return (Class) deserialized; } else { - logger.error("Cannot resolve class of identity {} : deserialized class {} is not a subclass of {}.", + LOGGER.error("Cannot resolve class of identity {} : deserialized class {} is not a subclass of {}.", identityRef, deserialized, expectedBaseClass); throw new IllegalArgumentException("Deserialized identity " + deserialized + " cannot be cast to " + expectedBaseClass); } @@ -277,17 +278,17 @@ final class DependencyResolverImpl implements DependencyResolver, @Override public Object getAttribute(ObjectName name, String attribute) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException { - name = translateServiceRefIfPossible(name); + ObjectName newName = translateServiceRefIfPossible(name); // add transaction name - name = ObjectNameUtil.withTransactionName(name, transactionName); - return mBeanServer.getAttribute(name, attribute); + newName = ObjectNameUtil.withTransactionName(newName, transactionName); + return mBeanServer.getAttribute(newName, attribute); } @Override public T newMXBeanProxy(ObjectName name, Class interfaceClass) { - name = translateServiceRefIfPossible(name); + ObjectName newName = translateServiceRefIfPossible(name); // add transaction name - name = ObjectNameUtil.withTransactionName(name, transactionName); - return JMX.newMXBeanProxy(mBeanServer, name, interfaceClass); + newName = ObjectNameUtil.withTransactionName(newName, transactionName); + return JMX.newMXBeanProxy(mBeanServer, newName, interfaceClass); } } diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverManager.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverManager.java index 2a1a908e7a..15f5d48a6f 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverManager.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverManager.java @@ -139,7 +139,7 @@ public class DependencyResolverManager implements DependencyResolverFactory, Aut @Override protected Object handleInvocation(Object proxy, Method method, Object[] args) throws Throwable { - boolean isGetInstance = method.getName().equals("getInstance"); + boolean isGetInstance = "getInstance".equals(method.getName()); if (isGetInstance) { if (cachedInstance != null) { return cachedInstance; diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DestroyedModule.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DestroyedModule.java index 2aa74758d4..ec2418bc6c 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DestroyedModule.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DestroyedModule.java @@ -22,7 +22,7 @@ import org.slf4j.LoggerFactory; */ public class DestroyedModule implements AutoCloseable, Comparable, Identifiable { - private static final Logger logger = LoggerFactory + private static final Logger LOGGER = LoggerFactory .getLogger(DestroyedModule.class); private final ModuleIdentifier identifier; @@ -43,21 +43,21 @@ public class DestroyedModule implements AutoCloseable, @Override public void close() { - logger.trace("Destroying {}", identifier); + LOGGER.trace("Destroying {}", identifier); try { instance.close(); } catch (Exception e) { - logger.error("Error while closing instance of {}", identifier, e); + LOGGER.error("Error while closing instance of {}", identifier, e); } try { oldJMXRegistrator.close(); } catch (Exception e) { - logger.error("Error while closing jmx registrator of {}", identifier, e); + LOGGER.error("Error while closing jmx registrator of {}", identifier, e); } try { osgiRegistration.close(); } catch (Exception e) { - logger.error("Error while closing osgi registration of {}", identifier, e); + LOGGER.error("Error while closing osgi registration of {}", identifier, e); } } diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/AbstractDynamicWrapper.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/AbstractDynamicWrapper.java index 7e48af1caa..4a148669b1 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/AbstractDynamicWrapper.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/AbstractDynamicWrapper.java @@ -57,7 +57,7 @@ import static java.lang.String.format; * a read only wrapper. */ abstract class AbstractDynamicWrapper implements DynamicMBeanModuleWrapper { - private static final Logger logger = LoggerFactory + private static final Logger LOGGER = LoggerFactory .getLogger(AbstractDynamicWrapper.class); protected final boolean writable; @@ -234,7 +234,7 @@ abstract class AbstractDynamicWrapper implements DynamicMBeanModuleWrapper { public Object getAttribute(String attributeName) throws AttributeNotFoundException, MBeanException, ReflectionException { - if (attributeName.equals("MBeanInfo")) { + if ("MBeanInfo".equals(attributeName)) { return getMBeanInfo(); } @@ -318,7 +318,7 @@ abstract class AbstractDynamicWrapper implements DynamicMBeanModuleWrapper { result.add(new Attribute(attributeName, value)); } catch (Exception e) { - logger.debug("Getting attribute {} failed", attributeName, e); + LOGGER.debug("Getting attribute {} failed", attributeName, e); } } return result; @@ -342,7 +342,7 @@ abstract class AbstractDynamicWrapper implements DynamicMBeanModuleWrapper { && signature[0].equals(AttributeList.class.getName())) { return setAttributes((AttributeList) params[0]); } else { - logger.debug("Operation not found {} ", actionName); + LOGGER.debug("Operation not found {} ", actionName); throw new UnsupportedOperationException( format("Operation not found on %s. Method invoke is only supported for getInstance and getAttribute(s) " + "method, got actionName %s, params %s, signature %s ", diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/AnnotationsHelper.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/AnnotationsHelper.java index f3e1b4e705..c4dee3513d 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/AnnotationsHelper.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/AnnotationsHelper.java @@ -17,6 +17,9 @@ import java.util.Set; public class AnnotationsHelper { + private AnnotationsHelper() { + } + /** * Look for annotation specified by annotationType on method. First observe * method's class, then its super classes, then all provided interfaces. diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/AttributeHolder.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/AttributeHolder.java index 044f7a9ada..14be254504 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/AttributeHolder.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/AttributeHolder.java @@ -136,7 +136,7 @@ class AttributeHolder { for (RequireInterface ri : foundRequireInterfaces) { foundValues.add(ri.value()); } - if (foundValues.size() == 0) { + if (foundValues.isEmpty()) { return null; } else if (foundValues.size() > 1) { throw new IllegalStateException("Error finding @RequireInterface. " diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/DynamicReadableWrapper.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/DynamicReadableWrapper.java index 3a24940a4c..7d3cb277fb 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/DynamicReadableWrapper.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/DynamicReadableWrapper.java @@ -68,7 +68,7 @@ public class DynamicReadableWrapper extends AbstractDynamicWrapper implements public Object getAttribute(String attributeName) throws AttributeNotFoundException, MBeanException, ReflectionException { - if (attributeName.equals("getInstance")) { + if ("getInstance".equals(attributeName)) { return getInstance(); } return super.getAttribute(attributeName); diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/DynamicWritableWrapper.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/DynamicWritableWrapper.java index 07bd63b7c7..c3885150d5 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/DynamicWritableWrapper.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dynamicmbean/DynamicWritableWrapper.java @@ -47,7 +47,7 @@ import java.lang.reflect.Method; */ @ThreadSafe public class DynamicWritableWrapper extends AbstractDynamicWrapper { - private static final Logger logger = LoggerFactory + private static final Logger LOGGER = LoggerFactory .getLogger(DynamicWritableWrapper.class); private final ReadOnlyAtomicBoolean configBeanModificationDisabled; @@ -77,23 +77,24 @@ public class DynamicWritableWrapper extends AbstractDynamicWrapper { @Override public synchronized void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException { + Attribute newAttribute = attribute; if (configBeanModificationDisabled.get() == true) { throw new IllegalStateException("Operation is not allowed now"); } - if (attribute.getName().equals("Attribute")) { - setAttribute((Attribute) attribute.getValue()); + if ("Attribute".equals(newAttribute.getName())) { + setAttribute((Attribute) newAttribute.getValue()); return; } try { - if (attribute.getValue() instanceof ObjectName) { - attribute = fixDependencyAttribute(attribute); - } else if (attribute.getValue() instanceof ObjectName[]) { - attribute = fixDependencyListAttribute(attribute); + if (newAttribute.getValue() instanceof ObjectName) { + newAttribute = fixDependencyAttribute(newAttribute); + } else if (newAttribute.getValue() instanceof ObjectName[]) { + newAttribute = fixDependencyListAttribute(newAttribute); } - internalServer.setAttribute(objectNameInternal, attribute); + internalServer.setAttribute(objectNameInternal, newAttribute); } catch (InstanceNotFoundException e) { throw new MBeanException(e); } @@ -101,21 +102,23 @@ public class DynamicWritableWrapper extends AbstractDynamicWrapper { } private Attribute fixDependencyListAttribute(Attribute attribute) { - AttributeHolder attributeHolder = attributeHolderMap.get(attribute.getName()); + Attribute newAttribute = attribute; + AttributeHolder attributeHolder = attributeHolderMap.get(newAttribute.getName()); if (attributeHolder.getRequireInterfaceOrNull() != null) { - attribute = new Attribute(attribute.getName(), fixObjectNames((ObjectName[]) attribute.getValue())); + newAttribute = new Attribute(newAttribute.getName(), fixObjectNames((ObjectName[]) newAttribute.getValue())); } - return attribute; + return newAttribute; } private Attribute fixDependencyAttribute(Attribute attribute) { - AttributeHolder attributeHolder = attributeHolderMap.get(attribute.getName()); + Attribute newAttribute = attribute; + AttributeHolder attributeHolder = attributeHolderMap.get(newAttribute.getName()); if (attributeHolder.getRequireInterfaceOrNull() != null) { - attribute = new Attribute(attribute.getName(), fixObjectName((ObjectName) attribute.getValue())); + newAttribute = new Attribute(newAttribute.getName(), fixObjectName((ObjectName) newAttribute.getValue())); } else { - attribute = new Attribute(attribute.getName(), attribute.getValue()); + newAttribute = new Attribute(newAttribute.getName(), newAttribute.getValue()); } - return attribute; + return newAttribute; } private ObjectName[] fixObjectNames(ObjectName[] dependencies) { @@ -137,7 +140,7 @@ public class DynamicWritableWrapper extends AbstractDynamicWrapper { setAttribute(attribute); result.add(attribute); } catch (Exception e) { - logger.warn("Setting attribute {} failed on {}", attribute.getName(), moduleIdentifier, e); + LOGGER.warn("Setting attribute {} failed on {}", attribute.getName(), moduleIdentifier, e); throw new IllegalArgumentException( "Setting attribute failed - " + attribute.getName() + " on " + moduleIdentifier, e); diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/InternalJMXRegistrator.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/InternalJMXRegistrator.java index 98f0908dc7..f8bbee3e59 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/InternalJMXRegistrator.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/InternalJMXRegistrator.java @@ -27,7 +27,7 @@ import java.util.List; import java.util.Set; public class InternalJMXRegistrator implements Closeable { - private static final Logger logger = LoggerFactory + private static final Logger LOGGER = LoggerFactory .getLogger(InternalJMXRegistrator.class); private final MBeanServer configMBeanServer; @@ -100,7 +100,7 @@ public class InternalJMXRegistrator implements Closeable { try { configMBeanServer.unregisterMBean(on); } catch (Exception e) { - logger.warn("Ignoring error while unregistering {}", on, e); + LOGGER.warn("Ignoring error while unregistering {}", on, e); } } registeredObjectNames.clear(); diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/ModuleJMXRegistrator.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/ModuleJMXRegistrator.java index 34c0436daf..c0e9b0d101 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/ModuleJMXRegistrator.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/ModuleJMXRegistrator.java @@ -46,9 +46,10 @@ public class ModuleJMXRegistrator implements Closeable { public ModuleJMXRegistration registerMBean(Object object, ObjectName on) throws InstanceAlreadyExistsException { ObjectNameUtil.checkType(on, ObjectNameUtil.TYPE_MODULE); - if (ObjectNameUtil.getTransactionName(on) != null) + if (ObjectNameUtil.getTransactionName(on) != null) { throw new IllegalArgumentException( "Transaction name not expected in " + on); + } return new ModuleJMXRegistration(childJMXRegistrator.registerMBean( object, on)); } diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BeanToOsgiServiceManager.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BeanToOsgiServiceManager.java index b592fa3c79..c03bfa4500 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BeanToOsgiServiceManager.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BeanToOsgiServiceManager.java @@ -49,7 +49,7 @@ public class BeanToOsgiServiceManager { public static class OsgiRegistration implements AutoCloseable { - private static final Logger logger = LoggerFactory.getLogger(OsgiRegistration.class); + private static final Logger LOGGER = LoggerFactory.getLogger(OsgiRegistration.class); @GuardedBy("this") private AutoCloseable instance; @@ -89,7 +89,7 @@ public class BeanToOsgiServiceManager { try { serviceRegistration.unregister(); } catch(IllegalStateException e) { - logger.trace("Cannot unregister {}", serviceRegistration, e); + LOGGER.trace("Cannot unregister {}", serviceRegistration, e); } } serviceRegistrations.clear(); @@ -101,7 +101,7 @@ public class BeanToOsgiServiceManager { notEquals |= newAnnotationMapping.equals(serviceNamesToAnnotations) == false; if (notEquals) { // FIXME: changing from old state to new state can be improved by computing the diff - logger.debug("Detected change in service registrations for {}: old: {}, new: {}", moduleIdentifier, + LOGGER.debug("Detected change in service registrations for {}: old: {}, new: {}", moduleIdentifier, serviceNamesToAnnotations, newAnnotationMapping); close(); this.instance = newInstance; diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BlankTransactionServiceTracker.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BlankTransactionServiceTracker.java index 375ef59487..b115f1acd9 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BlankTransactionServiceTracker.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BlankTransactionServiceTracker.java @@ -25,7 +25,7 @@ import org.slf4j.LoggerFactory; * functionality. */ public class BlankTransactionServiceTracker implements ServiceTrackerCustomizer { - private static final Logger logger = LoggerFactory.getLogger(BlankTransactionServiceTracker.class); + private static final Logger LOGGER = LoggerFactory.getLogger(BlankTransactionServiceTracker.class); public static final int DEFAULT_MAX_ATTEMPTS = 10; @@ -65,7 +65,7 @@ public class BlankTransactionServiceTracker implements ServiceTrackerCustomizer< try { // create transaction CommitStatus commitStatus = blankTransaction.hit(); - logger.debug("Committed blank transaction with status {}", commitStatus); + LOGGER.debug("Committed blank transaction with status {}", commitStatus); return; } catch (ConflictingVersionException e) { lastException = e; @@ -76,7 +76,7 @@ public class BlankTransactionServiceTracker implements ServiceTrackerCustomizer< throw new IllegalStateException(interruptedException); } } catch (ValidationException e) { - logger.error("Validation exception while running blank transaction indicates programming error", e); + LOGGER.error("Validation exception while running blank transaction indicates programming error", e); throw new RuntimeException("Validation exception while running blank transaction indicates programming error", e); } } diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BundleContextBackedModuleFactoriesResolver.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BundleContextBackedModuleFactoriesResolver.java index 1e94e5e9c0..7cb4445328 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BundleContextBackedModuleFactoriesResolver.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BundleContextBackedModuleFactoriesResolver.java @@ -25,7 +25,7 @@ import java.util.Map; */ public class BundleContextBackedModuleFactoriesResolver implements ModuleFactoriesResolver { - private static final Logger logger = LoggerFactory + private static final Logger LOGGER = LoggerFactory .getLogger(BundleContextBackedModuleFactoriesResolver.class); private final BundleContext bundleContext; @@ -62,14 +62,14 @@ public class BundleContextBackedModuleFactoriesResolver implements if (serviceReference.getBundle() == null || serviceReference.getBundle().getBundleContext() == null) { throw new NullPointerException("Bundle context of " + factory + " ModuleFactory not found."); } - logger.debug("Reading factory {} {}", moduleName, factory); + LOGGER.debug("Reading factory {} {}", moduleName, factory); Map.Entry conflicting = result.get(moduleName); if (conflicting != null) { String error = String .format("Module name is not unique. Found two conflicting factories with same name '%s': '%s' '%s'", moduleName, conflicting.getKey(), factory); - logger.error(error); + LOGGER.error(error); throw new IllegalArgumentException(error); } else { result.put(moduleName, new AbstractMap.SimpleImmutableEntry<>(factory, diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ModuleFactoryBundleTracker.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ModuleFactoryBundleTracker.java index 3015ed229e..3c8fc042a3 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ModuleFactoryBundleTracker.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ModuleFactoryBundleTracker.java @@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory; */ public class ModuleFactoryBundleTracker implements BundleTrackerCustomizer { private final BlankTransactionServiceTracker blankTransactionServiceTracker; - private static final Logger logger = LoggerFactory.getLogger(ModuleFactoryBundleTracker.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ModuleFactoryBundleTracker.class); public ModuleFactoryBundleTracker(BlankTransactionServiceTracker blankTransactionServiceTracker) { this.blankTransactionServiceTracker = blankTransactionServiceTracker; @@ -44,7 +44,7 @@ public class ModuleFactoryBundleTracker implements BundleTrackerCustomizer clazz = bundle.loadClass(factoryClassName); if (ModuleFactory.class.isAssignableFrom(clazz)) { try { - logger.debug("Registering {} in bundle {}", + LOGGER.debug("Registering {} in bundle {}", clazz.getName(), bundle); return bundle.getBundleContext().registerService( ModuleFactory.class.getName(), clazz.newInstance(), @@ -111,7 +111,7 @@ public class ModuleFactoryBundleTracker implements BundleTrackerCustomizer>> { - private static final Logger logger = LoggerFactory.getLogger(ModuleInfoBundleTracker.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ModuleInfoBundleTracker.class); public static final String MODULE_INFO_PROVIDER_PATH_PREFIX = "META-INF/services/"; @@ -45,7 +45,7 @@ public final class ModuleInfoBundleTracker implements BundleTrackerCustomizer> addingBundle(Bundle bundle, BundleEvent event) { URL resource = bundle.getEntry(MODULE_INFO_PROVIDER_PATH_PREFIX + YangModelBindingProvider.class.getName()); - logger.debug("Got addingBundle({}) with YangModelBindingProvider resource {}", bundle, resource); + LOGGER.debug("Got addingBundle({}) with YangModelBindingProvider resource {}", bundle, resource); if(resource==null) { return null; } @@ -54,16 +54,16 @@ public final class ModuleInfoBundleTracker implements BundleTrackerCustomizer lines = IOUtils.readLines(inputStream); for (String moduleInfoName : lines) { - logger.trace("Retrieve ModuleInfo({}, {})", moduleInfoName, bundle); + LOGGER.trace("Retrieve ModuleInfo({}, {})", moduleInfoName, bundle); YangModuleInfo moduleInfo = retrieveModuleInfo(moduleInfoName, bundle); registrations.add(moduleInfoRegistry.registerModuleInfo(moduleInfo)); } } catch (Exception e) { - logger.error("Error while reading {}", resource, e); + LOGGER.error("Error while reading {}", resource, e); throw new RuntimeException(e); } - logger.trace("Got following registrations {}", registrations); + LOGGER.trace("Got following registrations {}", registrations); return registrations; } @@ -111,7 +111,7 @@ public final class ModuleInfoBundleTracker implements BundleTrackerCustomizer> getAllInterfaces(Class clazz) { if (clazz.isInterface()) { throw new IllegalArgumentException(clazz @@ -38,17 +41,17 @@ public class InterfacesHelper { } private static Set> getAllSuperInterfaces(Set> ifcs) { - ifcs = new HashSet<>(ifcs); // create copy to modify + Set> interfaces = new HashSet<>(ifcs); // create copy to modify // each interface can extend other interfaces Set> result = new HashSet<>(); - while (ifcs.size() > 0) { - Iterator> iterator = ifcs.iterator(); + while (!interfaces.isEmpty()) { + Iterator> iterator = interfaces.iterator(); Class ifc = iterator.next(); iterator.remove(); if (ifc.isInterface() == false) { throw new IllegalArgumentException(ifc + " should be an interface"); } - ifcs.addAll(Arrays.asList(ifc.getInterfaces())); + interfaces.addAll(Arrays.asList(ifc.getInterfaces())); result.add(ifc); } return result; diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/util/LookupBeansUtil.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/util/LookupBeansUtil.java index fdde0b23ef..284e109f2d 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/util/LookupBeansUtil.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/util/LookupBeansUtil.java @@ -16,12 +16,15 @@ import org.opendaylight.controller.config.api.LookupRegistry; public class LookupBeansUtil { + private LookupBeansUtil() { + } + public static ObjectName lookupConfigBean(LookupRegistry lookupRegistry, String moduleName, String instanceName) throws InstanceNotFoundException { Set objectNames = lookupRegistry.lookupConfigBeans( moduleName, instanceName); - if (objectNames.size() == 0) { + if (objectNames.isEmpty()) { throw new InstanceNotFoundException("No instance found"); } else if (objectNames.size() > 1) { throw new InstanceNotFoundException("Too many instances found"); diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/util/ModuleQNameUtil.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/util/ModuleQNameUtil.java index f1072a76ae..1cb31caea1 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/util/ModuleQNameUtil.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/util/ModuleQNameUtil.java @@ -19,6 +19,9 @@ import java.util.Set; public class ModuleQNameUtil { + private ModuleQNameUtil() { + } + public static Set getQNames(Map> resolved) { Set result = new HashSet<>(); for (Entry entry : resolved.values()) { diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/util/OsgiRegistrationUtil.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/util/OsgiRegistrationUtil.java index 2df28f0a15..f839452dca 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/util/OsgiRegistrationUtil.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/util/OsgiRegistrationUtil.java @@ -21,7 +21,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class OsgiRegistrationUtil { - private static final Logger logger = LoggerFactory.getLogger(OsgiRegistrationUtil.class); + private static final Logger LOGGER = LoggerFactory.getLogger(OsgiRegistrationUtil.class); + + private OsgiRegistrationUtil() { + } @SafeVarargs public static AutoCloseable registerService(BundleContext bundleContext, T service, Class ... interfaces) { @@ -80,7 +83,7 @@ public class OsgiRegistrationUtil { try { ac.close(); } catch (Exception e) { - logger.warn("Exception while closing {}", ac, e); + LOGGER.warn("Exception while closing {}", ac, e); if (firstException == null) { firstException = e; } else { diff --git a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/AbstractFeatureWrapper.java b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/AbstractFeatureWrapper.java index 1bf2025c46..3e004b4d7c 100644 --- a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/AbstractFeatureWrapper.java +++ b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/AbstractFeatureWrapper.java @@ -30,7 +30,7 @@ import com.google.common.base.Preconditions; * Delegates the the contained feature and provides additional methods. */ public class AbstractFeatureWrapper implements Feature { - private static final Logger logger = LoggerFactory.getLogger(AbstractFeatureWrapper.class); + private static final Logger LOGGER = LoggerFactory.getLogger(AbstractFeatureWrapper.class); protected Feature feature = null; protected AbstractFeatureWrapper() { @@ -55,7 +55,7 @@ public class AbstractFeatureWrapper implements Feature { try { snapShotHolders.add(new FeatureConfigSnapshotHolder(c,this)); } catch (JAXBException e) { - logger.debug("{} is not a config subsystem config file",c.getFinalname()); + LOGGER.debug("{} is not a config subsystem config file",c.getFinalname()); } } return snapShotHolders; @@ -71,18 +71,23 @@ public class AbstractFeatureWrapper implements Feature { @Override public boolean equals(Object obj) { - if (this == obj) + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; + } AbstractFeatureWrapper other = (AbstractFeatureWrapper) obj; if (feature == null) { - if (other.feature != null) + if (other.feature != null) { return false; - } else if (!feature.equals(other.feature)) + } + } else if (!feature.equals(other.feature)) { return false; + } return true; } diff --git a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ChildAwareFeatureWrapper.java b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ChildAwareFeatureWrapper.java index 8d2ae68a9a..2bff906900 100644 --- a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ChildAwareFeatureWrapper.java +++ b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ChildAwareFeatureWrapper.java @@ -30,7 +30,7 @@ import com.google.common.base.Preconditions; * Delegates the the contained feature and provides additional methods. */ public class ChildAwareFeatureWrapper extends AbstractFeatureWrapper implements Feature { - private static final Logger logger = LoggerFactory.getLogger(ChildAwareFeatureWrapper.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ChildAwareFeatureWrapper.class); private FeaturesService featuresService= null; protected ChildAwareFeatureWrapper(Feature f) { @@ -79,7 +79,7 @@ public class ChildAwareFeatureWrapper extends AbstractFeatureWrapper implements f = new FeatureConfigSnapshotHolder(h,this); snapShotHolders.add(f); } catch (JAXBException e) { - logger.debug("{} is not a config subsystem config file",h.getFileInfo().getFinalname()); + LOGGER.debug("{} is not a config subsystem config file",h.getFileInfo().getFinalname()); } } } @@ -95,11 +95,10 @@ public class ChildAwareFeatureWrapper extends AbstractFeatureWrapper implements for(Feature f: features) { if (f.getName().equals(dependency.getName())) { Version v = VersionTable.getVersion(f.getVersion()); - if (range.contains(v)) { - if (fi == null || VersionTable.getVersion(fi.getVersion()).compareTo(v) < 0) { + if (range.contains(v) && + (fi == null || VersionTable.getVersion(fi.getVersion()).compareTo(v) < 0)) { fi = f; break; - } } } } diff --git a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigFeaturesListener.java b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigFeaturesListener.java index b8f18960d1..2af4719994 100644 --- a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigFeaturesListener.java +++ b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigFeaturesListener.java @@ -19,7 +19,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ConfigFeaturesListener implements FeaturesListener, AutoCloseable { - private static final Logger logger = LoggerFactory.getLogger(ConfigFeaturesListener.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ConfigFeaturesListener.class); private static final int QUEUE_SIZE = 1000; private BlockingQueue queue = new LinkedBlockingQueue(QUEUE_SIZE); Thread pushingThread = null; @@ -36,7 +36,7 @@ public class ConfigFeaturesListener implements FeaturesListener, AutoCloseable @Override public void repositoryEvent(RepositoryEvent event) { - logger.debug("Repository: " + event.getType() + " " + event.getRepository()); + LOGGER.debug("Repository: " + event.getType() + " " + event.getRepository()); } @Override diff --git a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPusherCustomizer.java b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPusherCustomizer.java index d33a8cba92..abb1dbe9aa 100644 --- a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPusherCustomizer.java +++ b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPusherCustomizer.java @@ -17,14 +17,14 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ConfigPusherCustomizer implements ServiceTrackerCustomizer, AutoCloseable { - private static final Logger logger = LoggerFactory.getLogger(ConfigPusherCustomizer.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ConfigPusherCustomizer.class); private ConfigFeaturesListener configFeaturesListener = null; private FeatureServiceCustomizer featureServiceCustomizer = null; private ServiceTracker fsst = null; @Override public ConfigPusher addingService(ServiceReference configPusherServiceReference) { - logger.trace("Got ConfigPusherCustomizer.addingService {}", configPusherServiceReference); + LOGGER.trace("Got ConfigPusherCustomizer.addingService {}", configPusherServiceReference); BundleContext bc = configPusherServiceReference.getBundle().getBundleContext(); ConfigPusher cpService = bc.getService(configPusherServiceReference); featureServiceCustomizer = new FeatureServiceCustomizer(cpService); diff --git a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPushingRunnable.java b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPushingRunnable.java index 06c5c920f4..b0e64b84d2 100644 --- a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPushingRunnable.java +++ b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ConfigPushingRunnable.java @@ -23,7 +23,7 @@ import org.slf4j.LoggerFactory; import com.google.common.collect.LinkedHashMultimap; public class ConfigPushingRunnable implements Runnable { - private static final Logger logger = LoggerFactory.getLogger(ConfigPushingRunnable.class); + private static final Logger LOGGER = LoggerFactory.getLogger(ConfigPushingRunnable.class); private static final int POLL_TIME = 1; private BlockingQueue queue; private FeatureConfigPusher configPusher; @@ -49,14 +49,14 @@ public class ConfigPushingRunnable implements Runnable { processFeatureEvent(event,toInstall); } } else if(toInstall.isEmpty()) { - logger.error("ConfigPushingRunnable - exiting"); + LOGGER.error("ConfigPushingRunnable - exiting"); return; } } catch (InterruptedException e) { - logger.error("ConfigPushingRunnable - interupted"); + LOGGER.error("ConfigPushingRunnable - interupted"); interuppted = true; } catch (Exception e) { - logger.error("Exception while processing features {}", e); + LOGGER.error("Exception while processing features {}", e); } } } @@ -73,7 +73,7 @@ public class ConfigPushingRunnable implements Runnable { protected void logPushResult(LinkedHashMultimap results) { for(Feature f:results.keySet()) { - logger.info("Pushed configs for feature {} {}",f,results.get(f)); + LOGGER.info("Pushed configs for feature {} {}",f,results.get(f)); } } } diff --git a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigPusher.java b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigPusher.java index 17099f9d33..5c5061277b 100644 --- a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigPusher.java +++ b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigPusher.java @@ -25,7 +25,7 @@ import com.google.common.collect.LinkedHashMultimap; * Simple class to push configs to the config subsystem from Feature's configfiles */ public class FeatureConfigPusher { - private static final Logger logger = LoggerFactory.getLogger(FeatureConfigPusher.class); + private static final Logger LOGGER = LoggerFactory.getLogger(FeatureConfigPusher.class); private static final int MAX_RETRIES=100; private static final int RETRY_PAUSE_MILLIS=1; private FeaturesService featuresService = null; @@ -90,13 +90,13 @@ public class FeatureConfigPusher { if(installedFeatures.contains(feature)) { return true; } else { - logger.warn("Karaf featuresService.listInstalledFeatures() has not yet finished installing feature (retry {}) {} {}",retries,feature.getName(),feature.getVersion()); + LOGGER.warn("Karaf featuresService.listInstalledFeatures() has not yet finished installing feature (retry {}) {} {}",retries,feature.getName(),feature.getVersion()); } } catch (Exception e) { if(retries < MAX_RETRIES) { - logger.warn("Karaf featuresService.listInstalledFeatures() has thrown an exception, retry {}, Exception {}", retries,e); + LOGGER.warn("Karaf featuresService.listInstalledFeatures() has thrown an exception, retry {}, Exception {}", retries,e); } else { - logger.error("Giving up on Karaf featuresService.listInstalledFeatures() which has thrown an exception, retry {}, Exception {}", retries,e); + LOGGER.error("Giving up on Karaf featuresService.listInstalledFeatures() which has thrown an exception, retry {}, Exception {}", retries,e); throw e; } } @@ -106,7 +106,7 @@ public class FeatureConfigPusher { throw new IllegalStateException(e1); } } - logger.error("Giving up (after {} retries) on Karaf featuresService.listInstalledFeatures() which has not yet finished installing feature {} {}",MAX_RETRIES,feature.getName(),feature.getVersion()); + LOGGER.error("Giving up (after {} retries) on Karaf featuresService.listInstalledFeatures() which has not yet finished installing feature {} {}",MAX_RETRIES,feature.getName(),feature.getVersion()); return false; } diff --git a/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/XmlFileStorageAdapter.java b/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/XmlFileStorageAdapter.java index e75c62b81d..02f9f8b80a 100644 --- a/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/XmlFileStorageAdapter.java +++ b/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/XmlFileStorageAdapter.java @@ -31,7 +31,7 @@ import java.util.SortedSet; * StorageAdapter that stores configuration in an xml file. */ public class XmlFileStorageAdapter implements StorageAdapter, Persister { - private static final Logger logger = LoggerFactory.getLogger(XmlFileStorageAdapter.class); + private static final Logger LOGGER = LoggerFactory.getLogger(XmlFileStorageAdapter.class); public static final String FILE_STORAGE_PROP = "fileStorage"; public static final String NUMBER_OF_BACKUPS = "numberOfBackups"; @@ -42,15 +42,15 @@ public class XmlFileStorageAdapter implements StorageAdapter, Persister { @Override public Persister instantiate(PropertiesProvider propertiesProvider) { File storage = extractStorageFileFromProperties(propertiesProvider); - logger.debug("Using file {}", storage.getAbsolutePath()); + LOGGER.debug("Using file {}", storage.getAbsolutePath()); // Create file if it does not exist File parentFile = storage.getAbsoluteFile().getParentFile(); if (parentFile.exists() == false) { - logger.debug("Creating parent folders {}", parentFile); + LOGGER.debug("Creating parent folders {}", parentFile); parentFile.mkdirs(); } if (storage.exists() == false) { - logger.debug("Storage file does not exist, creating empty file"); + LOGGER.debug("Storage file does not exist, creating empty file"); try { boolean result = storage.createNewFile(); if (result == false) @@ -87,7 +87,7 @@ public class XmlFileStorageAdapter implements StorageAdapter, Persister { } else { numberOfStoredBackups = Integer.MAX_VALUE; } - logger.trace("Property {} set to {}", NUMBER_OF_BACKUPS, numberOfStoredBackups); + LOGGER.trace("Property {} set to {}", NUMBER_OF_BACKUPS, numberOfStoredBackups); return result; } @@ -110,10 +110,11 @@ public class XmlFileStorageAdapter implements StorageAdapter, Persister { Optional lastSnapshot = Config.fromXml(storage).getLastSnapshot(); - if (lastSnapshot.isPresent()) + if (lastSnapshot.isPresent()) { return Lists.newArrayList(toConfigSnapshot(lastSnapshot.get())); - else + } else { return Collections.emptyList(); + } } diff --git a/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/model/ConfigSnapshot.java b/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/model/ConfigSnapshot.java index 7c069dab6b..03b03befe0 100644 --- a/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/model/ConfigSnapshot.java +++ b/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/model/ConfigSnapshot.java @@ -59,7 +59,7 @@ public class ConfigSnapshot { @Override public String toString() { - final StringBuffer sb = new StringBuffer("ConfigSnapshot{"); + final StringBuilder sb = new StringBuilder("ConfigSnapshot{"); sb.append("configSnapshot='").append(configSnapshot).append('\''); sb.append(", capabilities=").append(capabilities); sb.append('}'); diff --git a/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/model/StringTrimAdapter.java b/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/model/StringTrimAdapter.java index 3c544d4e49..3c5f0bdab6 100644 --- a/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/model/StringTrimAdapter.java +++ b/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/model/StringTrimAdapter.java @@ -12,15 +12,17 @@ import javax.xml.bind.annotation.adapters.XmlAdapter; final class StringTrimAdapter extends XmlAdapter { @Override public String unmarshal(String v) throws Exception { - if (v == null) + if (v == null) { return null; + } return v.trim(); } @Override public String marshal(String v) throws Exception { - if (v == null) + if (v == null) { return null; + } return v.trim(); } } diff --git a/opendaylight/config/config-util/src/main/java/org/opendaylight/controller/config/util/ConfigRegistryJMXClient.java b/opendaylight/config/config-util/src/main/java/org/opendaylight/controller/config/util/ConfigRegistryJMXClient.java index 559993f264..11f64e959b 100644 --- a/opendaylight/config/config-util/src/main/java/org/opendaylight/controller/config/util/ConfigRegistryJMXClient.java +++ b/opendaylight/config/config-util/src/main/java/org/opendaylight/controller/config/util/ConfigRegistryJMXClient.java @@ -74,16 +74,17 @@ public class ConfigRegistryJMXClient implements ConfigRegistryClient { */ @Deprecated public T newMBeanProxy(ObjectName on, Class clazz) { - on = translateServiceRefIfPossible(on, clazz, configMBeanServer); - return JMX.newMBeanProxy(configMBeanServer, on, clazz); + ObjectName onObj = translateServiceRefIfPossible(on, clazz, configMBeanServer); + return JMX.newMBeanProxy(configMBeanServer, onObj, clazz); } static ObjectName translateServiceRefIfPossible(ObjectName on, Class clazz, MBeanServer configMBeanServer) { - if (ObjectNameUtil.isServiceReference(on) && clazz.equals(ServiceReferenceMXBean.class) == false) { - ServiceReferenceMXBean proxy = JMX.newMXBeanProxy(configMBeanServer, on, ServiceReferenceMXBean.class); - on = proxy.getCurrentImplementation(); + ObjectName onObj = on; + if (ObjectNameUtil.isServiceReference(onObj) && clazz.equals(ServiceReferenceMXBean.class) == false) { + ServiceReferenceMXBean proxy = JMX.newMXBeanProxy(configMBeanServer, onObj, ServiceReferenceMXBean.class); + onObj = proxy.getCurrentImplementation(); } - return on; + return onObj; } diff --git a/opendaylight/config/config-util/src/main/java/org/opendaylight/controller/config/util/ConfigTransactionJMXClient.java b/opendaylight/config/config-util/src/main/java/org/opendaylight/controller/config/util/ConfigTransactionJMXClient.java index bc18851553..20e26f6508 100644 --- a/opendaylight/config/config-util/src/main/java/org/opendaylight/controller/config/util/ConfigTransactionJMXClient.java +++ b/opendaylight/config/config-util/src/main/java/org/opendaylight/controller/config/util/ConfigTransactionJMXClient.java @@ -45,12 +45,13 @@ public class ConfigTransactionJMXClient implements ConfigTransactionClient { } public T newMXBeanProxy(ObjectName on, Class clazz) { + ObjectName onName = on; // if on is without transaction, add it. Reason is that when using getters on MXBeans the transaction name is stripped - on = ObjectNameUtil.withTransactionName(on, getTransactionName()); + onName = ObjectNameUtil.withTransactionName(onName, getTransactionName()); // if this is service reference and user requests for implementation, look it up - on = ConfigRegistryJMXClient.translateServiceRefIfPossible(on, clazz, configMBeanServer); - on = ObjectNameUtil.withTransactionName(on, getTransactionName()); - return JMX.newMXBeanProxy(configMBeanServer, on, clazz); + onName = ConfigRegistryJMXClient.translateServiceRefIfPossible(onName, clazz, configMBeanServer); + onName = ObjectNameUtil.withTransactionName(onName, getTransactionName()); + return JMX.newMXBeanProxy(configMBeanServer, onName, clazz); } /** @@ -260,9 +261,10 @@ public class ConfigTransactionJMXClient implements ConfigTransactionClient { @Override public void setAttribute(ObjectName on, String attrName, Attribute attribute) { - if (ObjectNameUtil.getTransactionName(on) == null) + if (ObjectNameUtil.getTransactionName(on) == null) { throw new IllegalArgumentException("Not in transaction instance " + on + ", no transaction name present"); + } try { configMBeanServer.setAttribute(on, attribute); @@ -274,9 +276,10 @@ public class ConfigTransactionJMXClient implements ConfigTransactionClient { @Override public Attribute getAttribute(ObjectName on, String attrName) { - if (ObjectNameUtil.getTransactionName(on) == null) + if (ObjectNameUtil.getTransactionName(on) == null) { throw new IllegalArgumentException("Not in transaction instance " + on + ", no transaction name present"); + } try { return new Attribute(attrName, configMBeanServer.getAttribute(on,attrName)); 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 9837a04e7f..ff7da5df48 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 @@ -38,7 +38,7 @@ import com.google.common.collect.Sets; public class ContextSetterImpl implements ContextSetter, Closeable { private final LogbackStatusListener statusListener; - private static final org.slf4j.Logger classLogger = LoggerFactory.getLogger(ContextSetterImpl.class); + private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(ContextSetterImpl.class); public ContextSetterImpl(LogbackRuntimeRegistrator rootRuntimeBeanRegistratorWrapper) { statusListener = new LogbackStatusListener(rootRuntimeBeanRegistratorWrapper); @@ -83,11 +83,11 @@ public class ContextSetterImpl implements ContextSetter, Closeable { Map> appendersMap = getAppenders(module, context); for (LoggerTO logger : module.getLoggerTO()) { - classLogger.trace("Setting configuration for logger {}", logger.getLoggerName()); + LOGGER.trace("Setting configuration for logger {}", logger.getLoggerName()); final ch.qos.logback.classic.Logger logbackLogger = context.getLogger(logger.getLoggerName()); Optional>> appendersBefore = getAppendersBefore(loggersBefore, logbackLogger); - classLogger.trace("Logger {}: Appenders registered before: {}", logger.getLoggerName(), + LOGGER.trace("Logger {}: Appenders registered before: {}", logger.getLoggerName(), appendersBefore.isPresent() ? appendersBefore.get() : "NO APPENDERS BEFORE"); logbackLogger.setLevel(Level.toLevel(logger.getLevel())); @@ -103,7 +103,7 @@ public class ContextSetterImpl implements ContextSetter, Closeable { for (String appenderName : logger.getAppenders()) { if (appendersMap.containsKey(appenderName)) { logbackLogger.addAppender(appendersMap.get(appenderName)); - classLogger.trace("Logger {}: Adding new appender: {}", logger.getLoggerName(), appenderName); + LOGGER.trace("Logger {}: Adding new appender: {}", logger.getLoggerName(), appenderName); } else { throw new IllegalStateException("No appender " + appenderName + " found. This error should have been discovered by validation"); @@ -118,7 +118,7 @@ public class ContextSetterImpl implements ContextSetter, Closeable { for (Appender appenderBefore : appendersBefore.get()) { logbackLogger.detachAppender(appenderBefore); appenderBefore.stop(); - classLogger.trace("Logger {}: Removing old appender: {}", logger.getLoggerName(), + LOGGER.trace("Logger {}: Removing old appender: {}", logger.getLoggerName(), appenderBefore.getName()); } loggersBefore.remove(logbackLogger); @@ -134,8 +134,9 @@ public class ContextSetterImpl implements ContextSetter, Closeable { appendersBefore.add(appenderIt.next()); } return Optional.of(appendersBefore); - } else + } else { return Optional.absent(); + } } diff --git a/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleFactory.java b/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleFactory.java index 5a91796ed6..b5d0d1b4de 100644 --- a/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleFactory.java +++ b/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleFactory.java @@ -173,10 +173,11 @@ public class LogbackModuleFactory extends context.getLogger(Logger.ROOT_LOGGER_NAME)); for (org.slf4j.Logger log : loggersToBeAdd) { LoggerTO logger = new LoggerTO(); - if (((Logger) log).getLevel() != null) + if (((Logger) log).getLevel() != null) { logger.setLevel(((Logger) log).getLevel().levelStr); - else + } else { logger.setLevel(((Logger) log).getEffectiveLevel().levelStr); + } logger.setLoggerName(log.getName()); Iterator> iter = ((Logger) log).iteratorForAppenders(); while (iter.hasNext()) { diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/CodeWriter.java b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/CodeWriter.java index dd2b504da9..cd0f491ebc 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/CodeWriter.java +++ b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/CodeWriter.java @@ -41,18 +41,18 @@ import java.util.Map.Entry; final class CodeWriter { - private static final Logger logger = LoggerFactory.getLogger(CodeWriter.class); - private static final Optional copyright = StringUtil.loadCopyright(); + private static final Logger LOGGER = LoggerFactory.getLogger(CodeWriter.class); + private static final Optional COPYRIGHT = StringUtil.loadCopyright(); public File writeSie(ServiceInterfaceEntry sie, File outputBaseDir) { try { GeneralInterfaceTemplate generalInterfaceTemplate = TemplateFactory.serviceInterfaceFromSie(sie); - GeneratedObject go = new GenericGeneratedObjectFactory().toGeneratedObject(generalInterfaceTemplate, copyright); + GeneratedObject go = new GenericGeneratedObjectFactory().toGeneratedObject(generalInterfaceTemplate, COPYRIGHT); return go.persist(outputBaseDir).get().getValue(); } catch (Exception e) { String message = "An error occurred during Service interface generating, sie:" + sie.getTypeName() + ", " + sie.getFullyQualifiedName(); - logger.error(message, e); + LOGGER.error(message, e); throw new RuntimeException(message, e); } } @@ -70,33 +70,33 @@ final class CodeWriter { // TOs Map tosFromMbe = TemplateFactory.tOsFromMbe(mbe); for(GeneralClassTemplate template: tosFromMbe.values()) { - gos.put(new GenericGeneratedObjectFactory().toGeneratedObject(template, copyright), true); + gos.put(new GenericGeneratedObjectFactory().toGeneratedObject(template, COPYRIGHT), true); } // MXBean interface GeneralInterfaceTemplate ifcTemplate = TemplateFactory.mXBeanInterfaceTemplateFromMbe(mbe); - gos.put(new GenericGeneratedObjectFactory().toGeneratedObject(ifcTemplate, copyright), true); + gos.put(new GenericGeneratedObjectFactory().toGeneratedObject(ifcTemplate, COPYRIGHT), true); // generate abstract factory - gos.put(new AbsFactoryGeneratedObjectFactory().toGeneratedObject(mbe, copyright), true); + gos.put(new AbsFactoryGeneratedObjectFactory().toGeneratedObject(mbe, COPYRIGHT), true); // generate abstract module - gos.put(new AbsModuleGeneratedObjectFactory().toGeneratedObject(mbe, copyright), true); + gos.put(new AbsModuleGeneratedObjectFactory().toGeneratedObject(mbe, COPYRIGHT), true); // generate concrete factory StubFactoryTemplate concreteFactory = TemplateFactory.stubFactoryTemplateFromMbe(mbe); - gos.put(new GenericGeneratedObjectFactory().toGeneratedObject(concreteFactory, copyright), false); + gos.put(new GenericGeneratedObjectFactory().toGeneratedObject(concreteFactory, COPYRIGHT), false); // generate concrete module - gos.put(new ConcreteModuleGeneratedObjectFactory().toGeneratedObject(mbe, copyright, Optional.absent()), false); + gos.put(new ConcreteModuleGeneratedObjectFactory().toGeneratedObject(mbe, COPYRIGHT, Optional.absent()), false); // write runtime bean MXBeans and registrators List allFtlFiles = getRuntimeBeanFtlTemplates(mbe.getRuntimeBeans()); for(FtlTemplate template: allFtlFiles) { - gos.put(new GenericGeneratedObjectFactory().toGeneratedObject(template, copyright), true); + gos.put(new GenericGeneratedObjectFactory().toGeneratedObject(template, COPYRIGHT), true); } generatedFiles.addAll(persistGeneratedObjects(targetBaseDir, mainBaseDir, gos)); @@ -113,7 +113,7 @@ final class CodeWriter { } catch (Exception e) { String message = "An error occurred during Module generating, mbe:" + mbe.getJavaNamePrefix(); - logger.error(message, e); + LOGGER.error(message, e); throw new RuntimeException(message, e); } } diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/JMXGenerator.java b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/JMXGenerator.java index 1b8905b987..c8356274f8 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/JMXGenerator.java +++ b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/JMXGenerator.java @@ -54,7 +54,7 @@ public class JMXGenerator implements CodeGenerator { private PackageTranslator packageTranslator; private final CodeWriter codeWriter; - private static final Logger logger = LoggerFactory + private static final Logger LOGGER = LoggerFactory .getLogger(JMXGenerator.class); private Map namespaceToPackageMapping; private File resourceBaseDir; @@ -83,8 +83,9 @@ public class JMXGenerator implements CodeGenerator { packageTranslator = new PackageTranslator(namespaceToPackageMapping); - if (!outputBaseDir.exists()) + if (!outputBaseDir.exists()) { outputBaseDir.mkdirs(); + } GeneratedFilesTracker generatedFiles = new GeneratedFilesTracker(); // create SIE structure qNamesToSIEs @@ -127,7 +128,7 @@ public class JMXGenerator implements CodeGenerator { Preconditions.checkNotNull(resourceBaseDir, "resource base dir attribute was null"); - StringBuffer fullyQualifiedNamesOfFactories = new StringBuffer(); + StringBuilder fullyQualifiedNamesOfFactories = new StringBuilder(); // create MBEs for (Module module : yangModulesInCurrentMavenModule) { String packageName = packageTranslator.getPackageName(module); @@ -166,7 +167,7 @@ public class JMXGenerator implements CodeGenerator { fullyQualifiedNamesOfFactories.toString()); } catch (IOException e) { String message = "Cannot write to " + serviceLoaderFile; - logger.error(message); + LOGGER.error(message); throw new RuntimeException(message, e); } } @@ -184,10 +185,11 @@ public class JMXGenerator implements CodeGenerator { @Override public void setAdditionalConfig(Map additionalCfg) { - if (logger != null) - logger.debug(getClass().getCanonicalName(), + if (LOGGER != null) { + LOGGER.debug(getClass().getCanonicalName(), ": Additional configuration received: ", additionalCfg.toString()); + } this.namespaceToPackageMapping = extractNamespaceMapping(additionalCfg); this.generateModuleFactoryFile = extractModuleFactoryBoolean(additionalCfg); } @@ -195,10 +197,12 @@ public class JMXGenerator implements CodeGenerator { private boolean extractModuleFactoryBoolean( Map additionalCfg) { String bool = additionalCfg.get(MODULE_FACTORY_FILE_BOOLEAN); - if (bool == null) + if (bool == null) { return true; - if (bool.equals("false")) + } + if ("false".equals(bool)) { return false; + } return true; } @@ -250,8 +254,8 @@ public class JMXGenerator implements CodeGenerator { public void setMavenProject(MavenProject project) { this.projectBaseDir = project.getBasedir(); - if (logger != null) - logger.debug(getClass().getCanonicalName(), " project base dir: ", + if (LOGGER != null) + LOGGER.debug(getClass().getCanonicalName(), " project base dir: ", projectBaseDir); } @@ -268,7 +272,7 @@ public class JMXGenerator implements CodeGenerator { } } if (undeletedFiles.isEmpty() == false) { - logger.error( + LOGGER.error( "Illegal state occurred: Unable to delete already generated files, undeleted files: {}", undeletedFiles); } diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/AbstractFactoryTemplate.java b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/AbstractFactoryTemplate.java index c3e51d6550..c3a00b93da 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/AbstractFactoryTemplate.java +++ b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/AbstractFactoryTemplate.java @@ -19,14 +19,14 @@ import java.util.List; public class AbstractFactoryTemplate extends GeneralClassTemplate { - private static final List implementedIfcs = Lists + private static final List IMPLEMENTED_IFCS = Lists .newArrayList(ModuleFactory.class.getCanonicalName()); public AbstractFactoryTemplate(Header header, String packageName, String abstractFactoryName, List fields) { super(header, packageName, abstractFactoryName, Collections - . emptyList(), implementedIfcs, fields, Collections + . emptyList(), IMPLEMENTED_IFCS, fields, Collections . emptyList(), true, false, Collections . emptyList()); } diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/RuntimeRegistratorFtlTemplate.java b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/RuntimeRegistratorFtlTemplate.java index d07edae14e..aa696450a9 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/RuntimeRegistratorFtlTemplate.java +++ b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/RuntimeRegistratorFtlTemplate.java @@ -108,7 +108,7 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate { .getFullyQualifiedName(rootRB.getPackageName(), rootRB.getJavaNameOfRuntimeMXBean()); String childRegistratorFQN = rootFtlFile.getFullyQualifiedName(); Field rbParameter = new Field(fullyQualifiedNameOfMXBean, "rb"); - StringBuffer registerBody = new StringBuffer(); + StringBuilder registerBody = new StringBuilder(); registerBody.append(format("%s %s = this.%s.registerRoot(%s);\n", HierarchicalRuntimeBeanRegistration.class .getCanonicalName(), hierachchicalRegistration @@ -200,12 +200,12 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate { unorderedResult.put(entry.getKey(), entry.getValue()); } - if (childRegistratorMap.size() > 0) { + if (!childRegistratorMap.isEmpty()) { // first entry is the direct descendant according to the create // contract RuntimeRegistratorFtlTemplate childRegistrator = childRegistratorMap .values().iterator().next(); - StringBuffer body = new StringBuffer(); + StringBuilder body = new StringBuilder(); String key, value; key = child.getJavaNamePrefix(); body.append(format( diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/TemplateFactory.java b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/TemplateFactory.java index 7b7aab8559..f8f5cd6742 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/TemplateFactory.java +++ b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/ftl/TemplateFactory.java @@ -113,7 +113,7 @@ public class TemplateFactory { static String serializeType(Type type, boolean addWildcards) { if (type instanceof ParameterizedType){ ParameterizedType parameterizedType = (ParameterizedType) type; - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(parameterizedType.getRawType().getFullyQualifiedName()); sb.append(addWildcards ? " build() { - logger.debug("Generating ModuleMXBeans of {} to package {}", + LOGGER.debug("Generating ModuleMXBeans of {} to package {}", currentModule.getNamespace(), packageName); String configModulePrefix; @@ -146,7 +146,7 @@ final class ModuleMXBeanEntryBuilder { checkAttributeNamesUniqueness(uniqueGeneratedClassesNames, result); checkUnaugumentedIdentities(unaugmentedModuleIdentities); - logger.debug("Number of ModuleMXBeans to be generated: {}", result.size()); + LOGGER.debug("Number of ModuleMXBeans to be generated: {}", result.size()); return result; } @@ -166,7 +166,7 @@ final class ModuleMXBeanEntryBuilder { private static void checkUnaugumentedIdentities(final Map unaugmentedModuleIdentities) { if (unaugmentedModuleIdentities.size() > 0) { - logger.warn("Augmentation not found for all currentModule identities: {}", + LOGGER.warn("Augmentation not found for all currentModule identities: {}", unaugmentedModuleIdentities.keySet()); } } @@ -190,7 +190,7 @@ final class ModuleMXBeanEntryBuilder { + identityLocalName); } else { moduleIdentities.put(identityLocalName, id); - logger.debug("Found identity {}", identityLocalName); + LOGGER.debug("Found identity {}", identityLocalName); } // validation check on unknown schema nodes boolean providedServiceWasSet = false; @@ -270,13 +270,13 @@ final class ModuleMXBeanEntryBuilder { HAS_CHILDREN_AND_QNAME dataNodeContainer = getDataNodeContainer(choiceCaseNode); - if (expectedConfigurationAugmentationSchemaPath.equals(augmentation.getTargetPath())) { - logger.debug("Parsing configuration of {}", moduleLocalNameFromXPath); + if (EXPECTED_CONFIGURATION_AUGMENTATION_SCHEMA_PATH.equals(augmentation.getTargetPath())) { + LOGGER.debug("Parsing configuration of {}", moduleLocalNameFromXPath); yangToAttributes = fillConfiguration(dataNodeContainer, currentModule, typeProviderWrapper, qNamesToSIEs, schemaContext, packageName); checkUniqueAttributesWithGeneratedClass(uniqueGeneratedClassesNames, when.getQName(), yangToAttributes); - } else if (expectedStateAugmentationSchemaPath.equals(augmentation.getTargetPath())) { - logger.debug("Parsing state of {}", moduleLocalNameFromXPath); + } else if (EXPECTED_STATE_AUGMENTATION_SCHEMA_PATH.equals(augmentation.getTargetPath())) { + LOGGER.debug("Parsing state of {}", moduleLocalNameFromXPath); try { runtimeBeans = fillRuntimeBeans(dataNodeContainer, currentModule, typeProviderWrapper, packageName, moduleLocalNameFromXPath, javaNamePrefix); diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ModuleUtil.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ModuleUtil.java index ccd701d1fb..10267b28e7 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ModuleUtil.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ModuleUtil.java @@ -12,6 +12,9 @@ import org.opendaylight.yangtools.yang.model.api.Module; public class ModuleUtil { + private ModuleUtil() { + } + public static QName getQName(final Module currentModule) { return QName.create(currentModule.getNamespace(), currentModule.getRevision(), currentModule.getName()); } diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/PackageTranslator.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/PackageTranslator.java index a6a1ac7dc3..a7f6f2f221 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/PackageTranslator.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/PackageTranslator.java @@ -58,19 +58,20 @@ public class PackageTranslator { // TODO add to PackageTranslator private static String sanitizePackage(String namespace) { - namespace = namespace.replace("://", "."); - namespace = namespace.replace("/", "."); - namespace = namespace.replace(":", "."); - namespace = namespace.replace("-", "_"); - namespace = namespace.replace("@", "."); - namespace = namespace.replace("$", "."); - namespace = namespace.replace("#", "."); - namespace = namespace.replace("'", "."); - namespace = namespace.replace("*", "."); - namespace = namespace.replace("+", "."); - namespace = namespace.replace(",", "."); - namespace = namespace.replace(";", "."); - namespace = namespace.replace("=", "."); - return namespace; + String newNamespace = namespace; + newNamespace = newNamespace.replace("://", "."); + newNamespace = newNamespace.replace("/", "."); + newNamespace = newNamespace.replace(":", "."); + newNamespace = newNamespace.replace("-", "_"); + newNamespace = newNamespace.replace("@", "."); + newNamespace = newNamespace.replace("$", "."); + newNamespace = newNamespace.replace("#", "."); + newNamespace = newNamespace.replace("'", "."); + newNamespace = newNamespace.replace("*", "."); + newNamespace = newNamespace.replace("+", "."); + newNamespace = newNamespace.replace(",", "."); + newNamespace = newNamespace.replace(";", "."); + newNamespace = newNamespace.replace("=", "."); + return newNamespace; } } diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/RuntimeBeanEntry.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/RuntimeBeanEntry.java index 67f624175b..aec41152de 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/RuntimeBeanEntry.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/RuntimeBeanEntry.java @@ -217,8 +217,6 @@ public class RuntimeBeanEntry { final Map> identitiesToRpcs) { List attributes = Lists.newArrayList(); - // List javaAttributes = new ArrayList<>(); - // List toAttributes = new ArrayList<>(); List runtimeBeanEntries = new ArrayList<>(); for (DataSchemaNode child : subtree.getChildNodes()) { // child leaves can be java attributes, TO attributes, or child @@ -278,7 +276,7 @@ public class RuntimeBeanEntry { .findJavaParameter(rpcDefinition); AttributeIfc returnType; if (rpcDefinition.getOutput() == null - || rpcDefinition.getOutput().getChildNodes().size() == 0) { + || rpcDefinition.getOutput().getChildNodes().isEmpty()) { returnType = VoidAttribute.getInstance(); } else if (rpcDefinition.getOutput().getChildNodes().size() == 1) { DataSchemaNode returnDSN = rpcDefinition.getOutput() @@ -366,7 +364,7 @@ public class RuntimeBeanEntry { currentModule, identitiesToRpcs); Optional keyYangName; - if (listSchemaNode.getKeyDefinition().size() == 0) { + if (listSchemaNode.getKeyDefinition().isEmpty()) { keyYangName = Optional.absent(); } else if (listSchemaNode.getKeyDefinition().size() == 1) { // key must be either null or one of supported key types diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ServiceInterfaceEntry.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ServiceInterfaceEntry.java index ef40d9515b..ee02b303e0 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ServiceInterfaceEntry.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ServiceInterfaceEntry.java @@ -46,7 +46,7 @@ import static org.opendaylight.controller.config.yangjmxgenerator.ConfigConstant *

*/ public class ServiceInterfaceEntry extends AbstractEntry { - private static final Logger logger = LoggerFactory + private static final Logger LOGGER = LoggerFactory .getLogger(ServiceInterfaceEntry.class); private static final String CLASS_NAME_SUFFIX = "ServiceInterface"; @@ -121,16 +121,16 @@ public class ServiceInterfaceEntry extends AbstractEntry { */ public static Map create(Module currentModule, String packageName,Map definedSEItracker) { - logger.debug("Generating ServiceInterfaces from {} to package {}", + LOGGER.debug("Generating ServiceInterfaces from {} to package {}", currentModule.getNamespace(), packageName); Map identitiesToSIs = new HashMap<>(); Set notVisited = new HashSet<>( currentModule.getIdentities()); int lastSize = notVisited.size() + 1; - while (notVisited.size() > 0) { + while (!notVisited.isEmpty()) { if (notVisited.size() == lastSize) { - logger.debug( + LOGGER.debug( "Following identities will be ignored while generating ServiceInterfaces, as they are not derived from {} : {}", SERVICE_TYPE_Q_NAME, notVisited); break; @@ -175,7 +175,7 @@ public class ServiceInterfaceEntry extends AbstractEntry { for (ServiceInterfaceEntry sie : identitiesToSIs.values()) { resultMap.put(sie.getQName(), sie); } - logger.debug("Number of ServiceInterfaces to be generated: {}", + LOGGER.debug("Number of ServiceInterfaces to be generated: {}", resultMap.size()); return resultMap; } @@ -198,25 +198,33 @@ public class ServiceInterfaceEntry extends AbstractEntry { @Override public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (o == null || getClass() != o.getClass()) + } + if (o == null || getClass() != o.getClass()) { return false; + } ServiceInterfaceEntry that = (ServiceInterfaceEntry) o; - if (!maybeBaseCache.equals(that.maybeBaseCache)) + if (!maybeBaseCache.equals(that.maybeBaseCache)) { return false; - if (!nullableDescription.equals(that.nullableDescription)) + } + if (!nullableDescription.equals(that.nullableDescription)) { return false; - if (!exportedOsgiClassName.equals(that.exportedOsgiClassName)) + } + if (!exportedOsgiClassName.equals(that.exportedOsgiClassName)) { return false; - if (!qName.equals(that.qName)) + } + if (!qName.equals(that.qName)) { return false; - if (!packageName.equals(that.packageName)) + } + if (!packageName.equals(that.packageName)) { return false; - if (!typeName.equals(that.typeName)) + } + if (!typeName.equals(that.typeName)) { return false; + } return true; } diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/TypeProviderWrapper.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/TypeProviderWrapper.java index 3c8c8aa2f4..ac1992932f 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/TypeProviderWrapper.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/TypeProviderWrapper.java @@ -71,9 +71,10 @@ public class TypeProviderWrapper { try { javaType = typeProvider.javaTypeForSchemaDefinitionType( type, leaf); - if (javaType == null) + if (javaType == null) { throw new IllegalArgumentException("Unknown type received for " + leaf.toString()); + } } catch (IllegalArgumentException e) { throw new IllegalArgumentException("Error while resolving type of " + leaf, e); @@ -87,9 +88,10 @@ public class TypeProviderWrapper { try { javaType = typeProvider.javaTypeForSchemaDefinitionType( leaf.getType(), leaf); - if (javaType == null) + if (javaType == null) { throw new IllegalArgumentException( "Unknown type received for " + leaf.toString()); + } } catch (IllegalArgumentException e) { throw new IllegalArgumentException("Error while resolving type of " + leaf, e); diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/AbstractAttribute.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/AbstractAttribute.java index edfb4c59af..d9a6dd0452 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/AbstractAttribute.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/AbstractAttribute.java @@ -33,17 +33,20 @@ public abstract class AbstractAttribute implements AttributeIfc { @Override public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (!(o instanceof AbstractAttribute)) + } + if (!(o instanceof AbstractAttribute)) { return false; + } AbstractAttribute that = (AbstractAttribute) o; if (attributeYangName != null ? !attributeYangName .equals(that.attributeYangName) - : that.attributeYangName != null) + : that.attributeYangName != null) { return false; + } return true; } diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/AbstractDependencyAttribute.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/AbstractDependencyAttribute.java index eb1c9e41a6..205ba893c4 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/AbstractDependencyAttribute.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/AbstractDependencyAttribute.java @@ -40,25 +40,31 @@ public abstract class AbstractDependencyAttribute extends AbstractAttribute imp @Override public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (o == null || getClass() != o.getClass()) + } + if (o == null || getClass() != o.getClass()) { return false; - if (!super.equals(o)) + } + if (!super.equals(o)) { return false; + } AbstractDependencyAttribute that = (AbstractDependencyAttribute) o; if (dependency != null ? !dependency.equals(that.dependency) - : that.dependency != null) + : that.dependency != null) { return false; + } if (nullableDefault != null ? !nullableDefault - .equals(that.nullableDefault) : that.nullableDefault != null) + .equals(that.nullableDefault) : that.nullableDefault != null) { return false; + } if (nullableDescription != null ? !nullableDescription .equals(that.nullableDescription) - : that.nullableDescription != null) + : that.nullableDescription != null) { return false; + } return true; } diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/JavaAttribute.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/JavaAttribute.java index fac4d57432..8d3139999e 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/JavaAttribute.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/JavaAttribute.java @@ -96,24 +96,30 @@ public class JavaAttribute extends AbstractAttribute implements TypedAttribute { @Override public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (o == null || getClass() != o.getClass()) + } + if (o == null || getClass() != o.getClass()) { return false; - if (!super.equals(o)) + } + if (!super.equals(o)) { return false; + } JavaAttribute that = (JavaAttribute) o; if (nullableDefault != null ? !nullableDefault - .equals(that.nullableDefault) : that.nullableDefault != null) + .equals(that.nullableDefault) : that.nullableDefault != null) { return false; + } if (nullableDescription != null ? !nullableDescription .equals(that.nullableDescription) - : that.nullableDescription != null) + : that.nullableDescription != null) { return false; - if (type != null ? !type.equals(that.type) : that.type != null) + } + if (type != null ? !type.equals(that.type) : that.type != null) { return false; + } return true; } diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/ListAttribute.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/ListAttribute.java index 73b557e291..bb71f9dbc7 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/ListAttribute.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/ListAttribute.java @@ -82,22 +82,27 @@ public class ListAttribute extends AbstractAttribute implements TypedAttribute { @Override public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (o == null || getClass() != o.getClass()) + } + if (o == null || getClass() != o.getClass()) { return false; - if (!super.equals(o)) + } + if (!super.equals(o)) { return false; + } ListAttribute that = (ListAttribute) o; if (nullableDefault != null ? !nullableDefault - .equals(that.nullableDefault) : that.nullableDefault != null) + .equals(that.nullableDefault) : that.nullableDefault != null) { return false; + } if (nullableDescription != null ? !nullableDescription .equals(that.nullableDescription) - : that.nullableDescription != null) + : that.nullableDescription != null) { return false; + } return true; } diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/SimpleTypeResolver.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/SimpleTypeResolver.java index f4bd979fac..9b5530175c 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/SimpleTypeResolver.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/SimpleTypeResolver.java @@ -19,6 +19,9 @@ import java.util.Map; public class SimpleTypeResolver { + private SimpleTypeResolver() { + } + public static SimpleType getSimpleType(Type type) { SimpleType expectedSimpleType = JAVA_TYPE_TO_SIMPLE_TYPE.get(type .getFullyQualifiedName()); diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/TOAttribute.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/TOAttribute.java index cbeb5c3b29..e563da1328 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/TOAttribute.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/TOAttribute.java @@ -73,18 +73,19 @@ public class TOAttribute extends AbstractAttribute implements TypedAttribute { TypeProviderWrapper typeProviderWrapper, String packageName) { Class type = isAllowedType(dataSchemaNode); - if (type.equals(LeafSchemaNode.class)) + if (type.equals(LeafSchemaNode.class)) { return new JavaAttribute((LeafSchemaNode) dataSchemaNode, typeProviderWrapper); - else if (type.equals(ListSchemaNode.class)) + } else if (type.equals(ListSchemaNode.class)) { return ListAttribute.create((ListSchemaNode) dataSchemaNode, typeProviderWrapper, packageName); - else if (type.equals(LeafListSchemaNode.class)) + } else if (type.equals(LeafListSchemaNode.class)) { return ListAttribute.create((LeafListSchemaNode) dataSchemaNode, typeProviderWrapper); - else if (type.equals(ContainerSchemaNode.class)) + } else if (type.equals(ContainerSchemaNode.class)) { return TOAttribute.create((ContainerSchemaNode) dataSchemaNode, typeProviderWrapper, packageName); + } throw new IllegalStateException("This should never happen"); } @@ -92,8 +93,9 @@ public class TOAttribute extends AbstractAttribute implements TypedAttribute { private static Class isAllowedType( DataSchemaNode dataSchemaNode) { for (Class allowedType : ALLOWED_CHILDREN) { - if (allowedType.isAssignableFrom(dataSchemaNode.getClass()) == true) + if (allowedType.isAssignableFrom(dataSchemaNode.getClass()) == true) { return allowedType; + } } throw new IllegalArgumentException("Illegal child node for TO: " + dataSchemaNode.getClass() + " allowed node types: " @@ -156,26 +158,32 @@ public class TOAttribute extends AbstractAttribute implements TypedAttribute { @Override public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (o == null || getClass() != o.getClass()) + } + if (o == null || getClass() != o.getClass()) { return false; - if (!super.equals(o)) + } + if (!super.equals(o)) { return false; + } TOAttribute that = (TOAttribute) o; if (nullableDefault != null ? !nullableDefault - .equals(that.nullableDefault) : that.nullableDefault != null) + .equals(that.nullableDefault) : that.nullableDefault != null) { return false; + } if (nullableDescription != null ? !nullableDescription .equals(that.nullableDescription) - : that.nullableDescription != null) + : that.nullableDescription != null) { return false; + } if (yangNameToAttributeMap != null ? !yangNameToAttributeMap .equals(that.yangNameToAttributeMap) - : that.yangNameToAttributeMap != null) + : that.yangNameToAttributeMap != null) { return false; + } return true; } diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/Util.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/Util.java index 30c7919c1a..16c4bd1ec5 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/Util.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/attribute/Util.java @@ -13,17 +13,19 @@ import java.util.Date; final class Util { + private Util() { + } /** * Used for date <-> xml serialization */ - private static final SimpleDateFormat dateFormat = new SimpleDateFormat( + private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat( "yyyy-MM-dd"); public static String writeDate(Date date) { - return dateFormat.format(date); + return DATE_FORMAT.format(date); } public static Date readDate(String s) throws ParseException { - return dateFormat.parse(s); + return DATE_FORMAT.parse(s); } } diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/util/FullyQualifiedNameHelper.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/util/FullyQualifiedNameHelper.java index 50b4485e01..966aff96a0 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/util/FullyQualifiedNameHelper.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/util/FullyQualifiedNameHelper.java @@ -8,6 +8,10 @@ package org.opendaylight.controller.config.yangjmxgenerator.plugin.util; public class FullyQualifiedNameHelper { + + private FullyQualifiedNameHelper() { + } + public static String getFullyQualifiedName(String packageName, String className) { if (packageName.isEmpty()) -- 2.36.6