Package org.apache.felix.dm

Examples of org.apache.felix.dm.Component


                components.addAll(componentFactory.createComponents(m_context, m_manager, m_logService, agentConfiguration));
            }

            Properties agentProperties = new Properties();
            agentProperties.put("agent", agentId);
            Component agentComponent = m_manager.createComponent()
                .setInterface(ManagementAgent.class.getName(), agentProperties)
                .setImplementation(new ManagementAgent() {
                });
            components.add(agentComponent);
View Full Code Here


        m_manager = manager;
    }

    public synchronized void deleted(String pid) {
        // pull service
        Component service = m_instances.remove(pid);
        if (service != null) {
            m_manager.remove(service);
        }

        // remove persisted data
View Full Code Here

        Preferences node = m_prefs.node(pid);
        node.put(RepositoryConstants.REPOSITORY_NAME, name);
        node.put(RepositoryConstants.REPOSITORY_CUSTOMER, customer);

        Component service = m_instances.get(pid);
        if (service == null) {
            // new instance
            File dir = new File(m_baseDir, pid);
            RepositoryImpl store = new RepositoryImpl(dir, m_tempDir, isMaster);
            if ((initialContents != null) && isMaster) {
                try {
                    store.commit(new ByteArrayInputStream(initialContents.getBytes()), 0);
                }
                catch (IOException e) {
                    m_log.log(LogService.LOG_ERROR, "Unable to set initial contents of the repository.", e);
                }
            }
            service = m_manager.createComponent()
                .setInterface(new String[] {RepositoryReplication.class.getName(), Repository.class.getName()}, dict)
                .setImplementation(store)
                .add(m_manager.createServiceDependency().setService(LogService.class).setRequired(false));
            m_manager.add(service);
            m_instances.put(pid, service);
        } else {
            // update existing instance
            RepositoryImpl store = (RepositoryImpl) service.getService();
            store.updated(isMaster);
        }
    }
View Full Code Here

    private void addListener(final Object implementation, final String... topics) {
        Properties props = new Properties();
        props.put(EventConstants.EVENT_TOPIC, topics);
        props.put(EventConstants.EVENT_FILTER, "(" + SessionFactory.SERVICE_SID + "=" + m_sessionID + ")");
        Component component = m_manager.createComponent()
        .setInterface(EventHandler.class.getName(), props)
        .setImplementation(implementation);
        synchronized (m_eventHandlers) {
          m_eventHandlers.add(component);
        }
View Full Code Here

        ArtifactHelper myHelper = new MockArtifactHelper("mymime");

        Properties serviceProps = new Properties();
        serviceProps.put(ArtifactHelper.KEY_MIMETYPE, "mymime");

        Component myHelperService = m_dependencyManager.createComponent()
            .setInterface(ArtifactHelper.class.getName(), serviceProps)
            .setImplementation(myHelper);

        m_dependencyManager.add(myHelperService);
View Full Code Here

        // register preprocessor and helper
        Properties serviceProps = new Properties();
        serviceProps.put(ArtifactHelper.KEY_MIMETYPE, "mymime");

        Component helperService = m_dependencyManager.createComponent()
            .setInterface(ArtifactHelper.class.getName(), serviceProps)
            .setImplementation(helper);

        m_dependencyManager.add(helperService);
       
View Full Code Here

            m_distribution2TargetAssociationRepositoryImpl = new Distribution2TargetAssociationRepositoryImpl(m_distributionRepositoryImpl, m_targetRepositoryImpl, m_changeNotifierManager.getConfiguredNotifier(RepositoryObject.PRIVATE_TOPIC_ROOT, RepositoryObject.PUBLIC_TOPIC_ROOT, Distribution2TargetAssociation.TOPIC_ENTITY_ROOT, m_sessionID));
            m_deploymentVersionRepositoryImpl = new DeploymentVersionRepositoryImpl(m_changeNotifierManager.getConfiguredNotifier(RepositoryObject.PRIVATE_TOPIC_ROOT, RepositoryObject.PUBLIC_TOPIC_ROOT, DeploymentVersionObject.TOPIC_ENTITY_ROOT, m_sessionID));
        }
       
        // first, register the artifact repository manually; it needs some special care.
        Component artifactRepoService = m_manager.createComponent()
            .setInterface(ArtifactRepository.class.getName(), m_sessionProps)
            .setImplementation(m_artifactRepositoryImpl)
            .add(m_manager.createServiceDependency().setService(ConnectionFactory.class).setRequired(true))
            .add(m_manager.createServiceDependency().setService(LogService.class).setRequired(false))
            .add(m_manager.createServiceDependency().setService(ArtifactHelper.class).setRequired(false).setAutoConfig(false).setCallbacks(this, "addArtifactHelper", "removeArtifactHelper"));
       
        Dictionary topic = new Hashtable();
        topic.put(EventConstants.EVENT_FILTER, "(" + SessionFactory.SERVICE_SID + "=" + m_sessionID + ")");
        topic.put(EventConstants.EVENT_TOPIC, new String[] {});
       
        Component artifactHandlerService = m_manager.createComponent()
            .setInterface(EventHandler.class.getName(), topic)
            .setImplementation(m_artifactRepositoryImpl);

        m_manager.add(artifactRepoService);
        m_manager.add(artifactHandlerService);
View Full Code Here

        }
    }

    @SuppressWarnings("unchecked")
    private <T extends RepositoryObject> Component[] registerRepository(Class<? extends ObjectRepository<T>> iface, ObjectRepositoryImpl<?, T> implementation, String[] topics) {
        Component repositoryService = m_manager.createComponent()
            .setInterface(iface.getName(), m_sessionProps)
            .setImplementation(implementation)
            .add(m_manager.createServiceDependency().setService(LogService.class).setRequired(false));
        Dictionary topic = new Hashtable();
        topic.put(EventConstants.EVENT_TOPIC, topics);
        topic.put(EventConstants.EVENT_FILTER, "(" + SessionFactory.SERVICE_SID + "=" + m_sessionID + ")");
        Component handlerService = m_manager.createComponent()
            .setInterface(EventHandler.class.getName(), topic)
            .setImplementation(implementation);

        m_manager.add(repositoryService);
        m_manager.add(handlerService);
View Full Code Here

*/
public abstract class OneComponentFactoryBase extends ComponentFactoryBase {

    @Override
    public final Set<Component> createComponents(BundleContext context, DependencyManager manager, LogService logService, Map<String, String> configuration) throws Exception {
        Component component = createComponent(context, manager, logService, configuration);
        if (component != null) {
            Set<Component> components = new HashSet<Component>();
            components.add(component);
            return components;
        }
View Full Code Here

        props.put(SchedulerConstants.SCHEDULER_NAME_KEY, LogSyncTask.class.getSimpleName());
        props.put(SchedulerConstants.SCHEDULER_DESCRIPTION_KEY, "Task that synchronizes log store " + store + " for agent=" + getAgentIdentifier(configuration) + " on the target and server");
        props.put(SchedulerConstants.SCHEDULER_RECIPE, "2000");

        Component component = manager.createComponent()
            .setInterface(Runnable.class.getName(), props)
            .setImplementation(new LogSyncTask(store))
            .add(manager.createServiceDependency()
                .setService(ConnectionFactory.class, getAgentFilter(configuration, null))
                .setRequired(true))
View Full Code Here

TOP

Related Classes of org.apache.felix.dm.Component

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.