• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java Factory类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.felix.ipojo.Factory的典型用法代码示例。如果您正苦于以下问题:Java Factory类的具体用法?Java Factory怎么用?Java Factory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Factory类属于org.apache.felix.ipojo包,在下文中一共展示了Factory类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: execute

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
@Override
public Object execute() throws Exception {

    ShellTable table = new ShellTable();
    table.column("Name");
    table.column("Version");
    table.column("Bundle Id");
    table.column("State");

    for (Factory factory : managerService.getFactories()) {
        table.addRow().addContent(factory.getName(), factory.getVersion(), factory.getBundleContext().getBundle().getBundleId(), (factory.getState() == Factory.VALID ? Ansi.ansi().fg(Ansi.Color.GREEN).a("VALID").reset().toString() : Ansi.ansi().fg(Ansi.Color.GREEN).a((factory.getState() == Factory.INVALID ? "INVALID" : "UNKNOWN")).reset().toString()));
    }

    table.print(System.out);

    return null;
}
 
开发者ID:andyphillips404,项目名称:awplab-core,代码行数:18,代码来源:FactoriesCommand.java


示例2: getFactories

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
protected Set<Factory> getFactories() {
    Set<Factory> factories = new HashSet<>();

    try {
        BundleContext bundleContext = FrameworkUtil.getBundle(IPOJOJobRunShellFactory.class).getBundleContext();
        ServiceReference[] refs = bundleContext.getServiceReferences(Factory.class.getName(), null);
        if (refs != null) {
            for (ServiceReference serviceReference : refs) {
                factories.add((Factory)bundleContext.getService(serviceReference));
            }
        }

        return factories;
    }
    catch (Exception ex) {
        LoggerFactory.getLogger(IPOJOJobRunShellFactory.class).error("Exception getting factories.", ex);
        return Collections.emptySet();
    }

}
 
开发者ID:andyphillips404,项目名称:awplab-core,代码行数:21,代码来源:IPOJOJobRunShellFactory.java


示例3: setMessagingConfiguration

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
@Before
public void setMessagingConfiguration() {

	this.msgCfg = new LinkedHashMap<>();
	this.msgCfg.put("net.roboconf.messaging.type", "telepathy");
	this.msgCfg.put("mindControl", "false");
	this.msgCfg.put("psychosisProtection", "active");

	this.manager = Mockito.mock( Manager.class );
	this.standardAgentFactory = Mockito.mock( Factory.class );
	this.nazgulAgentFactory = Mockito.mock( Factory.class );

	this.handler = new InMemoryHandler();
	this.handler.setMessagingFactoryRegistry( new MessagingClientFactoryRegistry());

	this.handler.standardAgentFactory = this.standardAgentFactory;
	this.handler.nazgulAgentFactory = this.nazgulAgentFactory;
	this.handler.manager = this.manager;
}
 
开发者ID:roboconf,项目名称:roboconf-platform,代码行数:20,代码来源:InMemoryHandlerMockedManagerTest.java


示例4: testStop

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
@Test
public void testStop() throws Exception {

	this.target.standardAgentFactory = Mockito.mock( Factory.class );
	this.target.nazgulAgentFactory = Mockito.mock( Factory.class );

	ComponentInstance agentMock = Mockito.mock( ComponentInstance.class );
	Mockito.when( this.target.standardAgentFactory .getInstances()).thenReturn( Arrays.asList( agentMock ));

	ComponentInstance nazgulMock = Mockito.mock( ComponentInstance.class );
	Mockito.when( this.target.nazgulAgentFactory .getInstances()).thenReturn( Arrays.asList( nazgulMock ));

	this.target.stop();
	Mockito.verify( this.target.standardAgentFactory, Mockito.only()).getInstances();
	Mockito.verify( this.target.nazgulAgentFactory, Mockito.only()).getInstances();

	Mockito.verify( agentMock ).dispose();
	Mockito.verify( nazgulMock ).dispose();
}
 
开发者ID:roboconf,项目名称:roboconf-platform,代码行数:20,代码来源:InMemoryHandlerWithoutManagerTest.java


示例5: getRelations

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
@Override
public List<Relation> getRelations() {
    List<Relation> r = super.getRelations();
    Factory f = m_factory.get();
    if (f == null) {
        // Reference has been released
        return r;
    }
    // Add dynamic relations
    r = new ArrayList<Relation>(r);
    for (String instanceName : getCreatedInstanceNames(f)) {
        r.add(new DefaultRelation(
                INSTANCES.addElements(instanceName),
                Action.READ,
                "instance[" + instanceName + "]",
                "Instance '" + instanceName + "'"));
    }
    return Collections.unmodifiableList(r);
}
 
开发者ID:ow2-chameleon,项目名称:everest,代码行数:20,代码来源:FactoryResource.java


示例6: getCreatedInstanceNames

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
private Set<String> getCreatedInstanceNames(Factory factory) {
    Field weapon = null;
    try {
        weapon = IPojoFactory.class.getDeclaredField("m_componentInstances");
        weapon.setAccessible(true);
        @SuppressWarnings("unchecked")
        Map<String, ComponentInstance> instances = (Map<String, ComponentInstance>)weapon.get(factory);
        return instances.keySet();
    } catch (Exception e) {
        throw new RuntimeException("cannot get factory created instances", e);
    } finally {
        if (weapon != null) {
            weapon.setAccessible(false);
        }
    }
}
 
开发者ID:ow2-chameleon,项目名称:everest,代码行数:17,代码来源:FactoryResource.java


示例7: getFactoryReference

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
public ServiceReference<Factory> getFactoryReference(String name, String version) {
    // Scientifically build the selection filter.
    String filter = "(&(factory.name=" + name + ")";
    if (version != null) {
        filter += "(factory.version=" + version + ")";
    } else {
        filter += "(!(factory.version=*))";
    }
    filter += ")";
    Collection<ServiceReference<Factory>> refs;
    try {
        refs = context.getServiceReferences(Factory.class, filter);
    } catch (InvalidSyntaxException e) {
        // Should never happen!
        throw new AssertionError(e);
    }
    if (refs.isEmpty()) {
        return null;
    } else if (refs.size() > 1) {
        // Should never happen!
        throw new AssertionError("multiple factory service with same name/version: " + name + "/" + version);
    }
    return refs.iterator().next();
}
 
开发者ID:ow2-chameleon,项目名称:everest,代码行数:25,代码来源:EverestIpojoTestCommon.java


示例8: killFactory

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
private boolean killFactory(String name, String version) throws InvalidSyntaxException {
    Factory factory = getFactory(name, version);
    if (factory == null) {
        return false;
    }

    IPojoFactory f = (IPojoFactory) factory;
    Method weapon = null;
    try {
        weapon = IPojoFactory.class.getDeclaredMethod("dispose");
        weapon.setAccessible(true);
        // FATALITY!!!
        weapon.invoke(f);
    } catch (Exception e) {
        throw new IllegalStateException("cannot kill factory", e);
    } finally {
        // It's a bad idea to let kids play with such a weapon...
        if (weapon != null) {
            weapon.setAccessible(false);
        }
    }
    return true;
}
 
开发者ID:ow2-chameleon,项目名称:everest,代码行数:24,代码来源:EverestIpojoTestCommon.java


示例9: instantiateAMPQPlaform

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
@Before
public void instantiateAMPQPlaform() {

    ipojoHelper = new IPOJOHelper(bundleContext);

    Properties linker = new Properties();
    linker.put(FILTER_IMPORTDECLARATION_PROPERTY, "(id=*)");
    linker.put(FILTER_IMPORTERSERVICE_PROPERTY, "(instance.name=MQTTImporter)");
    linker.put(Factory.INSTANCE_NAME_PROPERTY, "MQTTLinker");

    linkerComponentInstance = ipojoHelper.createComponentInstance(FuchsiaConstants.DEFAULT_IMPORTATION_LINKER_FACTORY_NAME, linker);

    Properties importer = new Properties();
    importer.put(FILTER_IMPORTDECLARATION_PROPERTY, "(id=*)");
    importer.put("target", "(id=*)");
    importer.put(Factory.INSTANCE_NAME_PROPERTY, "MQTTImporter");

    importerComponentInstance = ipojoHelper.createComponentInstance("org.ow2.chameleon.fuchsia.importer.mqtt.MQTTImporter", importer);

}
 
开发者ID:ow2-chameleon,项目名称:fuchsia,代码行数:21,代码来源:MQTTMessageCaptureTest.java


示例10: unbind

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
public void unbind(ServiceReference serviceReference) {
    synchronized (lock) {
        if (!serviceReferencesHandled.containsKey(fetchServiceId(serviceReference))) {
            serviceReferencesBound.remove(fetchServiceId(serviceReference));
        } else {

            /**
             * Pay attention to this line, this may produce undesired behaviour
             */

            String name = (String) serviceReference.getProperty(Factory.INSTANCE_NAME_PROPERTY);
            LOG.warn(name + " want to unbound a declaration that it is still handling.");
            throw new IllegalStateException(name + " want to unbound a declaration that it is still handling.");

        }
    }
}
 
开发者ID:ow2-chameleon,项目名称:fuchsia,代码行数:18,代码来源:DeclarationImpl.java


示例11: initMocks

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
/**
 * Inits the mocks.
 */
@SuppressWarnings("unchecked")
@BeforeMethod
public void initMocks() {
    messageConsumerFactoryMock = EasyMock.createMock(Factory.class);
    testHandlerMock = EasyMock.createMock(CommunoteMessageHandler.class);
    messageConsumersMock = EasyMock.createMock(Map.class);
}
 
开发者ID:Communote,项目名称:communote-server,代码行数:11,代码来源:ProviderMessageConsumerFactoryTest.java


示例12: startComponent

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
/**
 * Starts the multicast broadcaster iPOJO component according to system
 * properties
 */
private void startComponent() {

    if (pInstance != null) {
        pLogger.log(LogService.LOG_ERROR, "Can't run component twice");
        return;
    }

    // Set up properties
    final Dictionary<String, String> props = new Hashtable<>();
    props.put(Factory.INSTANCE_NAME_PROPERTY,
            getProperty(SYSPROP_NAME, DEFAULT_NAME));
    props.put(PROP_GROUP, getProperty(SYSPROP_GROUP, DEFAULT_GROUP));
    props.put(PROP_PORT, getProperty(SYSPROP_PORT, DEFAULT_PORT));
    props.put(PROP_DISCOVER_LOCAL_PEERS, 
    		getProperty(SYSPROP_DISCOVER_LOCAL_PEERS, DEFAULT_DISCOVER_LOCAL_PEERS));
    try {
        // Create the instance
        pInstance = pMulticastFactory.createComponentInstance(props);

        String logStr = "Herald Multicast discovery instantiated: "
                + pInstance;
        if (pInstance instanceof InstanceManager) {
            // Try to grab more details
            final InstanceManager instMan = (InstanceManager) pInstance;
            final Object realComponent = instMan.getPojoObject();
            logStr += " - " + realComponent;
        }
        pLogger.log(LogService.LOG_DEBUG, logStr);

    } catch (UnacceptableConfiguration | MissingHandlerException
            | ConfigurationException ex) {
        // What a Terrible Failure
        pLogger.log(LogService.LOG_ERROR,
                "Multicast broadcaster instantiation error: " + ex, ex);
    }
}
 
开发者ID:cohorte,项目名称:cohorte-herald,代码行数:41,代码来源:MulticastStarter.java


示例13: createMachine

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
@Override
public String createMachine( TargetHandlerParameters parameters ) throws TargetException {

	this.logger.fine( "Creating a new agent in memory." );
	Map<String,String> targetProperties = preventNull( parameters.getTargetProperties());

	// Need to wait?
	try {
		String delayAsString = targetProperties.get( DELAY );
		long delay = delayAsString != null ? Long.parseLong( delayAsString ) : this.defaultDelay.get();
		if( delay > 0 )
			Thread.sleep( delay );

	} catch( Exception e ) {
		this.logger.warning( "An error occurred while applying the delay property. " + e.getMessage());
		Utils.logException( this.logger, e );
	}

	String machineId = parameters.getScopedInstancePath() + " @ " + parameters.getApplicationName();
	Factory factory = findIPojoFactory( parameters );
	createIPojo(
			targetProperties,
			parameters.getMessagingProperties(),
			machineId,
			parameters.getScopedInstancePath(),
			parameters.getApplicationName(),
			parameters.getDomain(),
			factory );

	return machineId;
}
 
开发者ID:roboconf,项目名称:roboconf-platform,代码行数:32,代码来源:InMemoryHandler.java


示例14: isMachineRunning

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
@Override
public boolean isMachineRunning( TargetHandlerParameters parameters, String machineId )
throws TargetException {

	this.logger.fine( "Verifying the in-memory agent for " + machineId + " is running." );
	Map<String,String> targetProperties = preventNull( parameters.getTargetProperties());

	// No agent factory => no iPojo instance => not running
	boolean result = false;
	if( this.standardAgentFactory != null )
		result = this.standardAgentFactory.getInstancesNames().contains( machineId );

	// On restoration, in-memory agents will ALL have disappeared.
	// So, it makes sense to recreate them if they do not exist anymore.
	// To determine whether we should restore them or no, we look for the model in the manager.
	if( ! result && ! simulatePlugins( targetProperties )) {

		Map.Entry<String,String> ctx = parseMachineId( machineId );
		ManagedApplication ma = this.manager.applicationMngr().findManagedApplicationByName( ctx.getValue());
		Instance scopedInstance = InstanceHelpers.findInstanceByPath( ma.getApplication(), ctx.getKey());

		// Is it supposed to be running?
		if( scopedInstance.getStatus() != InstanceStatus.NOT_DEPLOYED ) {
			this.logger.fine( "In-memory agent for " + machineId + " is supposed to be running but is not. It will be restored." );
			Map<String,String> messagingConfiguration = this.manager.messagingMngr().getMessagingClient().getConfiguration();
			Factory factory = findIPojoFactory( parameters );
			createIPojo( targetProperties, messagingConfiguration, machineId, ctx.getKey(), ctx.getValue(), this.manager.getDomain(), factory );
			result = true;
			// The agent will restore its model by asking it to the DM.
		}
	}

	return result;
}
 
开发者ID:roboconf,项目名称:roboconf-platform,代码行数:35,代码来源:InMemoryHandler.java


示例15: terminateMachine

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
@Override
public void terminateMachine( TargetHandlerParameters parameters, String machineId ) throws TargetException {

	this.logger.fine( "Terminating an in-memory agent." );
	Map<String,String> targetProperties = preventNull( parameters.getTargetProperties());

	// If we executed real recipes, undeploy everything first.
	// That's because we do not really terminate the agent's machine, we just kill the agent.
	// So, it is important to stop and undeploy properly.
	if( ! simulatePlugins( targetProperties )) {
		this.logger.fine( "Stopping instances correctly (real recipes are used)." );
		Map.Entry<String,String> ctx = parseMachineId( machineId );
		ManagedApplication ma = this.manager.applicationMngr().findManagedApplicationByName( ctx.getValue());

		// We do not want to undeploy the scoped instances, but its children.
		try {
			Instance scopedInstance = InstanceHelpers.findInstanceByPath( ma.getApplication(), ctx.getKey());
			for( Instance childrenInstance : scopedInstance.getChildren())
				this.manager.instancesMngr().changeInstanceState( ma, childrenInstance, InstanceStatus.NOT_DEPLOYED );

		} catch( IOException e ) {
			throw new TargetException( e );
		}
	}

	// Destroy the IPojo
	Factory factory = findIPojoFactory( parameters );
	deleteIPojo( factory, machineId );
}
 
开发者ID:roboconf,项目名称:roboconf-platform,代码行数:30,代码来源:InMemoryHandler.java


示例16: findIPojoFactory

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
private Factory findIPojoFactory( TargetHandlerParameters parameters ) {

		/*
		 * Nazguls and "classical" in-memory agents can coexist.
		 * The difference is that Nazguls execute real recipes,
		 * with a Sauron as a coordinator, while in-memory agents
		 * simulate recipes.
		 */

		return ! simulatePlugins( parameters.getTargetProperties()) ? this.nazgulAgentFactory : this.standardAgentFactory;
	}
 
开发者ID:roboconf,项目名称:roboconf-platform,代码行数:12,代码来源:InMemoryHandler.java


示例17: deleteIPojo

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
private void deleteIPojo( Factory factory, String machineId ) {

		if( factory != null ) {
			for( ComponentInstance instance : factory.getInstances()) {
				if( machineId.equals( instance.getInstanceName())) {
					deleteIPojoInstance( instance );
					break;
				}
			}
		}
	}
 
开发者ID:roboconf,项目名称:roboconf-platform,代码行数:12,代码来源:InMemoryHandler.java


示例18: before

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
@Before
public void before() throws Exception {

	// Messaging configuration
	this.msgCfg = new LinkedHashMap<>();
	this.msgCfg.put("net.roboconf.messaging.type", "telepathy");
	this.msgCfg.put("mindControl", "false");
	this.msgCfg.put("psychosisProtection", "active");

	// Prepare the handler
	this.standardAgentFactory = Mockito.mock( Factory.class );
	this.nazgulAgentFactory = Mockito.mock( Factory.class );
	this.manager = new Manager();

	this.handler = new InMemoryHandler();
	this.handler.setMessagingFactoryRegistry( new MessagingClientFactoryRegistry());

	this.handler.standardAgentFactory = this.standardAgentFactory;
	this.handler.nazgulAgentFactory = this.nazgulAgentFactory;
	this.handler.manager = this.manager;

	// Configure the manager
	this.manager.setMessagingType( MessagingConstants.FACTORY_TEST );
	this.manager.configurationMngr().setWorkingDirectory( this.folder.newFolder());
	this.manager.start();

	TestManagerWrapper managerWrapper = new TestManagerWrapper( this.manager );
	managerWrapper.configureMessagingForTest();
	this.manager.reconfigure();

	// Disable the messages timer for predictability
	TestUtils.getInternalField( this.manager, "timer", Timer.class).cancel();

	// Load an application
	this.app = new TestApplication();
	this.app.setDirectory( this.folder.newFolder());

	ManagedApplication ma = new ManagedApplication( this.app );
	managerWrapper.addManagedApplication( ma );
}
 
开发者ID:roboconf,项目名称:roboconf-platform,代码行数:41,代码来源:InMemoryHandlerWithRealManagerTest.java


示例19: setMessagingConfiguration

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
@Before
public void setMessagingConfiguration() throws Exception {

	this.msgCfg = new LinkedHashMap<>();
	this.msgCfg.put("net.roboconf.messaging.type", "telepathy");
	this.msgCfg.put("mindControl", "false");
	this.msgCfg.put("psychosisProtection", "active");

	this.target = new InMemoryHandler();
	this.target.standardAgentFactory = Mockito.mock( Factory.class );
	this.ipojoInstance = Mockito.mock( ComponentInstance.class );
	Mockito
		.when( this.target.standardAgentFactory.createComponentInstance( Mockito.any( Dictionary.class )))
		.thenReturn( this.ipojoInstance );
}
 
开发者ID:roboconf,项目名称:roboconf-platform,代码行数:16,代码来源:InMemoryHandlerWithoutManagerTest.java


示例20: getMetadata

import org.apache.felix.ipojo.Factory; //导入依赖的package包/类
@Override
public ResourceMetadata getMetadata() {
    Factory f = m_factory.get();
    ResourceMetadata m = super.getMetadata();
    if (f == null) {
        // Reference has been released
        return m;
    }
    // Add dynamic metadata
    return new ImmutableResourceMetadata.Builder(m)
            .set("state", stateAsString(f.getState())) // String
            .set("missingHandlers", f.getMissingHandlers()) // List<String>
            .build();
}
 
开发者ID:ow2-chameleon,项目名称:everest,代码行数:15,代码来源:FactoryResource.java



注:本文中的org.apache.felix.ipojo.Factory类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java DexBackedInstruction类代码示例发布时间:2022-05-22
下一篇:
Java Shabal256类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap