From: <jom...@us...> - 2013-11-22 17:16:46
|
Revision: 1760 http://sourceforge.net/p/jason/svn/1760 Author: jomifred Date: 2013-11-22 17:16:43 +0000 (Fri, 22 Nov 2013) Log Message: ----------- fix bug reported by Viviana Marcardi Modified Paths: -------------- trunk/build.xml trunk/release-notes.txt trunk/src/jason/asSemantics/Agent.java trunk/src/jason/asSemantics/TransitionSystem.java trunk/src/jason/bb/DefaultBeliefBase.java Modified: trunk/build.xml =================================================================== --- trunk/build.xml 2013-11-14 10:44:23 UTC (rev 1759) +++ trunk/build.xml 2013-11-22 17:16:43 UTC (rev 1760) @@ -12,7 +12,7 @@ <property name="dist.properties" value="${basedir}/bin/dist.properties" /> <property name="version" value="1" /> - <property name="release" value="3.10b" /> + <property name="release" value="4.0" /> <property name="distDir" value="${env.HOME}/tmp/x/Jason-${version}.${release}" /> <property name="distFile" value="${env.HOME}/Jason-${version}.${release}" /> Modified: trunk/release-notes.txt =================================================================== --- trunk/release-notes.txt 2013-11-14 10:44:23 UTC (rev 1759) +++ trunk/release-notes.txt 2013-11-22 17:16:43 UTC (rev 1760) @@ -1,7 +1,7 @@ --------------------------- version 1.4.0 -revision XXX on SVN +revision 1759 on SVN --------------------------- New features Modified: trunk/src/jason/asSemantics/Agent.java =================================================================== --- trunk/src/jason/asSemantics/Agent.java 2013-11-14 10:44:23 UTC (rev 1759) +++ trunk/src/jason/asSemantics/Agent.java 2013-11-22 17:16:43 UTC (rev 1760) @@ -664,7 +664,7 @@ // stat int adds = 0; int dels = 0; - long startTime = System.nanoTime(); + long startTime = qProfiling == null ? 0 : System.nanoTime(); // deleting percepts in the BB that is not perceived anymore Iterator<Literal> perceptsInBB = getBB().getPercepts(); @@ -821,7 +821,7 @@ List<Literal>[] result = null; try { if (beliefToAdd != null) { - if (logger.isLoggable(Level.FINE)) logger.fine("Adding belief " + beliefToAdd); + if (logger.isLoggable(Level.FINE)) logger.fine("Doing (add) brf for " + beliefToAdd); if (getBB().add(position, beliefToAdd)) { result = new List[2]; @@ -838,7 +838,7 @@ u = new Unifier(); } - if (logger.isLoggable(Level.FINE)) logger.fine("Doing brf for " + beliefToDel + " in BB=" + believes(beliefToDel, u)); + if (logger.isLoggable(Level.FINE)) logger.fine("Doing (del) brf for " + beliefToDel + " in BB=" + believes(beliefToDel, u)); boolean removed = getBB().remove(beliefToDel); if (!removed && !beliefToDel.isGround()) { // then try to unify the parameter with a belief in BB Modified: trunk/src/jason/asSemantics/TransitionSystem.java =================================================================== --- trunk/src/jason/asSemantics/TransitionSystem.java 2013-11-14 10:44:23 UTC (rev 1759) +++ trunk/src/jason/asSemantics/TransitionSystem.java 2013-11-22 17:16:43 UTC (rev 1760) @@ -1045,7 +1045,7 @@ // b) create the failure event (it is done by SelRelPlan) if (e.isInternal() || C.hasListener() || ag.getPL().hasCandidatePlan(e.trigger)) { C.addEvent(e); - if (logger.isLoggable(Level.FINE)) logger.fine("Added event " + e); + if (logger.isLoggable(Level.FINE)) logger.fine("Added event " + e+ ", events = "+C.getEvents()); } } Modified: trunk/src/jason/bb/DefaultBeliefBase.java =================================================================== --- trunk/src/jason/bb/DefaultBeliefBase.java 2013-11-14 10:44:23 UTC (rev 1759) +++ trunk/src/jason/bb/DefaultBeliefBase.java 2013-11-22 17:16:43 UTC (rev 1760) @@ -144,7 +144,7 @@ entry = new BelEntry(); belsMap.put(l.getPredicateIndicator(), entry); } - entry.add(l, addInEnd); + entry.add(l.copy(), addInEnd); // we need to clone for the consequent event to not have a ref to this bel (which can change before the event being processed); see bug from Viviana Marcardi // add it in the percepts list if (l.hasAnnot(TPercept)) { @@ -227,8 +227,22 @@ } public boolean abolish(PredicateIndicator pi) { - // TODO: remove also in percepts list! - return belsMap.remove(pi) != null; + BelEntry entry = belsMap.remove(pi); + if (entry != null) { + size -= entry.size(); + + // remove also in percepts list! + Iterator<Literal> i = percepts.iterator(); + while (i.hasNext()) { + Literal l = i.next(); + if (l.getPredicateIndicator().equals(pi)) + i.remove(); + } + return true; + } else { + return false; + } + //return belsMap.remove(pi) != null; } public Literal contains(Literal l) { @@ -318,6 +332,10 @@ } } + public int size() { + return map.size(); + } + public boolean isEmpty() { return list.isEmpty(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |