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%2FConfigTransactionControllerImpl.java;h=90d2cb4002098812218135b1a039548bc5db1001;hb=dc43a61816ddd75e3ad3a3a30bf64c60ad8275a2;hp=17ce0781546e231a5f81b2a8ca1b276f5a046d74;hpb=7e6e19f57c11d6a35558f230f05b5b0d13b4ebe8;p=controller.git 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 17ce078154..90d2cb4002 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 @@ -95,7 +95,7 @@ class ConfigTransactionControllerImpl implements this.currentlyRegisteredFactories = currentlyRegisteredFactories; this.factoriesHolder = new HierarchicalConfigMBeanFactoriesHolder(currentlyRegisteredFactories); this.transactionStatus = new TransactionStatus(); - this.dependencyResolverManager = new DependencyResolverManager(transactionName, transactionStatus); + this.dependencyResolverManager = new DependencyResolverManager(transactionName, transactionStatus, writableSRRegistry); this.transactionsMBeanServer = transactionsMBeanServer; this.configMBeanServer = configMBeanServer; this.blankTransaction = blankTransaction; @@ -165,15 +165,14 @@ class ConfigTransactionControllerImpl implements throws InstanceAlreadyExistsException { transactionStatus.checkNotCommitStarted(); transactionStatus.checkNotAborted(); - ModuleIdentifier moduleIdentifier = oldConfigBeanInfo.getName(); + ModuleIdentifier moduleIdentifier = oldConfigBeanInfo.getIdentifier(); dependencyResolverManager.assertNotExists(moduleIdentifier); ModuleFactory moduleFactory = factoriesHolder .findByModuleName(moduleIdentifier.getFactoryName()); Module module; - DependencyResolver dependencyResolver = dependencyResolverManager - .getOrCreate(moduleIdentifier); + DependencyResolver dependencyResolver = dependencyResolverManager.getOrCreate(moduleIdentifier); try { BundleContext bc = getModuleFactoryBundleContext(moduleFactory.getImplementationName()); module = moduleFactory.createModule( @@ -307,7 +306,7 @@ class ConfigTransactionControllerImpl implements private void validate_noLocks() throws ValidationException { transactionStatus.checkNotAborted(); - logger.info("Validating transaction {}", getTransactionIdentifier()); + logger.trace("Validating transaction {}", getTransactionIdentifier()); // call validate() List collectedExceptions = new ArrayList<>(); for (Entry entry : dependencyResolverManager @@ -327,7 +326,7 @@ class ConfigTransactionControllerImpl implements throw ValidationException .createFromCollectedValidationExceptions(collectedExceptions); } - logger.info("Validated transaction {}", getTransactionIdentifier()); + logger.trace("Validated transaction {}", getTransactionIdentifier()); } /** @@ -346,7 +345,7 @@ class ConfigTransactionControllerImpl implements try { validate_noLocks(); } catch (ValidationException e) { - logger.info("Commit failed on validation"); + logger.trace("Commit failed on validation"); configBeanModificationDisabled.set(false); // recoverable error throw e; } @@ -369,7 +368,7 @@ class ConfigTransactionControllerImpl implements + "to obtain a lock"); } - logger.info("Committing transaction {}", getTransactionIdentifier()); + logger.trace("Committing transaction {}", getTransactionIdentifier()); // call getInstance() for (Entry entry : dependencyResolverManager @@ -392,7 +391,7 @@ class ConfigTransactionControllerImpl implements // count dependency order - logger.info("Committed configuration {}", getTransactionIdentifier()); + logger.trace("Committed configuration {}", getTransactionIdentifier()); transactionStatus.setCommitted(); // unregister this and all modules from jmx close(); @@ -412,7 +411,7 @@ class ConfigTransactionControllerImpl implements close(); } - private void close() { + public void close() { //FIXME: should not close object that was retrieved in constructor, a wrapper object should do that perhaps txLookupRegistry.close(); } @@ -523,8 +522,8 @@ class ConfigTransactionControllerImpl implements @Override - public synchronized ObjectName lookupConfigBeanByServiceInterfaceName(String serviceInterfaceName, String refName) { - return writableSRRegistry.lookupConfigBeanByServiceInterfaceName(serviceInterfaceName, refName); + public synchronized ObjectName lookupConfigBeanByServiceInterfaceName(String serviceInterfaceQName, String refName) { + return writableSRRegistry.lookupConfigBeanByServiceInterfaceName(serviceInterfaceQName, refName); } @Override @@ -533,8 +532,8 @@ class ConfigTransactionControllerImpl implements } @Override - public synchronized Map lookupServiceReferencesByServiceInterfaceName(String serviceInterfaceName) { - return writableSRRegistry.lookupServiceReferencesByServiceInterfaceName(serviceInterfaceName); + public synchronized Map lookupServiceReferencesByServiceInterfaceName(String serviceInterfaceQName) { + return writableSRRegistry.lookupServiceReferencesByServiceInterfaceName(serviceInterfaceQName); } @Override @@ -548,13 +547,13 @@ class ConfigTransactionControllerImpl implements } @Override - public synchronized void saveServiceReference(String serviceInterfaceName, String refName, ObjectName objectName) throws InstanceNotFoundException { - writableSRRegistry.saveServiceReference(serviceInterfaceName, refName, objectName); + public synchronized ObjectName saveServiceReference(String serviceInterfaceName, String refName, ObjectName moduleON) throws InstanceNotFoundException { + return writableSRRegistry.saveServiceReference(serviceInterfaceName, refName, moduleON); } @Override - public synchronized boolean removeServiceReference(String serviceInterfaceName, String refName) { - return writableSRRegistry.removeServiceReference(serviceInterfaceName, refName); + public synchronized void removeServiceReference(String serviceInterfaceName, String refName) throws InstanceNotFoundException { + writableSRRegistry.removeServiceReference(serviceInterfaceName, refName); } @Override @@ -581,4 +580,13 @@ class ConfigTransactionControllerImpl implements return txLookupRegistry.getAvailableModuleFactoryQNames(); } + @Override + public void checkServiceReferenceExists(ObjectName objectName) throws InstanceNotFoundException { + writableSRRegistry.checkServiceReferenceExists(objectName); + } + + @Override + public ObjectName getServiceReference(String serviceInterfaceQName, String refName) throws InstanceNotFoundException { + return writableSRRegistry.getServiceReference(serviceInterfaceQName, refName); + } }