m_required = Helpers.isDependencyRequiredByDefault(m_component); dep.setRequired(m_required); dep.setFilter(m_filter); dep.setBundle(m_bundle); dep.setStateMask(m_stateMask); dep.setPropagate(true); } else if (m_propagateInstance != null) { dep.setPropagate(m_propagateInstance, m_propagateMethod); } else if (m_propagateCallback != null) { dep.setPropagate(new Propagate(), "propagate"); dep.setCallbacks(m_instance, m_added, m_changed, m_removed); } else if (m_refs.size() > 0) { Object cb = createCallbackInstance(); dep.setCallbacks(cb, "add", "change", "remove"); dep.setAutoConfig(m_autoConfig); return dep;
private Dependency createBundleDependency(DependencyManager dm, String added, String changed, String removed, boolean required, boolean propagate, String filter, int stateMask) { BundleDependency bd = dm.createBundleDependency(); bd.setCallbacks(added, changed, removed); bd.setRequired(required); bd.setPropagate(propagate); if (filter != null) { bd.setFilter(filter); } if (stateMask != -1) { bd.setStateMask(stateMask); } return bd; }
@Override protected void startInitial() { DependencyManager dm = getDependencyManager(); m_component .setImplementation(new BundleAdapterDecorator()) .add(dm.createBundleDependency() .setFilter(m_bundleFilter) .setStateMask(m_bundleStateMask) .setCallbacks("added", "removed")) .setCallbacks("init", null, "stop", null); }
.setBundle(bundle) .setStateMask(m_bundleStateMask) .setPropagate(m_propagate) .setCallbacks(m_cbInstance, m_add, m_change, m_remove) // if no callbacks, autoconfig is enabled .setRequired(true));
@Override public void init(BundleContext context, DependencyManager manager) throws Exception { manager.add(createComponent() .setInterface(ManagedServiceFactory.class.getName(), new Hashtable<String, String>(Collections.singletonMap(Constants.SERVICE_PID, ManagedProcessEngineFactory.SERVICE_PID))) .setImplementation(ManagedProcessEngineFactoryImpl.class).add(createBundleDependency().setBundle(context.getBundle()).setRequired(true))); }
@Override public void init(BundleContext context, DependencyManager manager) throws Exception { manager.add(createComponent() .setImplementation(ProcessDefinitionDeployerImpl.class) .setInterface(ProcessDefinitionDeployer.class.getName(), null) .add(createServiceDependency() .setService(ProcessEngine.class) .setRequired(true))); manager.add(createComponent() .setImplementation(ProcessDefinitionCheckerImpl.class) .add(createBundleDependency() .setCallbacks("checkBundle","checkBundle", "bundleRemoved")) .add(createServiceDependency() .setService(ProcessDefinitionDeployer.class) .setRequired(true))); manager.add(createComponent() .setImplementation(ScriptEngineBundleScanner.class) .add(createBundleDependency() .setCallbacks("addBundle", "modifiedBundle", "removedBundle"))); } }
.setComposition("getComposition") .add(createBundleDependency() .setRequired(false) .setStateMask(Bundle.ACTIVE) .setFilter("(DependencyManager-Component=*)") .setCallbacks("bundleStarted", "bundleStopped")) .add(createServiceDependency() .setRequired(true)
@Override public void init(BundleContext context, DependencyManager manager) throws Exception { manager.add(createComponent() .setImplementation(GlobalOSGiEventBridgeActivator.class) .add(createBundleDependency().setBundle(context.getBundle()).setRequired(true)) .setInterface(OSGiEventBridgeActivator.class.getName(), null)); } }