/** * */ public IFuture<Void> test(int level) { // final Future<Void> ret = new Future<Void>(); // System.out.println("invoked test on: "+agent.getComponentIdentifier()+" level="+level+" "+ServiceCall.getCurrentInvocation().getCause()); if(level<10) { Collection<ITestService> tss = SServiceProvider.getServices(agent, ITestService.class).get(); if(tss.size()>0) { int num = (int)(Math.random()*tss.size()); // System.out.println("found: "+tss.size()+" "+num); List<ITestService> l = new ArrayList<ITestService>(tss); ITestService ts = l.get(num); // The .get() is important to not interrupt the call chain // Do we want it to work also without? ts.test(level+1).get(); } } // return ret; return IFuture.DONE; } }
@AgentBody public void body() { // System.out.println("MY PLATFORM :" + ia.getComponentIdentifier().getPlatformName()); Collection<IMessageService> services = (Collection)ia.getComponentFeature(IRequiredServicesFeature.class).getRequiredServices("MessageService").get(); IServiceIdentifier[] res = new IServiceIdentifier[services!=null? services.size(): 0]; if(services!=null) { Iterator<IMessageService> it = services.iterator(); for(int i=0; i<services.size(); i++) { res[i] = ((IService)it.next()).getServiceIdentifier(); } ia.getComponentFeature(IArgumentsResultsFeature.class).getResults().put("found", res); if(selfkill) ia.killComponent(); } } }
/** * The agent body. */ @AgentBody public void body() { // todo: make ITerminable in DefaultServiceFetcher try { while(true) { ComposedEvaluator<IAService> ranker = new ComposedEvaluator<IAService>(); ranker.addEvaluator(new ExecutionTimeEvaluator(agent.getExternalAccess(), new MethodInfo(IAService.class.getMethod("test", new Class[0])), true)); ITerminableIntermediateFuture<IAService> sfut = agent.getComponentFeature(IRequiredServicesFeature.class).getRequiredServices("aser"); Collection<Tuple2<IAService, Double>> res = SServiceProvider.rankServicesWithScores(sfut, ranker, null).get(); System.out.println("Found: "+res); IAService aser = res.iterator().next().getFirstEntity(); aser.test().get(); } } catch(Exception e) { System.out.println("User agent problem: "+e); } }
Collection<ITestService> tss = sfut.get(); INFPropertyComponentFeature nfp = agent.getComponentFeature(INFPropertyComponentFeature.class); if(tss.size()>0)
try res = future.get(null);
Collection forces = (Collection)getAgent().getComponentFeature(IRequiredServicesFeature.class).getRequiredServices(servicename).get(); int number = ((Integer)disaster.getProperty(typename)).intValue(); final IBeliefSet busy = getBeliefbase().getBeliefSet("busy_entities");
try Collection<ITestService> sers = SServiceProvider.getTaggedServices(agent, ITestService.class, RequiredServiceInfo.SCOPE_PLATFORM, TagProperty.PLATFORM_NAME).get(); tr4.setSucceeded(true);
IBuyBookService[] services = agent.getComponentFeature(IRequiredServicesFeature.class).getRequiredServices("buyservice").get().toArray(new IBuyBookService[0]); if(services.length == 0)