/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
+ * Copyright (c) 2013, 2017 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
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.
*/
-public class ModuleInternalInfo implements Comparable<ModuleInternalInfo>,
- Identifiable<ModuleIdentifier>{
+public class ModuleInternalInfo implements Comparable<ModuleInternalInfo>, Identifiable<ModuleIdentifier> {
private final ModuleIdentifier name;
// this registrator is passed to runtime bean registrator and config
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");
+ throw new IllegalArgumentException("Parameter 'osgiRegistration' is missing");
}
this.readableModule = readableModule;
this.osgiRegistration = osgiRegistration;
this.moduleJMXRegistrator = moduleJMXRegistrator;
this.orderingIdx = orderingIdx;
this.isDefaultBean = isDefaultBean;
+ this.moduleFactory = moduleFactory;
+ this.bundleContext = bundleContext;
}
public DynamicReadableWrapper getReadableModule() {
}
/**
+ * Tells if a running instance exists in the system.
*
- * @return iif an running instance exists in the system.
+ * @return is there any running instance in the system.
*/
public boolean hasReadableModule() {
return readableModule != null;
return osgiRegistration;
}
- @Deprecated
- public ModuleIdentifier getName() {
- return name;
- }
-
/**
* Get index representing dependency ordering within a transaction.
+ *
+ * @return index
*/
public int getOrderingIdx() {
return orderingIdx;
}
- /**
- * Compare using orderingIdx
- */
@Override
- public int compareTo(ModuleInternalInfo o) {
- return Integer.compare(orderingIdx, o.orderingIdx);
+ public int compareTo(final ModuleInternalInfo moduleInternalInfo) {
+ return Integer.compare(orderingIdx, moduleInternalInfo.orderingIdx);
}
public DestroyedModule toDestroyedModule() {
- return new DestroyedModule(getName(),
- getReadableModule().getInstance(), getModuleJMXRegistrator(),
- getOsgiRegistration(), getOrderingIdx());
+ return new DestroyedModule(getIdentifier(), getReadableModule().getInstance(), getModuleJMXRegistrator(),
+ getOsgiRegistration(), getOrderingIdx(), runtimeBeanRegistrator);
}
@Override
public boolean isDefaultBean() {
return isDefaultBean;
}
+
+ public ModuleFactory getModuleFactory() {
+ return moduleFactory;
+ }
+
+ public BundleContext getBundleContext() {
+ return bundleContext;
+ }
}