public void resultAvailable(final ITimer timer) { if(timer!=null) rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, filter==null? ICondition.TRUE_CONDITION: new ICondition() { public IFuture<Tuple2<Boolean, Object>> evaluate(IEvent event) { return new Future<Tuple2<Boolean, Object>>(filter.filter((ChangeInfo<?>)event.getContent())? ICondition.TRUE: ICondition.FALSE); } }, new IAction<Void>() { public IFuture<Void> execute(IEvent event, IRule<Void> rule, Object context, Object condresult) { // if(rescom.equals(getResumeCommand())) // { setDispatchedElement(new ChangeEvent(event)); rescom.execute(null); // RPlan.executePlan(RPlan.this, getAgent(), rescom); // } return IFuture.DONE; } }); // rule.addEvent(et); rule.setEvents(ets); getRuleSystem().getRulebase().addRule(rule); } });
public void resultAvailable(final ITimer timer) { if(timer!=null) rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, ICondition.TRUE_CONDITION, new IAction<Void>() { public IFuture<Void> execute(IEvent event, IRule<Void> rule, Object context, Object condresult) { // if(rescom.equals(getResumeCommand())) { setDispatchedElement(new ChangeEvent(event)); RPlan.executePlan(RPlan.this, ia, rescom); } return IFuture.DONE; } }); rule.addEvent(eta); rule.addEvent(etb); ip.getRuleSystem().getRulebase().addRule(rule); } });
if(rule.getAction()==null || rule.getCondition()==null || rule.getEvents()==null || rule.getEvents().size()==0) throw new RuntimeException("Rule is incomplete: "+rule.getName());
if(rule==null) rule = new Rule(name); rules.put(name, rule); throw new RuntimeException("Event type not found: "+method); rule.setEventNames(events); rule.setCondition(new jadex.rules.eca.MethodCondition(object, m)); if(rule==null) rule = new Rule(name); rules.put(name, rule); rule.setAction(new MethodAction(object, m));
Rule<Void> rule = new Rule<Void>(mbel.getName()+"_belief_update", ICondition.TRUE_CONDITION, new IAction<Void>() rule.setEvents(events); rulesystem.getRulebase().addRule(rule); Rule<Void> rule = new Rule<Void>(mgoal.getName()+"_"+mparam.getName()+"_parameter_update", ICondition.TRUE_CONDITION, new IAction<Void>() rule.setEvents(events); rulesystem.getRulebase().addRule(rule); Rule<Void> rule = new Rule<Void>(mgoal.getName()+"_goal_create", new NotInShutdownCondition(component), new IAction<Void>() rule.setEvents(cond.getEvents()); rulesystem.getRulebase().addRule(rule); Rule<Void> rule = new Rule<Void>(mgoal.getName()+"_goal_create", new CombinedCondition(new ICondition[]{new NotInShutdownCondition(component), new MethodCondition(null, m) rule.setEvents(cond.getEvents()); rulesystem.getRulebase().addRule(rule); Rule<Void> rule = new Rule<Void>(mgoal.getName()+"_goal_create", new CombinedCondition(new ICondition[]{new NotInShutdownCondition(component), new EvaluateExpressionCondition(component, cond, mgoal, null)}), new IAction<Void>() rule.setEvents(cond.getEvents()); rulesystem.getRulebase().addRule(rule);
Rule<?> r1 = new Rule<Object>("a.b.c.d", null, null, new EventType[]{new EventType("a.b.c.d")}); node.addRule(r1); node.addRule(new Rule<Object>("a.b", null, null, new EventType[]{new EventType("a.b")})); node.addRule(new Rule<Object>("a.b2", null, null, new EventType[]{new EventType("a.b2")})); node.addRule(new Rule<Object>("a.b.c2", null, null, new EventType[]{new EventType("a.b.c2")})); node.addRule(new Rule<Object>("a.b2", null, null, new EventType[]{new EventType("a.b2")})); node.addRule(new Rule<Object>("a.b2.c", null, null, new EventType[]{new EventType("a.b2.c")})); node.addRule(new Rule<Object>("a.b.c.d2", null, null, new EventType[]{new EventType("a.b.c.d")})); node.addRule(new Rule<Object>("a2", null, null, new EventType[]{new EventType("a2")})); node.addRule(new Rule<Object>("*", null, null, new EventType[]{new EventType("*")})); node.addRule(new Rule<Object>("a.b.*", null, null, new EventType[]{new EventType("a.b.*")})); node.addRule(new Rule<Object>("a.*", null, null, new EventType[]{new EventType("a.*")}));
/** * Create a new rule. */ public Rule(String name, ICondition condition, IAction<T> action, EventType[] events) { this.name = name; this.condition = condition; this.action = action; if(events!=null) { for(EventType type: events) addEvent(type); } }
Rule<Void> rule = new Rule<Void>(mbel.getName()+"_belief_update", ICondition.TRUE_CONDITION, new IAction<Void>() rule.setEvents(events); getRuleSystem().getRulebase().addRule(rule); Rule<Void> rule = new Rule<Void>(mgoal.getName()+"_goal_create", ICondition.TRUE_CONDITION, new IAction<Void>() rule.setEvents(cond.getEvents()); getRuleSystem().getRulebase().addRule(rule); Rule<Void> rule = new Rule<Void>(mgoal.getName()+"_goal_create", new MethodCondition(null, m) rule.setEvents(cond.getEvents()); getRuleSystem().getRulebase().addRule(rule); Rule<?> rule = new Rule<Void>(mgoal.getName()+"_goal_drop", new GoalsExistCondition(mgoal, capa), new IAction<Void>() List<EventType> events = new ArrayList<EventType>(cond.getEvents()); events.add(new EventType(new String[]{ChangeEvent.GOALADOPTED, mgoal.getName()})); rule.setEvents(events); getRuleSystem().getRulebase().addRule(rule); Rule<?> rule = new Rule<Void>(mgoal.getName()+"_goal_suspend", new GoalsExistCondition(mgoal, capa), new IAction<Void>()
rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, cond!=null? cond: ICondition.TRUE_CONDITION, new IAction<Void>()
/** * Set up a rule for the waitqueue to signal to what kinds of events this plan * in principle reacts to. */ public void internalSetupEventsRule(List<EventType> events) { final String rulename = getId()+"_waitqueue"; Rule<Void> rule = new Rule<Void>(rulename, ICondition.TRUE_CONDITION, new IAction<Void>() { public IFuture<Void> execute(IEvent event, IRule<Void> rule, Object context, Object condresult) { // System.out.println("Added to waitqueue: "+event); addToWaitqueue(new ChangeEvent(event)); return IFuture.DONE; } }); rule.setEvents(events); getAgent().getComponentFeature(IInternalBDIAgentFeature.class).getRuleSystem().getRulebase().updateRule(rule); }
public void resultAvailable(final ITimer timer) { if(timer!=null) rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, ICondition.TRUE_CONDITION, new IAction<Void>() { public IFuture<Void> execute(IEvent event, IRule<Void> rule, Object context, Object condresult) { // if(rescom.equals(getResumeCommand())) { setDispatchedElement(new ChangeEvent(event)); RPlan.executePlan(RPlan.this, ia, rescom); } return IFuture.DONE; } }); rule.addEvent(et); ip.getRuleSystem().getRulebase().addRule(rule); } });
rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, cond!=null? cond: ICondition.TRUE_CONDITION, new IAction<Void>()
public void resultAvailable(final ITimer timer) { if(timer!=null) rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, cond!=null? cond: ICondition.TRUE_CONDITION, new IAction<Void>() { public IFuture<Void> execute(IEvent event, IRule<Void> rule, Object context, Object condresult) { // if(rescom.equals(getResumeCommand())) // { setDispatchedElement(new ChangeEvent(event)); rescom.execute(null); // RPlan.executePlan(RPlan.this, getAgent(), rescom); // } return IFuture.DONE; } }); for(String ev: events) { rule.addEvent(new EventType(ev)); } getRuleSystem().getRulebase().addRule(rule); } });
rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, filter==null? ICondition.TRUE_CONDITION: new ICondition()
public void resultAvailable(final ITimer timer) { if(timer!=null) rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, cond!=null? cond: ICondition.TRUE_CONDITION, new IAction<Void>() { public IFuture<Void> execute(IEvent event, IRule<Void> rule, Object context, Object condresult) { // if(rescom.equals(getResumeCommand())) { setDispatchedElement(new ChangeEvent(event)); RPlan.executePlan(RPlan.this, ia, rescom); } return IFuture.DONE; } }); for(String ev: events) { rule.addEvent(new EventType(ev)); } ip.getRuleSystem().getRulebase().addRule(rule); } });
rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, ICondition.TRUE_CONDITION, new IAction<Void>()
rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, ICondition.TRUE_CONDITION, new IAction<Void>()