@ComponentTypes({ @ComponentType(name="Generator", filename="jadex/micro/examples/mandelbrot/GenerateAgent.class"), @ComponentType(name="Calculator", filename="jadex/micro/examples/mandelbrot/CalculateAgent.class"), @ComponentType(name="Display", filename="jadex/micro/examples/mandelbrot/DisplayAgent.class") }) @Configurations( @Configuration(name="default", components={ @Component(type="Generator"), @Component(type="Calculator"), @Component(type="Display") }) ) @Agent public class MandelbrotAgent { }
/** * Component that holds the sensors in the platform. */ @Agent @ComponentTypes( { @ComponentType(name="cpusensor", filename="jadex/platform/sensor/system/SystemSensorAgent.class") }) @Configurations(@Configuration(name="def", components= { @Component(type="cpusensor") })) public class SensorHolderAgent { }
/** * Simple test agent with one service. */ @Agent @ComponentTypes( { @ComponentType(name="emptya", clazz=EmptyAAgent.class), @ComponentType(name="emptyb", clazz=EmptyBAgent.class) }) @Configurations( { @Configuration(name="main", components= { @Component(type="emptya", number="1"), @Component(type="emptyb", number="1") }), @Configuration(name="same", components= { @Component(type="emptya", number="1"), @Component(type="emptyb", number="1") }) }) public class MainAgent { }
@Results(@Result(name="testresults", clazz=Testcase.class)) @ComponentTypes({ @ComponentType(name="block", filename="jadex/micro/testcases/blocking/BlockAgent.class"), @ComponentType(name="step", filename="jadex/micro/testcases/blocking/StepAgent.class") }) @Configurations(@Configuration(name="default", components={
/** * Application configurations with users and providers. */ @Agent @ComponentTypes({ @ComponentType(name="user", clazz=UserAgent.class), @ComponentType(name="provider", clazz=ProviderAgent.class) }) @Configurations({ @Configuration(name="10 users and 5 providers", components={ @Component(name="gui", type="user", configuration="with gui"), @Component(type="user", number="10"), @Component(type="provider", number="5") }), @Configuration(name="40 users and 5 providers", components={ @Component(name="gui", type="user", configuration="with gui"), @Component(type="user", number="40"), @Component(type="provider", number="5") }) }) public class ApplicationAgent { }
@Results(@Result(name="testresults", clazz=Testcase.class)) @ComponentTypes({ @ComponentType(name="block", filename="jadex/micro/testcases/blocking/BlockAgent.class"), @ComponentType(name="step", filename="jadex/micro/testcases/blocking/StepAgent.class") }) @Configurations(@Configuration(name="default", components={
@Results(@Result(name="testresults", clazz=Testcase.class)) @ComponentTypes({ @ComponentType(name="block", filename="jadex/micro/testcases/blocking/BlockAgent.class"), @ComponentType(name="step", filename="jadex/micro/testcases/blocking/StepAgent.class") }) @Configurations(@Configuration(name="default", components={
/** * Component that holds the sensors in the platform. */ @Agent @ComponentTypes( { @ComponentType(name="cpusensor", filename="jadex/platform/sensor/system/SystemSensorAgent.class") }) @Configurations(@Configuration(name="def", components= { @Component(type="cpusensor") })) @Properties(@NameValue(name="system", value="true")) public class SensorHolderAgent { }
/** * Convenience agent that wraps a normal rest web service as Jadex service. * In this way the web service can be used by active components * in the same way as normal Jadex component services. */ @Agent @RequiredServices(@RequiredService(name="cms", type=IComponentManagementService.class, binding=@Binding(scope=RequiredServiceInfo.SCOPE_PLATFORM))) @ComponentTypes(@ComponentType(name="invocation", filename="jadex/extension/rs/invoke/RestServiceInvocationAgent.class")) public class RestServiceAgent { //-------- attributes -------- /** The micro agent. */ @Agent protected MicroAgent agent; //-------- methods -------- /** * Create a wrapper service implementation based on mapping information. */ public Object createServiceImplementation(Class<?> type, Class<?> impl) { return Proxy.newProxyInstance(agent.getClassLoader(), new Class[]{type}, RSFactory.getInstance().createRSWrapperInvocationHandler(agent, impl)); } }
/** * Agent that wraps a normal web service as Jadex service. * In this way the web service can be used by active components * in the same way as normal Jadex component services. */ @Agent @RequiredServices(@RequiredService(name="cms", type=IComponentManagementService.class, binding=@Binding(scope=RequiredServiceInfo.SCOPE_PLATFORM))) @ComponentTypes(@ComponentType(name="invocation", filename="jadex/platform/service/ws/WebServiceInvocationAgent.class")) public class WebServiceAgent { //-------- attributes -------- /** The micro agent. */ @Agent protected MicroAgent agent; //-------- methods -------- /** * Create a wrapper service implementation based on the JAXB generated * Java service class and the service mapping information. */ public Object createServiceImplementation(Class<?> type, WebServiceMappingInfo mapping) { return Proxy.newProxyInstance(agent.getClassLoader(), new Class[]{type}, new WebServiceWrapperInvocationHandler(agent, mapping)); } }
@ComponentTypes( @ComponentType(name="agent1", clazz=Service1Agent.class), @ComponentType(name="agent2", clazz=Service2Agent.class) }) @Configurations(@Configuration(name="def", components={@Component(type="agent1"), @Component(type="agent2")}))
@ComponentTypes(@ComponentType(name="block", clazz=BlockAgent.class)) @RequiredServices(@RequiredService(name="cms", type=IComponentManagementService.class, binding=@Binding(scope=RequiredServiceInfo.SCOPE_PLATFORM))) public class ShutdownAgent
@Agent @RequiredServices(@RequiredService(name="cms", type=IComponentManagementService.class, binding=@Binding(scope=RequiredServiceInfo.SCOPE_PLATFORM))) @ComponentTypes(@ComponentType(name="producer", clazz=ResultProducerAgent.class)) @Results(@Result(name="testresults", clazz=Testcase.class)) public class UserAgent
binding=@Binding(create=true, creationinfo=@CreationInfo(type="test"))), }) @ComponentTypes(@ComponentType(name="test", clazz=ProviderAgent.class)) @Agent @Results(@Result(name="testresults", clazz=Testcase.class))
@ComponentTypes(@ComponentType(name="provider", clazz=NewsProviderAgent.class)) @Configurations(@Configuration(name="def", components=@Component(type="provider"))) public class NewsConsumerAgent
@ComponentTypes(@ComponentType(name="provider", clazz=ProviderAgent.class)) @Configurations(@Configuration(name="def", components=@Component(type="provider"))) @Results(@Result(name="testresults", description= "The test results.", clazz=Testcase.class))
/** * Multi kernel. */ @Arguments({ @Argument(name="defaultkernels", description= "Kernel default locations.", clazz=String[].class, defaultvalue="null"), @Argument(name="ignorekernels", description="Kernels that are ignored.", clazz=String[].class, defaultvalue="new String[] {\"KernelBDI.component.xml\"}"), @Argument(name="ignoreextensions", description="File extensions that are ignored.", clazz=String[].class, defaultvalue="null")}) @ProvidedServices({ @ProvidedService(type=IComponentFactory.class, implementation=@Implementation(expression="new jadex.kernelbase.MultiFactory($args.defaultkernels, $args.ignorekernels, $args.ignoreextensions)")), @ProvidedService(type=IMultiKernelNotifierService.class, implementation=@Implementation(expression="$component.getRawService(jadex.bridge.service.types.factory.IComponentFactory.class)")) }) @ComponentTypes({ @ComponentType(name="KernelMicro", filename="jadex/micro/KernelMicroAgent.class") }) @Configurations({ @Configuration(name="default", components={ @Component(name="kernel_micro", type="KernelMicro") }) }) public class KernelMultiAgent extends MicroAgent { }
@ComponentTypes( @ComponentType(name="emptyc", clazz=EmptyCAgent.class), }) @Configurations(
@ComponentTypes(@ComponentType(name="chat", filename="jadex/platform/service/chat/ChatAgent.class")) // Hack!!! Implicit dependency to jadex-platform @Configurations({ @Configuration(name="intern", components=@Component(type="chat", arguments=@NameValue(name="nosave", value="true"), configuration="user")),
}) @ComponentTypes({ @ComponentType(name="KernelMicro", filename="jadex/micro/KernelMicroAgent.class") }) @Configurations({