package jadex.micro.examples.remoteservice; import jadex.bridge.IExternalAccess; import jadex.commons.concurrent.DefaultResultListener; import jadex.commons.service.SServiceProvider; import jadex.commons.service.library.ILibraryService; import jadex.micro.MicroAgent; import java.util.List; /** * Just for starting the scenario. */ public class ScenarioAgent extends MicroAgent { /** * Execute the body. */ public void executeBody() { SServiceProvider.getService(getServiceProvider(), ILibraryService.class) .addResultListener(createResultListener(new DefaultResultListener() { public void resultAvailable(Object source, Object result) { ILibraryService libservice = (ILibraryService)result; libservice.getURLStrings().addResultListener(createResultListener(new DefaultResultListener() { public void resultAvailable(Object source, Object result) { String[] libpaths = (String[])((List)result).toArray(new String[0]); StartScenario.startScenario(libpaths).addResultListener(createResultListener(new DefaultResultListener() { public void resultAvailable(Object source, Object result) { System.out.println("Killing platforms"); IExternalAccess[] platforms = (IExternalAccess[])result; for(int i=0; i<platforms.length; i++) platforms[i].killComponent(); } })); } })); } })); } }