/** * Sets the <code>service.pid</code> of the configuration you * are depending on. */ public ConfigurationDependency setPid(String pid) { m_delegate.setPid(pid); return this; }
@Override public void init(BundleContext context, DependencyManager manager) throws Exception { Properties props = new Properties(); props.put("osgi.command.scope", "node"); props.put("osgi.command.function", new String[] {"start", "stop", "properties"}); manager.add(createComponent() .setInterface(NodeLauncher.class.getName(), props) .setImplementation(AmazonNodeLauncher.class) .add(createConfigurationDependency() .setPid(AmazonNodeLauncher.PID))); }
@Override public ConfigurationDependency build() { String pid = m_pid == null ? (m_configType != null ? m_configType.getName() : null) : m_pid; if (pid == null) { throw new IllegalStateException("Pid not specified"); } ConfigurationDependency dep = m_component.getDependencyManager().createConfigurationDependency(); Objects.nonNull(m_pid); dep.setPid(pid); dep.setPropagate(m_propagate); dep.setRequired(m_required); if (m_updateMethodName != null) { dep.setCallback(m_updateCallbackInstance, m_updateMethodName, m_configType); } else if (m_refs.size() > 0) { // setup an internal callback object. When config is updated, we have to call each registered // method references. // Notice that we need the component to be instantiated in case there is a mref on one of the component instances (unbound method ref), or is used // called "needsInstance(true)". dep.setCallback(new Object() { @SuppressWarnings("unused") void updated(Component comp, Dictionary<String, Object> props) { m_refs.forEach(mref -> mref.accept(null, comp, props)); } }, "updated", m_hasComponentCallbackRefs); } return dep; }
private Dependency createConfigurationDependency(DependencyManager dm, Bundle b, String pid, String callback, String[] configTypes, boolean propagate, boolean required) throws ClassNotFoundException { if (pid == null) { throw new IllegalArgumentException( "pid attribute not provided in ConfigurationDependency declaration"); } ConfigurationDependency cd = dm.createConfigurationDependency(); cd.setPid(pid); cd.setCallback(callback); cd.setPropagate(propagate, true /* configuration will override default service properties */); cd.setRequired(required); if (configTypes != null) { Class<?>[] configTypeClasses = new Class<?>[configTypes.length]; for (int i = 0; i < configTypes.length; i ++) { configTypeClasses[i] = b.loadClass(configTypes[i]); } cd.setConfigType(configTypeClasses); } return cd; }
public void init(BundleContext context, DependencyManager manager) throws Exception { Dictionary properties = new Hashtable(); properties.put(Constants.SERVICE_PID, DiscoveryConstants.DISCOVERY_PID); manager.add(createComponent() .setInterface(new String[] {Discovery.class.getName()}, properties) .setImplementation(PropertyBasedDiscovery.class) .add(createConfigurationDependency() .setPid(DiscoveryConstants.DISCOVERY_PID)) .add(createServiceDependency() .setService(LogService.class) .setRequired(false))); }
@Override public void init(BundleContext context, DependencyManager manager) throws Exception { Properties contextProps = new Properties(); contextProps.put(HTTP_WHITEBOARD_CONTEXT_NAME, ACE_WEBUI_WHITEBOARD_CONTEXT_NAME); contextProps.put(HTTP_WHITEBOARD_CONTEXT_PATH, "/"); manager.add(createComponent() .setInterface(ServletContextHelper.class.getName(), contextProps) .setImplementation(AceWebuiServletContextHelper.class) .add(createConfigurationDependency().setPid(PID)) .add(createServiceDependency().setService(LogService.class).setRequired(false))); Properties resourceRegistrationProps = new Properties(); resourceRegistrationProps.put(HTTP_WHITEBOARD_RESOURCE_PREFIX, "/VAADIN"); resourceRegistrationProps.put(HTTP_WHITEBOARD_RESOURCE_PATTERN, "/VAADIN/*"); resourceRegistrationProps.put(HTTP_WHITEBOARD_CONTEXT_SELECT, ACE_WEBUI_WHITEBOARD_CONTEXT_SELECT_FILTER); manager.add(createComponent() .setInterface(Object.class.getName(), resourceRegistrationProps) .setImplementation(new Object())); Properties props = new Properties(); props.put(HTTP_WHITEBOARD_SERVLET_PATTERN, DEFAULT_SERVLET_ENDPOINT.concat("/*")); props.put(HTTP_WHITEBOARD_CONTEXT_SELECT, ACE_WEBUI_WHITEBOARD_CONTEXT_SELECT_FILTER); // register the main application for the ACE UI client manager.add(createComponent() .setInterface(Servlet.class.getName(), props) .setImplementation(VaadinServlet.class) .add(createConfigurationDependency().setPid(PID))); addArtifactExtensions(manager); addFeatureExtensions(manager); addDistributionExtensions(manager); addTargetExtensions(manager); }
@Override public void init(BundleContext context, DependencyManager manager) throws Exception { Properties props = new Properties(); props.put("taskName", UpdateUserAdminTask.PID); props.put("description", "Synchronizes the UserAdmin with the server."); manager.add(createComponent() .setInterface(Runnable.class.getName(), props) .setImplementation(UpdateUserAdminTask.class) .add(createServiceDependency().setService(UserAdminConfigurator.class).setRequired(true)) .add(createServiceDependency().setService(LogService.class).setRequired(false)) .add(createConfigurationDependency().setPid(UpdateUserAdminTask.PID)) ); }
@Override public void init(BundleContext context, DependencyManager manager) throws Exception { Properties props = new Properties(); props.put(HTTP_WHITEBOARD_SERVLET_PATTERN, "/client/*"); props.put(HTTP_WHITEBOARD_CONTEXT_SELECT, ACE_WHITEBOARD_CONTEXT_SELECT_FILTER); props.put(HTTP_WHITEBOARD_LISTENER, true); manager.add(createComponent() .setInterface(new String[] { Servlet.class.getName(), HttpSessionListener.class.getName() }, props) .setImplementation(RESTClientServlet.class) .add(createServiceDependency() .setService(WorkspaceManager.class) .setRequired(true)) .add(createConfigurationDependency() .setPid(RESTCLIENT_PID)) .add(createServiceDependency() .setService(LogService.class) .setRequired(false))); } }
@Override public void init(BundleContext context, DependencyManager manager) throws Exception { Properties props = new Properties(); props.put(CommandProcessor.COMMAND_SCOPE, "ace"); props.put(CommandProcessor.COMMAND_FUNCTION, new String[] { "cw", "gw", "rw" }); manager.add(createComponent().setInterface(WorkspaceManager.class.getName(), props) .setImplementation(WorkspaceManagerImpl.class) .add(createServiceDependency().setService(SessionFactory.class).setRequired(true)) .add(createConfigurationDependency().setPropagate(true).setPid(WORKSPACE_PID)) .add(createServiceDependency().setService(LogService.class).setRequired(false))); }
@Override public void init(BundleContext context, DependencyManager manager) throws Exception { manager.add(createComponent() .setInterface(DeploymentProvider.class.getName(), null) .setImplementation(RepositoryBasedProvider.class) .add(createConfigurationDependency() .setPid(PID) ) .add(createServiceDependency() .setService(LogService.class) .setRequired(false))); }
.setInterface(HttpServlet.class.getName(), props) .setImplementation(VaadinServlet.class) .add(createConfigurationDependency().setPid(VaadinServlet.PID)) );
@Override public void init(BundleContext context, DependencyManager manager) throws Exception { manager.add(createComponent() .setInterface(BundleStore.class.getName(), null) .setImplementation(BundleFileStore.class) .add(createConfigurationDependency() .setPid(PID)) .add(createServiceDependency() .setService(MetadataGenerator.class) .setRequired(true)) .add(createServiceDependency() .setService(LogService.class) .setRequired(false))); }
@Override public void init(BundleContext context, DependencyManager manager) throws Exception { manager.add(createComponent() .setInterface(HttpServlet.class.getName(), null) .setImplementation(DeploymentServlet.class) .add(createServiceDependency().setService(StreamGenerator.class).setRequired(true)) .add(createServiceDependency().setService(DeploymentProvider.class).setRequired(true)) .add(createServiceDependency().setService(LogService.class).setRequired(false)) .add(createConfigurationDependency().setPropagate(true).setPid(PID))); }
.setRequired( false ) ) // .setPid( UIManagerConfigurator.PID ) ) // );
/** * Initialize and set dependencies */ @Override public void init(BundleContext context, DependencyManager manager) throws Exception { manager.add(createComponent() .setImplementation(AutoGatewayOperator.class) .add(createConfigurationDependency().setPid(AutoGatewayOperator.PID)) .add(createServiceDependency().setRequired(true).setService(UserAdmin.class)) .add(createServiceDependency().setRequired(true).setService(GatewayRepository.class)) .add(createServiceDependency().setRequired(true).setService(StatefulGatewayRepository.class)) .add(createServiceDependency().setRequired(true).setService(DeploymentVersionRepository.class)) .add(createServiceDependency().setRequired(true).setService(RepositoryAdmin.class)) .add(createServiceDependency().setRequired(false).setService(LogService.class)) ); }
/** * Initialize and set dependencies */ @Override public void init(BundleContext context, DependencyManager manager) throws Exception { manager.add(createComponent() .setImplementation(AutoTargetOperator.class) .add(createConfigurationDependency().setPid(AutoTargetOperator.PID)) .add(createServiceDependency().setRequired(true).setService(UserAdmin.class)) .add(createServiceDependency().setRequired(true).setService(TargetRepository.class)) // TODO is this still used? .add(createServiceDependency().setRequired(true).setService(StatefulTargetRepository.class)) .add(createServiceDependency().setRequired(true).setService(DeploymentVersionRepository.class)) .add(createServiceDependency().setRequired(true).setService(RepositoryAdmin.class)) .add(createServiceDependency().setRequired(false).setService(LogService.class)) ); }