X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2Fdynamicmbean%2FDynamicWritableWrapper.java;h=01ebdbdf94d9905999aa536e00152ddd2e79bc47;hb=4497e2212e73e13356447b9644bbdc935411949a;hp=335acc81fe67859386b3369269c15f3101d7e2f4;hpb=32275b7cbe98c361f08970eff34ecb721f45c9e4;p=controller.git 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 335acc81fe..01ebdbdf94 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 @@ -7,14 +7,7 @@ */ package org.opendaylight.controller.config.manager.impl.dynamicmbean; -import org.opendaylight.controller.config.api.ModuleIdentifier; -import org.opendaylight.controller.config.api.ValidationException; -import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; -import org.opendaylight.controller.config.manager.impl.TransactionIdentifier; -import org.opendaylight.controller.config.spi.Module; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import java.lang.reflect.Method; import javax.annotation.concurrent.ThreadSafe; import javax.management.Attribute; import javax.management.AttributeList; @@ -26,7 +19,13 @@ import javax.management.MBeanOperationInfo; import javax.management.MBeanServer; import javax.management.ObjectName; import javax.management.ReflectionException; -import java.lang.reflect.Method; +import org.opendaylight.controller.config.api.ModuleIdentifier; +import org.opendaylight.controller.config.api.ValidationException; +import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; +import org.opendaylight.controller.config.manager.impl.TransactionIdentifier; +import org.opendaylight.controller.config.spi.Module; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Wraps {@link org.opendaylight.controller.config.spi.Module} instance in a @@ -47,18 +46,18 @@ import java.lang.reflect.Method; */ @ThreadSafe public class DynamicWritableWrapper extends AbstractDynamicWrapper { - private static final Logger logger = LoggerFactory + private static final Logger LOG = LoggerFactory .getLogger(DynamicWritableWrapper.class); private final ReadOnlyAtomicBoolean configBeanModificationDisabled; public DynamicWritableWrapper(Module module, - ModuleIdentifier moduleIdentifier, - TransactionIdentifier transactionIdentifier, - ReadOnlyAtomicBoolean configBeanModificationDisabled, - MBeanServer internalServer, MBeanServer configMBeanServer) { + ModuleIdentifier moduleIdentifier, + TransactionIdentifier transactionIdentifier, + ReadOnlyAtomicBoolean configBeanModificationDisabled, + MBeanServer internalServer, MBeanServer configMBeanServer) { super(module, true, moduleIdentifier, ObjectNameUtil - .createTransactionModuleON(transactionIdentifier.getName(), moduleIdentifier), getOperations(moduleIdentifier), + .createTransactionModuleON(transactionIdentifier.getName(), moduleIdentifier), getOperations(moduleIdentifier), internalServer, configMBeanServer); this.configBeanModificationDisabled = configBeanModificationDisabled; } @@ -67,36 +66,34 @@ public class DynamicWritableWrapper extends AbstractDynamicWrapper { ModuleIdentifier moduleIdentifier) { Method validationMethod; try { - validationMethod = DynamicWritableWrapper.class.getMethod( - "validate", new Class[0]); + validationMethod = DynamicWritableWrapper.class.getMethod("validate"); } catch (NoSuchMethodException e) { - throw new IllegalStateException("No such method exception on " - + moduleIdentifier, e); + throw new IllegalStateException("No such method exception on " + moduleIdentifier, e); } - return new MBeanOperationInfo[] { new MBeanOperationInfo("Validation", - validationMethod) }; + return new MBeanOperationInfo[]{new MBeanOperationInfo("Validation", validationMethod)}; } @Override public synchronized void setAttribute(Attribute attribute) - throws AttributeNotFoundException, InvalidAttributeValueException, - MBeanException, ReflectionException { - if (configBeanModificationDisabled.get() == true) + 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); } @@ -104,26 +101,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) { @@ -145,8 +139,7 @@ public class DynamicWritableWrapper extends AbstractDynamicWrapper { setAttribute(attribute); result.add(attribute); } catch (Exception e) { - logger.warn("Setting attribute {} failed on {}", - attribute.getName(), moduleIdentifier, e); + LOG.warn("Setting attribute {} failed on {}", attribute.getName(), moduleIdentifier, e); throw new IllegalArgumentException( "Setting attribute failed - " + attribute.getName() + " on " + moduleIdentifier, e);