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%2FConfigTransactionControllerInternal.java;h=f9699b91cd638efbf2995dd0c511d7eedabb127f;hp=58d3bc1e4b97c4a41af3b9bf43900feb7aaf7eb1;hb=2c6fd09ad16f5c2968390a674865efbbe5f1fcec;hpb=aa3119971f4523d7c54890ee436a6070f612c4f3 diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigTransactionControllerInternal.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigTransactionControllerInternal.java index 58d3bc1e4b..f9699b91cd 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigTransactionControllerInternal.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigTransactionControllerInternal.java @@ -7,13 +7,16 @@ */ package org.opendaylight.controller.config.manager.impl; +import java.util.Collection; import java.util.List; +import java.util.Set; import javax.management.InstanceAlreadyExistsException; import javax.management.ObjectName; import org.opendaylight.controller.config.api.ModuleIdentifier; import org.opendaylight.controller.config.api.ValidationException; +import org.opendaylight.controller.config.spi.ModuleFactory; /** * Defines contract between {@link ConfigTransactionControllerImpl} (producer) @@ -22,11 +25,15 @@ import org.opendaylight.controller.config.api.ValidationException; interface ConfigTransactionControllerInternal extends ConfigTransactionControllerImplMXBean { + + /** - * Copy already committed module to current transaction. + * 1, Copy already committed modules to current transaction. + * 2, Diff: compute added and removed factories from last run, then create new modules using + * {@link org.opendaylight.controller.config.spi.ModuleFactory#getDefaultModules(org.opendaylight.controller.config.api.DependencyResolverFactory)} + * and remove modules belonging to removed factories. */ - void copyExistingModule(ModuleInternalInfo oldConfigBeanInfo) - throws InstanceAlreadyExistsException; + void copyExistingModulesAndProcessFactoryDiff(Collection entries, List lastListOfFactories); /** * Call {@link org.opendaylight.controller.config.spi.Module#validate()} on @@ -62,4 +69,5 @@ interface ConfigTransactionControllerInternal extends */ boolean isClosed(); + List getCurrentlyRegisteredFactories(); }