|
From: <jom...@us...> - 2016-04-29 11:22:49
|
Revision: 1910
http://sourceforge.net/p/jason/svn/1910
Author: jomifred
Date: 2016-04-29 11:22:47 +0000 (Fri, 29 Apr 2016)
Log Message:
-----------
add ns in predicate indicator
Modified Paths:
--------------
trunk/bin/publish-maven.sh
trunk/build.xml
trunk/pom.xml
trunk/src/jason/asSyntax/Literal.java
trunk/src/jason/asSyntax/LiteralImpl.java
trunk/src/jason/asSyntax/PredicateIndicator.java
trunk/src/jason/asSyntax/Trigger.java
trunk/src/jason/bb/BeliefBase.java
trunk/src/jason/bb/DefaultBeliefBase.java
Modified: trunk/bin/publish-maven.sh
===================================================================
--- trunk/bin/publish-maven.sh 2016-04-26 19:21:37 UTC (rev 1909)
+++ trunk/bin/publish-maven.sh 2016-04-29 11:22:47 UTC (rev 1910)
@@ -1,6 +1,6 @@
#!/bin/bash
-REL=2.0.beta
+REL=2.0-SNAPSHOT
ant maven-stage
Modified: trunk/build.xml
===================================================================
--- trunk/build.xml 2016-04-26 19:21:37 UTC (rev 1909)
+++ trunk/build.xml 2016-04-29 11:22:47 UTC (rev 1910)
@@ -5,7 +5,7 @@
<property environment="env" />
<property name="version" value="2" />
- <property name="release" value="0.beta" />
+ <property name="release" value="0-SNAPSHOT" />
<property name="jasonJar" value="${basedir}/lib/jason-${version}.${release}.jar" />
<property name="jadeJar" value="${basedir}/lib/jade.jar" />
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2016-04-26 19:21:37 UTC (rev 1909)
+++ trunk/pom.xml 2016-04-29 11:22:47 UTC (rev 1910)
@@ -4,7 +4,7 @@
<artifactId>jason</artifactId>
<packaging>jar</packaging>
<name>Jason</name>
- <version>2.0.beta</version>
+ <version>2.0-SNAPSHOT</version>
<description>Jason is a fully-fledged interpreter for an extended version of AgentSpeak, a BDI agent-oriented logic programming language, and is implemented in Java. Using JADE a multi-agent system can be distributed over a network effortlessly.</description>
<url>http://jason.sf.net</url>
<licenses>
Modified: trunk/src/jason/asSyntax/Literal.java
===================================================================
--- trunk/src/jason/asSyntax/Literal.java 2016-04-26 19:21:37 UTC (rev 1909)
+++ trunk/src/jason/asSyntax/Literal.java 2016-04-29 11:22:47 UTC (rev 1910)
@@ -110,7 +110,7 @@
/** returns name space :: functor symbol / arity */
public PredicateIndicator getPredicateIndicator() {
if (predicateIndicatorCache == null) {
- predicateIndicatorCache = new PredicateIndicator( getFunctor(), getArity());
+ predicateIndicatorCache = new PredicateIndicator( getNS(), getFunctor(), getArity());
}
return predicateIndicatorCache;
}
Modified: trunk/src/jason/asSyntax/LiteralImpl.java
===================================================================
--- trunk/src/jason/asSyntax/LiteralImpl.java 2016-04-26 19:21:37 UTC (rev 1909)
+++ trunk/src/jason/asSyntax/LiteralImpl.java 2016-04-29 11:22:47 UTC (rev 1910)
@@ -163,7 +163,7 @@
@Override
public PredicateIndicator getPredicateIndicator() {
if (predicateIndicatorCache == null)
- predicateIndicatorCache = new PredicateIndicator(((type == LPos) ? getFunctor() : "~"+getFunctor()),getArity());
+ predicateIndicatorCache = new PredicateIndicator(getNS(), ((type == LPos) ? getFunctor() : "~"+getFunctor()),getArity());
return predicateIndicatorCache;
}
Modified: trunk/src/jason/asSyntax/PredicateIndicator.java
===================================================================
--- trunk/src/jason/asSyntax/PredicateIndicator.java 2016-04-26 19:21:37 UTC (rev 1909)
+++ trunk/src/jason/asSyntax/PredicateIndicator.java 2016-04-29 11:22:47 UTC (rev 1910)
@@ -12,19 +12,19 @@
private final String functor;
private final int arity;
private final int hash;
+ private final Atom ns;
public PredicateIndicator(String functor, int arity) {
+ this(Literal.DefaultNS, functor, arity);
+ }
+
+ public PredicateIndicator(Atom ns, String functor, int arity) {
this.functor = functor;
this.arity = arity;
+ this.ns = ns;
hash = calcHash();
}
- public PredicateIndicator(String prefix, PredicateIndicator pi) {
- this.functor = prefix + pi.functor;
- this.arity = pi.arity;
- hash = calcHash();
- }
-
public String getFunctor() {
return functor;
}
@@ -32,13 +32,17 @@
public int getArity() {
return arity;
}
-
+
+ public Atom getNS() {
+ return ns;
+ }
+
@Override
public boolean equals(Object o) {
if (o == this) return true;
if (o != null && o instanceof PredicateIndicator && o.hashCode() == this.hashCode()) {
final PredicateIndicator pi = (PredicateIndicator)o;
- return arity == pi.arity && functor.equals(pi.functor);
+ return arity == pi.arity && functor.equals(pi.functor) && ns.equals(pi.ns);
}
return false;
}
@@ -50,21 +54,27 @@
@Override
public int compareTo(PredicateIndicator pi) {
- int c = this.functor.compareTo(pi.functor);
+ int c = this.ns.compareTo(pi.ns);
if (c != 0) return c;
+ c = this.functor.compareTo(pi.functor);
+ if (c != 0) return c;
+
if (pi.arity > this.arity) return -1;
if (this.arity > pi.arity) return 1;
return 0;
}
private int calcHash() {
- int t = 31 * arity;
+ int t = 31 * arity * ns.hashCode();
if (functor != null) t = 31 * t + functor.hashCode();
return t;
}
public String toString() {
- return functor + "/" + arity;
+ if (ns == Literal.DefaultNS)
+ return functor + "/" + arity;
+ else
+ return ns + "::" + functor + "/" + arity;
}
}
Modified: trunk/src/jason/asSyntax/Trigger.java
===================================================================
--- trunk/src/jason/asSyntax/Trigger.java 2016-04-26 19:21:37 UTC (rev 1909)
+++ trunk/src/jason/asSyntax/Trigger.java 2016-04-29 11:22:47 UTC (rev 1910)
@@ -182,7 +182,7 @@
@Override
public PredicateIndicator getPredicateIndicator() {
if (predicateIndicatorCache == null) {
- predicateIndicatorCache = new PredicateIndicator(operator.toString() + type + literal.getFunctor(), literal.getArity());
+ predicateIndicatorCache = new PredicateIndicator(literal.getNS(), operator.toString() + type + literal.getFunctor(), literal.getArity());
}
return predicateIndicatorCache;
}
Modified: trunk/src/jason/bb/BeliefBase.java
===================================================================
--- trunk/src/jason/bb/BeliefBase.java 2016-04-26 19:21:37 UTC (rev 1909)
+++ trunk/src/jason/bb/BeliefBase.java 2016-04-29 11:22:47 UTC (rev 1910)
@@ -88,8 +88,7 @@
* Returns an iterator for all literals in the default namespace of the BB that match the functor/arity
* of the parameter.<br>
*/
- public Iterator<Literal> getCandidateBeliefs(PredicateIndicator pi) { return getCandidateBeliefs(Literal.DefaultNS, pi); }
- public Iterator<Literal> getCandidateBeliefs(Atom namespace, PredicateIndicator pi) { return null; }
+ public abstract Iterator<Literal> getCandidateBeliefs(PredicateIndicator pi);
/**
* Returns an iterator for all literals relevant for l's predicate
Modified: trunk/src/jason/bb/DefaultBeliefBase.java
===================================================================
--- trunk/src/jason/bb/DefaultBeliefBase.java 2016-04-26 19:21:37 UTC (rev 1909)
+++ trunk/src/jason/bb/DefaultBeliefBase.java 2016-04-29 11:22:47 UTC (rev 1910)
@@ -298,8 +298,8 @@
}
@Override
- public Iterator<Literal> getCandidateBeliefs(Atom namespace, PredicateIndicator pi) {
- BelEntry entry = nameSpaces.get(namespace).get(pi);
+ public Iterator<Literal> getCandidateBeliefs(PredicateIndicator pi) {
+ BelEntry entry = nameSpaces.get(pi.getNS()).get(pi);
if (entry != null)
return entry.list.iterator();
else
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|