/** * */ public void unobserveValue(Object val, IInternalAccess agent) { getRuleSystem(agent).unobserveObject(val, eventadder); }
/** * */ public void unobserveValue(Object val) { getRuleSystem().unobserveObject(val); }
/** * */ public void unobserveValue(Object val) { getRuleSystem().unobserveObject(val); }
/** * */ public void unobserveValue(Object val) { getRuleSystem().unobserveObject(val, eventadder); }
/** * Unobserve an object. */ public static void unobserveObject(IInternalAccess agent, final Object object, EventType etype, RuleSystem rs) { Map<EventType, IResultCommand<IFuture<Void>, PropertyChangeEvent>> eventadders = agent.getComponentFeature(IInternalBDIAgentFeature.class).getEventAdders(); IResultCommand<IFuture<Void>, PropertyChangeEvent> eventadder = eventadders.get(etype); rs.unobserveObject(object, eventadder); }
/** * Unobserving an old belief value. * @param agent The agent. * @param belname The belief name. */ public static void unobserveValue(BDIAgent agent, final String belname) { // System.out.println("unobserve: "+agent+" "+belname); try { Object pojo = ((IPojoMicroAgent)agent).getPojoAgent(); Method getter = pojo.getClass().getMethod("get"+belname.substring(0,1).toUpperCase()+belname.substring(1), new Class[0]); Object oldval = getter.invoke(pojo, new Object[0]); RuleSystem rs = ((BDIAgentInterpreter)agent.getInterpreter()).getRuleSystem(); rs.unobserveObject(oldval); } catch(Exception e) { e.printStackTrace(); } }
rs.unobserveObject(val); ret.setResult(null);
getRuleSystem().unobserveObject(val); ret.setResult(null);
getRuleSystem().unobserveObject(val); ret.setResult(null);
/** * Set the value of an abstract belief. */ public void setAbstractBeliefValue(String capa, String name, Object value) { // System.out.println("setAbstractBeliefValue(): "+capa+BDIAgentInterpreter.CAPABILITY_SEPARATOR+name); BDIModel bdimodel = (BDIModel)getInterpreter().getMicroModel(); String belname = bdimodel.getBeliefMappings().get(capa+BDIAgentInterpreter.CAPABILITY_SEPARATOR+name); if(belname==null) { throw new RuntimeException("No mapping for abstract belief: "+capa+BDIAgentInterpreter.CAPABILITY_SEPARATOR+name); } MBelief mbel = bdimodel.getCapability().getBelief(belname); // Maybe unobserve old value Object old = mbel.getValue((BDIAgentInterpreter)getInterpreter()); boolean field = mbel.setValue((BDIAgentInterpreter)getInterpreter(), value); if(field) { BDIAgentInterpreter ip = (BDIAgentInterpreter)getInterpreter(); RuleSystem rs = (ip).getRuleSystem(); rs.unobserveObject(old); createChangeEvent(value, this, mbel.getName()); observeValue(rs, value, ip, ChangeEvent.FACTCHANGED+"."+mbel.getName(), mbel); } }
System.out.println("Ex in observe: "+e.getMessage()); Object val = event.getSource(); rs.unobserveObject(val, self); ret.setResult(null);
System.out.println("Ex in observe: "+e.getMessage()); Object val = event.getSource(); getRuleSystem().unobserveObject(val, self); ret.setResult(null);