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. |