X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2Fdependencyresolver%2FDependencyResolverManager.java;h=afd865c4fc859a1de2e7ea9bbd6885f30be5d036;hp=dea78c8b155d9f125783232bd7c5b531e673bce0;hb=c541f7868e6e2d654b8080b5426bb12a39bddf11;hpb=9108efddf9a5f3e2c81202a17ccdeca22cb5ca09 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 dea78c8b15..afd865c4fc 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 @@ -11,6 +11,7 @@ import org.opendaylight.controller.config.api.DependencyResolver; import org.opendaylight.controller.config.api.DependencyResolverFactory; import org.opendaylight.controller.config.api.JmxAttribute; import org.opendaylight.controller.config.api.ModuleIdentifier; +import org.opendaylight.controller.config.api.ServiceReferenceReadableRegistry; import org.opendaylight.controller.config.manager.impl.CommitInfo; import org.opendaylight.controller.config.manager.impl.ModuleInternalTransactionalInfo; import org.opendaylight.controller.config.manager.impl.TransactionStatus; @@ -35,11 +36,13 @@ public class DependencyResolverManager implements TransactionHolder, DependencyR private final Map moduleIdentifiersToDependencyResolverMap = new HashMap<>(); private final ModulesHolder modulesHolder; private final TransactionStatus transactionStatus; + private final ServiceReferenceReadableRegistry readableRegistry; public DependencyResolverManager(String transactionName, - TransactionStatus transactionStatus) { + TransactionStatus transactionStatus, ServiceReferenceReadableRegistry readableRegistry) { this.modulesHolder = new ModulesHolder(transactionName); this.transactionStatus = transactionStatus; + this.readableRegistry = readableRegistry; } @Override @@ -48,14 +51,11 @@ public class DependencyResolverManager implements TransactionHolder, DependencyR } public synchronized DependencyResolverImpl getOrCreate(ModuleIdentifier name) { - DependencyResolverImpl dependencyResolver = moduleIdentifiersToDependencyResolverMap - .get(name); + DependencyResolverImpl dependencyResolver = moduleIdentifiersToDependencyResolverMap.get(name); if (dependencyResolver == null) { transactionStatus.checkNotCommitted(); - dependencyResolver = new DependencyResolverImpl(name, - transactionStatus, modulesHolder); - moduleIdentifiersToDependencyResolverMap.put(name, - dependencyResolver); + dependencyResolver = new DependencyResolverImpl(name, transactionStatus, modulesHolder, readableRegistry); + moduleIdentifiersToDependencyResolverMap.put(name, dependencyResolver); } return dependencyResolver; } @@ -117,6 +117,11 @@ public class DependencyResolverManager implements TransactionHolder, DependencyR jmxAttributeForReporting); } + @Override + public ModuleInternalTransactionalInfo findModuleInternalTransactionalInfo(ModuleIdentifier moduleIdentifier) { + return modulesHolder.findModuleInternalTransactionalInfo(moduleIdentifier); + } + @Override public ModuleFactory findModuleFactory(ModuleIdentifier moduleIdentifier, JmxAttribute jmxAttributeForReporting) { @@ -139,7 +144,7 @@ public class DependencyResolverManager implements TransactionHolder, DependencyR List result = new ArrayList<>(); for( ModuleInternalTransactionalInfo info : modulesHolder.getAllInfos()) { if (factory.equals(info.getModuleFactory())) { - result.add(info.getName()); + result.add(info.getIdentifier()); } } return result;