package org.opendaylight.controller.config.manager.impl;
import javax.annotation.Nullable;
-
import org.opendaylight.controller.config.api.ModuleIdentifier;
import org.opendaylight.controller.config.manager.impl.dependencyresolver.DestroyedModule;
import org.opendaylight.controller.config.manager.impl.dynamicmbean.DynamicReadableWrapper;
import org.opendaylight.controller.config.manager.impl.jmx.ModuleJMXRegistrator;
import org.opendaylight.controller.config.manager.impl.jmx.RootRuntimeBeanRegistratorImpl;
import org.opendaylight.controller.config.manager.impl.osgi.BeanToOsgiServiceManager.OsgiRegistration;
+import org.opendaylight.controller.config.spi.ModuleFactory;
import org.opendaylight.yangtools.concepts.Identifiable;
+import org.osgi.framework.BundleContext;
/**
* Provides metadata about Module from controller to registry.
private final ModuleJMXRegistrator moduleJMXRegistrator;
private final int orderingIdx;
private final boolean isDefaultBean;
+ private final ModuleFactory moduleFactory;
+ private final BundleContext bundleContext;
- public ModuleInternalInfo(ModuleIdentifier name,
- @Nullable DynamicReadableWrapper readableModule,
- OsgiRegistration osgiRegistration,
- RootRuntimeBeanRegistratorImpl runtimeBeanRegistrator,
- ModuleJMXRegistrator moduleJMXRegistrator, int orderingIdx,
- boolean isDefaultBean) {
+ public ModuleInternalInfo(final ModuleIdentifier name,
+ @Nullable final DynamicReadableWrapper readableModule,
+ final OsgiRegistration osgiRegistration,
+ @Nullable final RootRuntimeBeanRegistratorImpl runtimeBeanRegistrator,
+ final ModuleJMXRegistrator moduleJMXRegistrator, final int orderingIdx,
+ final boolean isDefaultBean, final ModuleFactory moduleFactory, final BundleContext bundleContext) {
if (osgiRegistration == null) {
throw new IllegalArgumentException(
"Parameter 'osgiRegistration' is missing");
}
- if (runtimeBeanRegistrator == null) {
- throw new IllegalArgumentException(
- "Parameter 'runtimeBeanRegistrator' is missing");
- }
this.readableModule = readableModule;
this.osgiRegistration = osgiRegistration;
this.runtimeBeanRegistrator = runtimeBeanRegistrator;
this.moduleJMXRegistrator = moduleJMXRegistrator;
this.orderingIdx = orderingIdx;
this.isDefaultBean = isDefaultBean;
+ this.moduleFactory = moduleFactory;
+ this.bundleContext = bundleContext;
}
public DynamicReadableWrapper getReadableModule() {
* Compare using orderingIdx
*/
@Override
- public int compareTo(ModuleInternalInfo o) {
+ public int compareTo(final ModuleInternalInfo o) {
return Integer.compare(orderingIdx, o.orderingIdx);
}
public DestroyedModule toDestroyedModule() {
return new DestroyedModule(getIdentifier(),
getReadableModule().getInstance(), getModuleJMXRegistrator(),
- getOsgiRegistration(), getOrderingIdx());
+ getOsgiRegistration(), getOrderingIdx(), runtimeBeanRegistrator);
}
@Override
public boolean isDefaultBean() {
return isDefaultBean;
}
+
+ public ModuleFactory getModuleFactory() {
+ return moduleFactory;
+ }
+
+ public BundleContext getBundleContext() {
+ return bundleContext;
+ }
}