Details
diff --git a/bdi-jade/src/br/pucrio/inf/les/bdijade/belief/BeliefSet.java b/bdi-jade/src/br/pucrio/inf/les/bdijade/belief/BeliefSet.java
index 7936857..ed0870f 100644
--- a/bdi-jade/src/br/pucrio/inf/les/bdijade/belief/BeliefSet.java
+++ b/bdi-jade/src/br/pucrio/inf/les/bdijade/belief/BeliefSet.java
@@ -56,6 +56,6 @@ public abstract class BeliefSet<T> extends Belief<Set<T>> {
* the value to be removed.
* @return true if the value was removed.
*/
- public abstract boolean remove(T value);
+ public abstract boolean removeValue(T value);
}
diff --git a/bdi-jade/src/br/pucrio/inf/les/bdijade/belief/TransientBeliefSet.java b/bdi-jade/src/br/pucrio/inf/les/bdijade/belief/TransientBeliefSet.java
index a789b72..cf58d33 100644
--- a/bdi-jade/src/br/pucrio/inf/les/bdijade/belief/TransientBeliefSet.java
+++ b/bdi-jade/src/br/pucrio/inf/les/bdijade/belief/TransientBeliefSet.java
@@ -73,9 +73,9 @@ public class TransientBeliefSet<T> extends BeliefSet<T> {
}
/**
- * @see br.pucrio.inf.les.bdijade.belief.BeliefSet#remove(java.lang.Object)
+ * @see br.pucrio.inf.les.bdijade.belief.BeliefSet#removeValue(java.lang.Object)
*/
- public boolean remove(T value) {
+ public boolean removeValue(T value) {
return this.values.remove(value);
}
diff --git a/bdi-jade/src/br/pucrio/inf/les/bdijade/core/BDIAgent.java b/bdi-jade/src/br/pucrio/inf/les/bdijade/core/BDIAgent.java
index dd2cbea..214e489 100644
--- a/bdi-jade/src/br/pucrio/inf/les/bdijade/core/BDIAgent.java
+++ b/bdi-jade/src/br/pucrio/inf/les/bdijade/core/BDIAgent.java
@@ -229,6 +229,24 @@ public class BDIAgent extends Agent {
}
/**
+ * Drops a given goal of this agent. If the goal is not part of the agent's
+ * current goal, no action is performed.
+ *
+ * @param goal
+ * the goal to be dropped.
+ */
+ public void dropGoal(Goal goal) {
+ synchronized (intentions) {
+ for (Intention intention : intentions) {
+ if (intention.getGoal().equals(goal)) {
+ intention.noLongerDesire();
+ return;
+ }
+ }
+ }
+ }
+
+ /**
* Returns a collection of all beliefs from all capabilities of this agent.
* It may have two equivalent beliefs, i.e. beliefs with the same name.
*