public void customResultAvailable(IComponentManagementService cms) { cms.createComponent(name, type, new CreationInfo(configname, arguments, parco, suspend, master, daemon, autosd, moni, sync, null, null, rid), killlistener) .addResultListener(new IResultListener() { public void resultAvailable(Object result) { ret.setResult(result); jcc.setStatusText("Created component: " + ((IComponentIdentifier)result).getLocalName()); } public void exceptionOccurred(Exception exception) { ret.setException(exception); // exception.printStackTrace(); jcc.displayError("Problem Starting Component", "Component could not be started.", exception); } }); } });
public void customResultAvailable(IComponentManagementService cms) { cms.createComponent(name, type, new CreationInfo(configname, arguments, parco, suspend, master, daemon, autosd, sync, pers, moni, null, null, rid), killlistener) .addResultListener(new IResultListener() { public void resultAvailable(Object result) { ret.setResult(result); jcc.setStatusText("Created component: " + ((IComponentIdentifier)result).getLocalName()); } public void exceptionOccurred(Exception exception) { ret.setException(exception); // exception.printStackTrace(); jcc.displayError("Problem Starting Component", "Component could not be started.", exception); } }); } });
public void customResultAvailable(final IComponentManagementService cms) { if(stok.hasMoreTokens()) { final String model = stok.nextToken(); // final IComponentManagementService cms = (IComponentManagementService)result; cms.createComponent(null, model, new CreationInfo(component.getComponentIdentifier()), null) .addResultListener(new IResultListener<IComponentIdentifier>() { public void resultAvailable(IComponentIdentifier result) { customResultAvailable(cms); // Continue with next token. } public void exceptionOccurred(Exception exception) { component.getLogger().warning("Extension '"+model+"' could not be loaded: "+exception); customResultAvailable(cms); // Continue with next token. } }); } else { fut.setResult(null); } } });
public void customResultAvailable(final IComponentManagementService cms) { if(stok.hasMoreTokens()) { final String model = stok.nextToken(); // final IComponentManagementService cms = (IComponentManagementService)result; cms.createComponent(null, model, new CreationInfo(component.getComponentIdentifier()), null) .addResultListener(new IResultListener<IComponentIdentifier>() { public void resultAvailable(IComponentIdentifier result) { customResultAvailable(cms); // Continue with next token. } public void exceptionOccurred(Exception exception) { component.getLogger().warning("Extension '"+model+"' could not be loaded: "+exception); customResultAvailable(cms); // Continue with next token. } }); } else { fut.setResult(null); } } });
/** * Manually connects to a remote platform. * * @param platformname Name of the platform. * @param remoteaddr Transport URL. */ public static final void connectPlatform(IInternalAccess component, String platformname, String remoteaddr) { // Address of remote platform IComponentIdentifier remotecid = new ComponentIdentifier(platformname, new String[]{remoteaddr}); // Create proxy for remote platform such that remote services are found Map<String, Object> args = new HashMap<String, Object>(); args.put("component", remotecid); CreationInfo ci = new CreationInfo(args); ci.setDaemon(true); IComponentManagementService cms = SServiceProvider.getLocalService(component, IComponentManagementService.class, Binding.SCOPE_PLATFORM); cms.createComponent(platformname, "jadex/platform/service/remote/ProxyAgent.class", ci).getFirstResult(); } }
public void customResultAvailable(IComponentManagementService cms) { cms.createComponent("platforms", "jadex/base/service/awareness/RemotePlatformAgent.class", new CreationInfo(getComponentIdentifier().getRoot()), null) .addResultListener(new DelegationResultListener<IComponentIdentifier>(pcreatefut)); } });
public void customResultAvailable(Object result) { IComponentManagementService cms = (IComponentManagementService)result; Map args = new HashMap(); args.put("timeout", timeout); // Todo: Use remote component for parent if any CreationInfo ci = new CreationInfo(args, plugin.getJCC().getPlatformAccess().getComponentIdentifier()); ci.setResourceIdentifier(name.getSecondEntity()); cms.createComponent(null, name.getFirstEntity(), ci, res) .addResultListener(new SwingDelegationResultListener(ret)); // Todo: timeout -> force destroy of component } });
public void customResultAvailable(Object result) { IComponentManagementService cms = (IComponentManagementService)result; Map args = new HashMap(); args.put("timeout", timeout); // Todo: Use remote component for parent if any CreationInfo ci = new CreationInfo(args, plugin.getJCC().getPlatformAccess().getComponentIdentifier()); ci.setResourceIdentifier(name.getSecondEntity()); cms.createComponent(null, name.getFirstEntity(), ci, res) .addResultListener(new SwingDelegationResultListener(ret)); // Todo: timeout -> force destroy of component } });
public void customResultAvailable(IComponentManagementService cms) { cms.createComponent(null, component, new CreationInfo(ia.getComponentIdentifier()), new ExceptionDelegationResultListener<Collection<Tuple2<String,Object>>, Void>(ret) { public void customResultAvailable(Collection<Tuple2<String,Object>> result) { ret.setResult(null); } }) .addResultListener(new ExceptionDelegationResultListener<IComponentIdentifier, Void>(ret) { public void customResultAvailable(IComponentIdentifier result) { } }); } });
/** * Create the platform proxy holder component. * (Can be called multiple times). */ protected IFuture<IComponentIdentifier> createProxyHolder() { if(pcreatefut!=null) { return pcreatefut; } else { pcreatefut = new Future<IComponentIdentifier>(); CreationInfo ci = new CreationInfo(getComponentIdentifier().getRoot()); ci.setDaemon(Boolean.TRUE); cms.createComponent("platforms", RemotePlatformAgent.class.getName()+".class", ci, null) .addResultListener(new DelegationResultListener<IComponentIdentifier>(pcreatefut)); } return pcreatefut; }
public void customResultAvailable(IComponentManagementService cms) { // IComponentManagementService cms = (IComponentManagementService)result; cms.createComponent(null, "jadex.micro.testcases.ServiceParameterAgent.class", new CreationInfo("second", null, agent.getComponentIdentifier()), null) .addResultListener(new ExceptionDelegationResultListener<IComponentIdentifier, Void>(ret) { public void customResultAvailable(IComponentIdentifier cid) { // IComponentIdentifier cid = (IComponentIdentifier)result; IFuture<IDService> serfut = agent.getComponentFeature(IRequiredServicesFeature.class).searchService(IDService.class, cid); serfut.addResultListener(new ExceptionDelegationResultListener<IDService, Void>(ret) { public void customResultAvailable(IDService otherser) { otherser.testServiceArgument(PojoDService.this) .addResultListener(new DelegationResultListener<Boolean>(res)); } }); } }); } });
public void customResultAvailable(final IComponentManagementService cms) { cms.createComponent(null, model, new CreationInfo(agent.getComponentIdentifier()), null) .addResultListener(agent.getComponentFeature(IExecutionFeature.class).createResultListener(new IResultListener<IComponentIdentifier>() { public void resultAvailable(IComponentIdentifier result) { fut1.setException(new RuntimeException("Creation unexpectedly succeded.")); cms.destroyComponent(result); } public void exceptionOccurred(Exception exception) { if(exception.getMessage().equals("Exception in init.")) { fut1.setResult(null); } else { fut1.setException(exception); } } })); } });
public void customResultAvailable(IComponentManagementService cms) { cms.createComponent(null, "jadex.micro.MicroAgent.class", new CreationInfo(agent.getComponentIdentifier()), null) .addResultListener(agent.getComponentFeature(IExecutionFeature.class).createResultListener(new IResultListener<IComponentIdentifier>() { public void resultAvailable(IComponentIdentifier result) { System.out.println("Micro agent started: "+result); } public void exceptionOccurred(Exception exception) { // exception.printStackTrace(); } })); ret.setResult(null); agent.killComponent(); } });
public void customResultAvailable(final IComponentManagementService cms) { // IResourceIdentifier rid = new ResourceIdentifier( // new LocalResourceIdentifier(root, agent.getModel().getResourceIdentifier().getLocalIdentifier().getUri()), null); boolean local = root.equals(agent.getComponentIdentifier().getRoot()); CreationInfo ci = new CreationInfo(local? agent.getComponentIdentifier(): root, agent.getModel().getResourceIdentifier()); ci.setArguments(args); ci.setConfiguration(config); cms.createComponent(null, filename, ci, reslis) .addResultListener(new DelegationResultListener<IComponentIdentifier>(ret) { public void customResultAvailable(IComponentIdentifier result) { super.customResultAvailable(result); } public void exceptionOccurred(Exception exception) { exception.printStackTrace(); super.exceptionOccurred(exception); } }); } });
public void customResultAvailable(final IComponentManagementService cms) { // IResourceIdentifier rid = new ResourceIdentifier( // new LocalResourceIdentifier(root, agent.getModel().getResourceIdentifier().getLocalIdentifier().getUri()), null); boolean local = root.equals(agent.getComponentIdentifier().getRoot()); CreationInfo ci = new CreationInfo(local? agent.getComponentIdentifier(): root, agent.getModel().getResourceIdentifier()); ci.setArguments(args); ci.setConfiguration(config); cms.createComponent(null, filename, ci, reslis) .addResultListener(new DelegationResultListener<IComponentIdentifier>(ret) { public void customResultAvailable(IComponentIdentifier result) { super.customResultAvailable(result); } public void exceptionOccurred(Exception exception) { exception.printStackTrace(); super.exceptionOccurred(exception); } }); } });
public void customResultAvailable(Object result) { final IComponentManagementService cms = (IComponentManagementService)result; cms.createComponent(null, "jadex/micro/testcases/Result.component.xml", new CreationInfo(config, null, agent.getComponentIdentifier()), null) .addResultListener(agent.getComponentFeature(IExecutionFeature.class).createResultListener(new DelegationResultListener(fut) { public void customResultAvailable(Object result) { cms.destroyComponent((IComponentIdentifier)result) .addResultListener(new DelegationResultListener(fut) { public void customResultAvailable(Object result) { Map results = (Map)result; if(results!=null && SUtil.equals(results.get("res"), expected)) { super.customResultAvailable(null); } else { throw new RuntimeException("Results do not match, expected res="+expected+" but got: "+results); } } }); } })); } });
public void customResultAvailable(Object result) { final IComponentManagementService cms = (IComponentManagementService)result; cms.createComponent(null, "jadex/micro/testcases/Result.component.xml", new CreationInfo(config, null, ia.getComponentIdentifier()), null) .addResultListener(ia.getComponentFeature(IExecutionFeature.class).createResultListener(new DelegationResultListener(fut) { public void customResultAvailable(Object result) { cms.destroyComponent((IComponentIdentifier)result) .addResultListener(new DelegationResultListener(fut) { public void customResultAvailable(Object result) { Map results = (Map)result; if(results!=null && SUtil.equals(results.get("res"), expected)) { super.customResultAvailable(null); } else { throw new RuntimeException("Results do not match, expected res="+expected+" but got: "+results); } } }); } })); } });
public void run() { try { ThreadSuspendable sus = new ThreadSuspendable(); CreationInfo ci = new CreationInfo("created", null); ci.setParent(agent.getComponentIdentifier()); ci.setResourceIdentifier(agent.getModel().getResourceIdentifier()); final String name = TesterAgent.class.getName()+".class"; IComponentIdentifier ida = cms.createComponent(name, ci).getFirstResult(); IComponentIdentifier idb = cms.createComponent(name, ci).getFirstResult(); IComponentDescription desca = cms.getComponentDescription(ida).get(); IComponentDescription descb = cms.getComponentDescription(ida).get(); System.out.println("chain a: "+ida+" "+desca.getCause().getOrigin()); System.out.println("chain b: "+idb+" "+descb.getCause().getOrigin()); } catch(ComponentTerminatedException e) { // avoid exception being printed during start test. } } }).start();
public void customResultAvailable(IComponentIdentifier parent) { CreationInfo ci = new CreationInfo(args); ci.setDaemon(true); ci.setParent(parent); // System.out.println("create proxy: "+(++cnt)); cms.createComponent(dif.getComponentIdentifier().getLocalName(), "jadex/platform/service/remote/ProxyAgent.class", ci, createResultListener(new DefaultResultListener<Collection<Tuple2<String, Object>>>(getLogger()) { public void resultAvailable(Collection<Tuple2<String, Object>> result) { // System.out.println("Proxy killed: "+source); dif.setProxy(null); informListeners(dif); } public void exceptionOccurred(Exception exception) { if(!(exception instanceof ComponentTerminatedException)) super.exceptionOccurred(exception); } })).addResultListener(new DelegationResultListener<IComponentIdentifier>(ret)); } });
/** * Perform a test. * @param no The test number. * @param model The agent model. * @return The test. */ public TestReport test(int no, String model) { TestReport tr = new TestReport(""+no, "Test if creating service without explicit implementation works."); try { IComponentManagementService cms = (IComponentManagementService)agent.getComponentFeature(IRequiredServicesFeature.class).getRequiredService("cms").get(); IComponentIdentifier cid = cms.createComponent(null, model, new CreationInfo(agent.getComponentIdentifier()), null).get(); IInfoService ser = agent.getComponentFeature(IRequiredServicesFeature.class).searchService(IInfoService.class, cid).get(); String res = ser.getInfo().get(); tr.setSucceeded(true); } catch(Exception e) { tr.setFailed(e); } return tr; } }