[Reasoner4j-user] SF.net SVN: reasoner4j:[46] trunk/reasoner4j/src
Status: Pre-Alpha
Brought to you by:
luc_peuvrier
|
From: <luc...@us...> - 2010-12-29 06:06:41
|
Revision: 46
http://reasoner4j.svn.sourceforge.net/reasoner4j/?rev=46&view=rev
Author: luc_peuvrier
Date: 2010-12-29 06:06:33 +0000 (Wed, 29 Dec 2010)
Log Message:
-----------
Modified Paths:
--------------
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/IBuiltin.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/AbstractBuiltin.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/BlankNodeBuiltin.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/BuiltinSupport.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/list/InListBuiltin.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/list/ListAppendBuiltin.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/list/ListBuiltin.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/math/MathProductBuiltin.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/math/MathSumBuiltin.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/provider/DefaultBuiltinProvider.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/provider/IBuiltinProvider.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/AbstractKnowledgeBase.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/AllKnowledgeBase.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/IKnowledgeBase.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/KnowledgeBaseView.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/MainKnowledgeBaseFactory.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/motor/IMotor.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/motor/Motor.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/motor/MotorFactory.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/AbstractPremiseTable.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/AssertedPremiseTable.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/BuiltinPremiseTable.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/IPremiseTable.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/PremiseTable.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/PremiseTableAndDefault.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/ReteRule.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/service/PremiseTableFactory.java
trunk/reasoner4j/src/main/java/net/sf/reasoner4j/retemgr/service/ReteBuilder.java
trunk/reasoner4j/src/test/java/net/sf/reasoner4j/AbstractTestCase.java
trunk/reasoner4j/src/test/java/net/sf/reasoner4j/ReteRuleToString.java
trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestBasicInference.java
trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestBuiltin.java
trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestExistential.java
trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestExpressionCompute.java
trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestReasoner.java
trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestReteTable.java
trunk/reasoner4j/src/test/java/net/sf/reasoner4j/rete/entity/TestPremiseTable.java
trunk/reasoner4j/src/test/java/net/sf/reasoner4j/retetest/ReteSimulator.java
trunk/reasoner4j/src/test/java/net/sf/reasoner4j/retetest/ReteSimulatorTest.java
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/IBuiltin.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/IBuiltin.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/IBuiltin.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -33,8 +33,9 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public interface IBuiltin<T> extends IConclusionListener<T> {
+public interface IBuiltin<T, L> extends IConclusionListener<T> {
/**
* in builtin fact parameter and result term are null
@@ -43,7 +44,7 @@
*/
IFact<T> getBuiltinFact();
- void initialize(BuiltinSupport<T> builtinSupport);
+ void initialize(BuiltinSupport<T, L> builtinSupport);
/**
* @param ruleIdentifier
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/AbstractBuiltin.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/AbstractBuiltin.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/AbstractBuiltin.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -35,8 +35,9 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public abstract class AbstractBuiltin<T> implements IBuiltin<T> {
+public abstract class AbstractBuiltin<T, L> implements IBuiltin<T, L> {
private final String subjectIdentifier;
@@ -44,7 +45,7 @@
private final String objectIdentifier;
- private BuiltinSupport<T> builtinSupport;
+ private BuiltinSupport<T, L> builtinSupport;
/** builtin fact, parameter and result term are null */
private IFact<T> builtinFact;
@@ -58,7 +59,7 @@
}
@Override
- public void initialize(final BuiltinSupport<T> builtinSupport) {
+ public void initialize(final BuiltinSupport<T, L> builtinSupport) {
this.builtinSupport = builtinSupport;
builtinFact = new Fact<T>(getTerm(subjectIdentifier),
getTerm(predicateIdentifier), getTerm(objectIdentifier));
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/BlankNodeBuiltin.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/BlankNodeBuiltin.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/BlankNodeBuiltin.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -35,8 +35,9 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class BlankNodeBuiltin<T> extends AbstractBuiltin<T> {
+public class BlankNodeBuiltin<T, L> extends AbstractBuiltin<T, L> {
public BlankNodeBuiltin() {
super(TermIdentifierConstant.EMPTY_TERM,
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/BuiltinSupport.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/BuiltinSupport.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/BuiltinSupport.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -43,12 +43,13 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class BuiltinSupport<T> {
+public class BuiltinSupport<T, L> {
private final IBuitinTermProvider<T> buitinTermProvider;
- private final AllKnowledgeBase<T> knowledgeBase;
+ private final AllKnowledgeBase<T, L> knowledgeBase;
private final IBlankNodeProvider<T> blankNodeProvider;
@@ -63,7 +64,7 @@
private final IFactSet<T> allFactSet;
public BuiltinSupport(final IBuitinTermProvider<T> buitinTermProvider,
- final AllKnowledgeBase<T> knowledgeBase,
+ final AllKnowledgeBase<T, L> knowledgeBase,
final IBlankNodeProvider<T> blankNodeProvider) {
super();
this.buitinTermProvider = buitinTermProvider;
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/list/InListBuiltin.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/list/InListBuiltin.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/list/InListBuiltin.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -36,8 +36,9 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class InListBuiltin<T> extends AbstractBuiltin<T> {
+public class InListBuiltin<T, L> extends AbstractBuiltin<T, L> {
public InListBuiltin() {
super(null, TermIdentifierConstant.IN_LIST_PREDICATE_IDENTIFIER, null);
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/list/ListAppendBuiltin.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/list/ListAppendBuiltin.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/list/ListAppendBuiltin.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -39,8 +39,9 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class ListAppendBuiltin<T> extends AbstractBuiltin<T> {
+public class ListAppendBuiltin<T, L> extends AbstractBuiltin<T, L> {
public ListAppendBuiltin() {
super(null, TermIdentifierConstant.LIST_APPEND_PREDICATE_IDENTIFIER,
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/list/ListBuiltin.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/list/ListBuiltin.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/list/ListBuiltin.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -40,7 +40,7 @@
*/
// FIXMELUC ListBuiltin no more needed
@Deprecated
-public class ListBuiltin<T> extends AbstractBuiltin<T> {
+public class ListBuiltin<T, L> extends AbstractBuiltin<T, L> {
@SuppressWarnings("unchecked")
private final List<T> emptyList = Collections.EMPTY_LIST;
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/math/MathProductBuiltin.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/math/MathProductBuiltin.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/math/MathProductBuiltin.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -41,8 +41,9 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class MathProductBuiltin<T> extends AbstractBuiltin<T> {
+public class MathProductBuiltin<T, L> extends AbstractBuiltin<T, L> {
private final IBuiltinComputer<T> builtinComputer;
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/math/MathSumBuiltin.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/math/MathSumBuiltin.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/impl/math/MathSumBuiltin.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -41,8 +41,9 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class MathSumBuiltin<T> extends AbstractBuiltin<T> {
+public class MathSumBuiltin<T, L> extends AbstractBuiltin<T, L> {
private final IBuiltinComputer<T> builtinComputer;
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/provider/DefaultBuiltinProvider.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/provider/DefaultBuiltinProvider.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/provider/DefaultBuiltinProvider.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -37,24 +37,25 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class DefaultBuiltinProvider<T> implements IBuiltinProvider<T> {
+public class DefaultBuiltinProvider<T, L> implements IBuiltinProvider<T, L> {
- private final List<IBuiltin<T>> builtinList = new LinkedList<IBuiltin<T>>();
+ private final List<IBuiltin<T, L>> builtinList = new LinkedList<IBuiltin<T, L>>();
public DefaultBuiltinProvider(final IBuiltinComputer<T> builtinComputer) {
super();
- builtinList.add(new BlankNodeBuiltin<T>());
- builtinList.add(new MathProductBuiltin<T>(builtinComputer));
- builtinList.add(new MathSumBuiltin<T>(builtinComputer));
+ builtinList.add(new BlankNodeBuiltin<T, L>());
+ builtinList.add(new MathProductBuiltin<T, L>(builtinComputer));
+ builtinList.add(new MathSumBuiltin<T, L>(builtinComputer));
// FIXMELUC ListBuiltin no more needed
// builtinList.add(new ListBuiltin<T>());
- builtinList.add(new InListBuiltin<T>());
- builtinList.add(new ListAppendBuiltin<T>());
+ builtinList.add(new InListBuiltin<T, L>());
+ builtinList.add(new ListAppendBuiltin<T, L>());
}
@Override
- public List<IBuiltin<T>> getBuiltinList() {
+ public List<IBuiltin<T, L>> getBuiltinList() {
return builtinList;
}
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/provider/IBuiltinProvider.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/provider/IBuiltinProvider.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/builtin/provider/IBuiltinProvider.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -31,9 +31,10 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public interface IBuiltinProvider<T> {
+public interface IBuiltinProvider<T, L> {
- List<IBuiltin<T>> getBuiltinList();
+ List<IBuiltin<T, L>> getBuiltinList();
}
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/AbstractKnowledgeBase.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/AbstractKnowledgeBase.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/AbstractKnowledgeBase.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -37,15 +37,18 @@
*
* @author luc peuvrier
*
+ * @param <T>
+ * @param <L>
*/
-public abstract class AbstractKnowledgeBase<T> implements IKnowledgeBase<T> {
+public abstract class AbstractKnowledgeBase<T, L> implements
+ IKnowledgeBase<T, L> {
private final Map<IKnowledgeBaseListener<T>, IFactSetListener<T>> listenerMap =
/**/new HashMap<IKnowledgeBaseListener<T>, IFactSetListener<T>>();
protected final IFactSet<T> factSet;
- private Motor<T> motor;
+ private Motor<T, L> motor;
public AbstractKnowledgeBase(final IFactSet<T> factSet) {
super();
@@ -56,11 +59,11 @@
return factSet;
}
- public Motor<T> getMotor() {
+ public Motor<T, L> getMotor() {
return motor;
}
- public void setMotor(final Motor<T> motor) {
+ public void setMotor(final Motor<T, L> motor) {
this.motor = motor;
}
@@ -105,15 +108,15 @@
}
@Override
- public IKnowledgeBase<T> view(final T subject, final T predicate,
+ public IKnowledgeBase<T, L> view(final T subject, final T predicate,
final T object) {
- final IKnowledgeBase<T> view;
+ final IKnowledgeBase<T, L> view;
final IFactSet<T> factSetView = factSet
.view(subject, predicate, object);
if (factSetView == null) {
view = null;
} else {
- final KnowledgeBaseView<T> knowledgeBaseView = new KnowledgeBaseView<T>(
+ final KnowledgeBaseView<T, L> knowledgeBaseView = new KnowledgeBaseView<T, L>(
this, factSetView);
knowledgeBaseView.setMotor(motor);
view = knowledgeBaseView;
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/AllKnowledgeBase.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/AllKnowledgeBase.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/AllKnowledgeBase.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -36,32 +36,47 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class AllKnowledgeBase<T> extends AbstractKnowledgeBase<T> implements
- IBlankNodeIdentifierProvider {
+public class AllKnowledgeBase<T, L> extends AbstractKnowledgeBase<T, L>
+ implements IBlankNodeIdentifierProvider {
- private final Map<Rule<T>, ReteRule<T>> reteRuleMap =
- /**/new HashMap<Rule<T>, ReteRule<T>>();
+ private final Map<T, L> literalMap = new HashMap<T, L>();
+ private final Map<Rule<T>, ReteRule<T, L>> reteRuleMap =
+ /**/new HashMap<Rule<T>, ReteRule<T, L>>();
+
private int nextBlankNodeIdentifier;
AllKnowledgeBase() {
super(new AllFactSet<T>());
}
- public void addReteRule(final ReteRule<T> reteRule) {
+ public L getLiteral(final T term) {
+ return literalMap.get(term);
+ }
+
+ public L setLiteral(final T term, final L literal) {
+ return literalMap.put(term, literal);
+ }
+
+ public L removeLiteral(final T term) {
+ return literalMap.remove(term);
+ }
+
+ public void addReteRule(final ReteRule<T, L> reteRule) {
reteRuleMap.put(reteRule.getRule(), reteRule);
}
public void removeReteRule(final Rule<T> rule) {
- final ReteRule<T> reteRule = reteRuleMap.get(rule);
+ final ReteRule<T, L> reteRule = reteRuleMap.get(rule);
if (reteRule != null) {
reteRule.dispose();
}
}
@Fortest
- public ReteRule<T> getReteRule(final Rule<T> rule) {
+ public ReteRule<T, L> getReteRule(final Rule<T> rule) {
return reteRuleMap.get(rule);
}
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/IKnowledgeBase.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/IKnowledgeBase.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/IKnowledgeBase.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -31,8 +31,9 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public interface IKnowledgeBase<T> {
+public interface IKnowledgeBase<T, L> {
void addListener(IKnowledgeBaseListener<T> listener);
@@ -44,7 +45,7 @@
IFact<T> get(T subject, T predicate, T object);
- IKnowledgeBase<T> view(T subject, T predicate, T object);
+ IKnowledgeBase<T, L> view(T subject, T predicate, T object);
Iterator<IFact<T>> iterator();
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/KnowledgeBaseView.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/KnowledgeBaseView.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/KnowledgeBaseView.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -29,12 +29,13 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class KnowledgeBaseView<T> extends AbstractKnowledgeBase<T> {
+public class KnowledgeBaseView<T, L> extends AbstractKnowledgeBase<T, L> {
- private final IKnowledgeBase<T> parentKnowledgeBase;
+ private final IKnowledgeBase<T, L> parentKnowledgeBase;
- KnowledgeBaseView(final IKnowledgeBase<T> parentKnowledgeBase,
+ KnowledgeBaseView(final IKnowledgeBase<T, L> parentKnowledgeBase,
final IFactSet<T> factSet) {
super(factSet);
this.parentKnowledgeBase = parentKnowledgeBase;
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/MainKnowledgeBaseFactory.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/MainKnowledgeBaseFactory.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/kb/MainKnowledgeBaseFactory.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -27,10 +27,11 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public final class MainKnowledgeBaseFactory<T> {
+public final class MainKnowledgeBaseFactory<T, L> {
- public IKnowledgeBase<T> create() {
- return new AllKnowledgeBase<T>();
+ public IKnowledgeBase<T, L> create() {
+ return new AllKnowledgeBase<T, L>();
}
}
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/motor/IMotor.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/motor/IMotor.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/motor/IMotor.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -33,12 +33,13 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public interface IMotor<T> {
+public interface IMotor<T, L> {
- void addBuiltin(IBuiltinProvider<T> builtinProvider);
+ void addBuiltin(IBuiltinProvider<T, L> builtinProvider);
- void addBuiltin(IBuiltin<T> builtin);
+ void addBuiltin(IBuiltin<T, L> builtin);
/**
* add a rule<br>
@@ -55,6 +56,6 @@
void retractFact(IFact<T> fact);
- IKnowledgeBase<T> getKnowledgeBase();
+ IKnowledgeBase<T, L> getKnowledgeBase();
}
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/motor/Motor.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/motor/Motor.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/motor/Motor.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -53,40 +53,41 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class Motor<T> implements IConclusionListener<T>, IMotor<T> {
+public class Motor<T, L> implements IConclusionListener<T>, IMotor<T, L> {
private final static Logger LOGGER = Logger.getLogger(Motor.class);
- private final AllKnowledgeBase<T> allKnowledgeBase;
+ private final AllKnowledgeBase<T, L> allKnowledgeBase;
- private final ReteBuilder<T> reteBuilder = new ReteBuilder<T>(this);
+ private final ReteBuilder<T, L> reteBuilder = new ReteBuilder<T, L>(this);
private final Deque<CauseIdentifiedFact<T>> assertedStack = new LinkedList<CauseIdentifiedFact<T>>();
private final Deque<CauseIdentifiedFact<T>> retractedStack = new LinkedList<CauseIdentifiedFact<T>>();
- private final Map<IFact<T>, IBuiltin<T>> builtinMap = new HashMap<IFact<T>, IBuiltin<T>>();
+ private final Map<IFact<T>, IBuiltin<T, L>> builtinMap = new HashMap<IFact<T>, IBuiltin<T, L>>();
private final IBlankNodeProvider<T> blankNodeProvider;
private final IBuitinTermProvider<T> buitinTermProvider;
- private BuiltinSupport<T> builtinSupport;
+ private BuiltinSupport<T, L> builtinSupport;
- Motor(final IKnowledgeBase<T> allKnowledgeBase,
+ Motor(final IKnowledgeBase<T, L> allKnowledgeBase,
final IBlankNodeProvider<T> blankNodeProvider) {
this(allKnowledgeBase, blankNodeProvider, null);
}
- Motor(final IKnowledgeBase<T> allKnowledgeBase,
+ Motor(final IKnowledgeBase<T, L> allKnowledgeBase,
final IBlankNodeProvider<T> blankNodeProvider,
final IBuitinTermProvider<T> buitinTermProvider) {
super();
if (!AllKnowledgeBase.class.equals(allKnowledgeBase.getClass())) {
throw new ReasonerException("bad knowledge base argument type");
}
- this.allKnowledgeBase = (AllKnowledgeBase<T>) allKnowledgeBase;
+ this.allKnowledgeBase = (AllKnowledgeBase<T, L>) allKnowledgeBase;
this.allKnowledgeBase.setMotor(this);
this.blankNodeProvider = blankNodeProvider;
this.buitinTermProvider = buitinTermProvider;
@@ -101,17 +102,18 @@
}
@Override
- public void addBuiltin(final IBuiltinProvider<T> builtinProvider) {
- final List<IBuiltin<T>> buitinList = builtinProvider.getBuiltinList();
- for (IBuiltin<T> builtin : buitinList) {
+ public void addBuiltin(final IBuiltinProvider<T, L> builtinProvider) {
+ final List<IBuiltin<T, L>> buitinList = builtinProvider
+ .getBuiltinList();
+ for (IBuiltin<T, L> builtin : buitinList) {
addBuiltin(builtin);
}
}
@Override
- public void addBuiltin(final IBuiltin<T> builtin) {
+ public void addBuiltin(final IBuiltin<T, L> builtin) {
if (builtinSupport == null) { // lazy initialization
- builtinSupport = new BuiltinSupport<T>(buitinTermProvider,
+ builtinSupport = new BuiltinSupport<T, L>(buitinTermProvider,
allKnowledgeBase, blankNodeProvider);
}
builtin.initialize(builtinSupport);
@@ -119,20 +121,20 @@
}
@Fortest
- public BuiltinSupport<T> getBuiltinSupport() {
+ public BuiltinSupport<T, L> getBuiltinSupport() {
if (builtinSupport == null) { // lazy initialization
- builtinSupport = new BuiltinSupport<T>(buitinTermProvider,
+ builtinSupport = new BuiltinSupport<T, L>(buitinTermProvider,
allKnowledgeBase, blankNodeProvider);
}
return builtinSupport;
}
- public IBuiltin<T> builtin(final IFact<T> fact) {
+ public IBuiltin<T, L> builtin(final IFact<T> fact) {
T subject = fact.getSubject();
T predicate = fact.getPredicate();
// T object=fact.getObject();
// FIXMELUC builtin always based on predicate ?
- IBuiltin<T> builtin;
+ IBuiltin<T, L> builtin;
builtin = builtinMap.get(new Fact<T>(null, predicate, null));
if (builtin == null) {
builtin = builtinMap.get(new Fact<T>(subject, predicate, null));
@@ -142,7 +144,7 @@
@Override
public void addRule(final Rule<T> rule) {
- final ReteRule<T> reteRule = reteBuilder.addRule(rule);
+ final ReteRule<T, L> reteRule = reteBuilder.addRule(rule);
allKnowledgeBase.addReteRule(reteRule);
// TODO create fact conclusion of new added rule according to existing
// fact
@@ -210,8 +212,8 @@
@Override
public void conclusionViewRetraction(final CauseIdentifiedFact<T> fact) {
- final IKnowledgeBase<T> view = allKnowledgeBase.view(fact.getSubject(),
- fact.getPredicate(), fact.getObject());
+ final IKnowledgeBase<T, L> view = allKnowledgeBase.view(
+ fact.getSubject(), fact.getPredicate(), fact.getObject());
final Iterator<IFact<T>> iterator = view.iterator();
while (iterator.hasNext()) {
// conclusionRetraction(new CauseIdentifiedFact<T>(iterator.next(),
@@ -226,7 +228,7 @@
}
@Override
- public AllKnowledgeBase<T> getKnowledgeBase() {
+ public AllKnowledgeBase<T, L> getKnowledgeBase() {
return allKnowledgeBase;
}
}
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/motor/MotorFactory.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/motor/MotorFactory.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/motor/MotorFactory.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -30,18 +30,19 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public final class MotorFactory<T> {
+public final class MotorFactory<T, L> {
- public IMotor<T> create(final IKnowledgeBase<T> allKnowledgeBase,
+ public IMotor<T, L> create(final IKnowledgeBase<T, L> allKnowledgeBase,
final IBlankNodeProvider<T> blankNodeProvider) {
- return new Motor<T>(allKnowledgeBase, blankNodeProvider);
+ return new Motor<T, L>(allKnowledgeBase, blankNodeProvider);
}
- public IMotor<T> create(final IKnowledgeBase<T> allKnowledgeBase,
+ public IMotor<T, L> create(final IKnowledgeBase<T, L> allKnowledgeBase,
final IBlankNodeProvider<T> blankNodeProvider,
final IBuitinTermProvider<T> buitinTermProvider) {
- return new Motor<T>(allKnowledgeBase, blankNodeProvider,
+ return new Motor<T, L>(allKnowledgeBase, blankNodeProvider,
buitinTermProvider);
}
}
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/AbstractPremiseTable.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/AbstractPremiseTable.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/AbstractPremiseTable.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -30,8 +30,8 @@
*
* @param <T>
*/
-public abstract class AbstractPremiseTable<T> extends AbstractTable<T>
- implements IPremiseTable<T> {
+public abstract class AbstractPremiseTable<T, L> extends AbstractTable<T>
+ implements IPremiseTable<T, L> {
protected final IPremise<T> premise;
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/AssertedPremiseTable.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/AssertedPremiseTable.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/AssertedPremiseTable.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -41,12 +41,13 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class AssertedPremiseTable<T> implements IPremiseTable<T> {
+public class AssertedPremiseTable<T, L> implements IPremiseTable<T, L> {
private final int ruleIdentifier;
- private final AllKnowledgeBase<T> knowledgeBase;
+ private final AllKnowledgeBase<T, L> knowledgeBase;
private final IBlankNodeProvider<T> blankNodeProvider;
@@ -58,7 +59,7 @@
public AssertedPremiseTable(final int ruleIdentifier,
final IPremise<T> premise,
final VariableKeyValueMapping<T> mapping,
- final AllKnowledgeBase<T> knowledgeBase,
+ final AllKnowledgeBase<T, L> knowledgeBase,
final IBlankNodeProvider<T> blankNodeProvider) {
super();
this.ruleIdentifier = ruleIdentifier;
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/BuiltinPremiseTable.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/BuiltinPremiseTable.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/BuiltinPremiseTable.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -37,15 +37,16 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class BuiltinPremiseTable<T> extends AbstractPremiseTable<T> {
+public class BuiltinPremiseTable<T, L> extends AbstractPremiseTable<T, L> {
private final int ruleIdentifier;
- private final IBuiltin<T> buitin;
+ private final IBuiltin<T, L> buitin;
public BuiltinPremiseTable(final IPremise<T> premise,
- final int ruleIdentifier, final IBuiltin<T> buitin,
+ final int ruleIdentifier, final IBuiltin<T, L> buitin,
final VariableKeyValueMapping<T> mapping) {
super(premise);
this.ruleIdentifier = ruleIdentifier;
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/IPremiseTable.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/IPremiseTable.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/IPremiseTable.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -31,7 +31,7 @@
*
* @param <T>
*/
-public interface IPremiseTable<T> extends ITable<T> {
+public interface IPremiseTable<T, L> extends ITable<T> {
void dispose();
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/PremiseTable.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/PremiseTable.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/PremiseTable.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -38,8 +38,9 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class PremiseTable<T> extends AbstractPremiseTable<T> implements
+public class PremiseTable<T, L> extends AbstractPremiseTable<T, L> implements
IFactSetListener<T> {
protected final IFactSet<T> factSet;
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/PremiseTableAndDefault.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/PremiseTableAndDefault.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/PremiseTableAndDefault.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -33,8 +33,9 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class PremiseTableAndDefault<T> extends PremiseTable<T> {
+public class PremiseTableAndDefault<T, L> extends PremiseTable<T, L> {
private final T defaultSubject;
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/ReteRule.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/ReteRule.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/entity/ReteRule.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -33,8 +33,9 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class ReteRule<T> {
+public class ReteRule<T, L> {
private static final int INITIAL_RULE_IDENTIFIER = 0;
@@ -48,7 +49,7 @@
private final Rule<T> rule;
- private final List<IPremiseTable<T>> premiseTableList = new LinkedList<IPremiseTable<T>>();
+ private final List<IPremiseTable<T, L>> premiseTableList = new LinkedList<IPremiseTable<T, L>>();
private ITable<T> rootTable;
@@ -70,12 +71,12 @@
this.rootTable = rootTable;
}
- public boolean add(final IPremiseTable<T> premiseTable) {
+ public boolean add(final IPremiseTable<T, L> premiseTable) {
return premiseTableList.add(premiseTable);
}
public void dispose() {
- for (IPremiseTable<T> premiseTable : premiseTableList) {
+ for (IPremiseTable<T, L> premiseTable : premiseTableList) {
premiseTable.dispose();
}
premiseTableList.clear();
@@ -87,7 +88,7 @@
}
@Fortest
- public List<IPremiseTable<T>> getPremiseTableList() {
+ public List<IPremiseTable<T, L>> getPremiseTableList() {
return premiseTableList;
}
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/service/PremiseTableFactory.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/service/PremiseTableFactory.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/rete/service/PremiseTableFactory.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -35,8 +35,9 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class PremiseTableFactory<T> {
+public class PremiseTableFactory<T, L> {
/**
*
@@ -45,17 +46,18 @@
* @param factSet
* @return
*/
- public PremiseTable<T> create(final IPremise<T> premise,
+ public PremiseTable<T, L> create(final IPremise<T> premise,
final VariableKeyValueMapping<T> mapping, final IFactSet<T> factSet) {
final IFactSet<T> view = factSet.view(premise.getSubject(),
premise.getPredicate(), premise.getObject());
- final PremiseTable<T> premiseTable;
+ final PremiseTable<T, L> premiseTable;
if (EnumPremiseType.DEFAULT.equals(premise.getType())) {
- premiseTable = new PremiseTableAndDefault<T>(
+ premiseTable = new PremiseTableAndDefault<T, L>(
(AbstractPremiseAndDefault<T>) premise, view,
premise.getMode());
} else {
- premiseTable = new PremiseTable<T>(premise, view, premise.getMode());
+ premiseTable = new PremiseTable<T, L>(premise, view,
+ premise.getMode());
}
return premiseTable;
}
Modified: trunk/reasoner4j/src/main/java/net/sf/reasoner4j/retemgr/service/ReteBuilder.java
===================================================================
--- trunk/reasoner4j/src/main/java/net/sf/reasoner4j/retemgr/service/ReteBuilder.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/main/java/net/sf/reasoner4j/retemgr/service/ReteBuilder.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -62,26 +62,27 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
-public class ReteBuilder<T> implements IReteNodeVisitor<T> {
+public class ReteBuilder<T, L> implements IReteNodeVisitor<T> {
- private final PremiseTableFactory<T> premiseTableFactory = new PremiseTableFactory<T>();
+ private final PremiseTableFactory<T, L> premiseTableFactory = new PremiseTableFactory<T, L>();
private final MergeTableFactory<T> mergeTableFactory = new MergeTableFactory<T>();
private Deque<ITable<T>> stack;
- private final Motor<T> motor;
+ private final Motor<T, L> motor;
- private ReteRule<T> reteRule;
+ private ReteRule<T, L> reteRule;
- public ReteBuilder(final Motor<T> motor) {
+ public ReteBuilder(final Motor<T, L> motor) {
super();
this.motor = motor;
}
- public ReteRule<T> addRule(final Rule<T> rule) {
- reteRule = new ReteRule<T>(rule);
+ public ReteRule<T, L> addRule(final Rule<T> rule) {
+ reteRule = new ReteRule<T, L>(rule);
IReteTableNode<T> previousNode = null;
final Iterator<IPremise<T>> premiseIterator = rule.premiseIterator();
while (premiseIterator.hasNext()) {
@@ -105,7 +106,7 @@
stack = new LinkedList<ITable<T>>();
rootNode.accept(this);
stack = null;// NOPMD free memory
- final ReteRule<T> result = reteRule;
+ final ReteRule<T, L> result = reteRule;
reteRule = null;// NOPMD release/free memory
return result;
}
@@ -114,13 +115,13 @@
public void visit(final PremiseReteNode<T> premiseReteNode) {
final IPremise<T> premise = premiseReteNode.getPremise();
final VariableKeyValueMapping<T> mapping = premiseReteNode.getMapping();
- final IPremiseTable<T> premiseTable;
- final IBuiltin<T> builtin = buitin(premise);
+ final IPremiseTable<T, L> premiseTable;
+ final IBuiltin<T, L> builtin = buitin(premise);
switch (premise.getType()) {
case ASSERTED:
assertNotBuitlin(builtin, premise);
// FIXMELUC use of premiseTableFactory
- premiseTable = new AssertedPremiseTable<T>(
+ premiseTable = new AssertedPremiseTable<T, L>(
reteRule.getIdentifier(), premise, mapping,
motor.getKnowledgeBase(), motor.getBlankNodeProvider());
reteRule.add(premiseTable);
@@ -133,13 +134,13 @@
break;
case STANDARD:
if (builtin == null) {
- final PremiseTable<T> factPremiseTable = premiseTableFactory
+ final PremiseTable<T, L> factPremiseTable = premiseTableFactory
.create(premise, mapping, motor.getAllFactSet());
reteRule.add(factPremiseTable);
premiseTable = factPremiseTable;
} else {
// FIXMELUC use of premiseTableFactory
- premiseTable = new BuiltinPremiseTable<T>(premise,
+ premiseTable = new BuiltinPremiseTable<T, L>(premise,
reteRule.getIdentifier(), builtin, mapping);
}
break;
@@ -149,26 +150,26 @@
stack.push(premiseTable);
}
- private IBuiltin<T> buitin(final IPremise<T> premise) {
+ private IBuiltin<T, L> buitin(final IPremise<T> premise) {
final IFact<T> fact = new Fact<T>(premise.getSubject(),
premise.getPredicate(), premise.getObject());
return motor.builtin(fact);
}
- private IBuiltin<T> buitin(final IConclusion<T> conclusion) {
+ private IBuiltin<T, L> buitin(final IConclusion<T> conclusion) {
final IFact<T> fact = new Fact<T>(conclusion.getSubject(),
conclusion.getPredicate(), conclusion.getObject());
return motor.builtin(fact);
}
- private void assertNotBuitlin(final IBuiltin<T> builtin,
+ private void assertNotBuitlin(final IBuiltin<T, L> builtin,
final IPremise<T> premise) {
if (builtin != null) {
throw new ReasonerException("can not be a buitlin : " + premise);
}
}
- private void assertNotBuitlin(final IBuiltin<T> builtin,
+ private void assertNotBuitlin(final IBuiltin<T, L> builtin,
final IConclusion<T> conclusion) {
if (builtin != null) {
throw new ReasonerException("can not be a buitlin : " + conclusion);
@@ -194,7 +195,7 @@
final ITable<T> table = stack.peek();
final IConclusion<T> conclusion = conclusionReteNode.getConclusion();
final int[] mapping = conclusionReteNode.getMapping();
- final IBuiltin<T> builtin = buitin(conclusion);
+ final IBuiltin<T, L> builtin = buitin(conclusion);
@SuppressWarnings("unused")
final IConclusionNotifier<T> conclusionNotifier;
switch (conclusion.getType()) {
Modified: trunk/reasoner4j/src/test/java/net/sf/reasoner4j/AbstractTestCase.java
===================================================================
--- trunk/reasoner4j/src/test/java/net/sf/reasoner4j/AbstractTestCase.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/test/java/net/sf/reasoner4j/AbstractTestCase.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -36,8 +36,9 @@
public abstract class AbstractTestCase extends TestCase implements
IBlankNodeProvider<String>, IBuitinTermProvider<String> {
- protected final DefaultBuiltinProvider<String> defaultBuiltinProvider =
- /**/new DefaultBuiltinProvider<String>(new BuiltinComputerForTests());
+ protected final DefaultBuiltinProvider<String, String> defaultBuiltinProvider =
+ /**/new DefaultBuiltinProvider<String, String>(
+ new BuiltinComputerForTests());
@Override
public String getBlankNode(final int blankNodeIdentifier) {
Modified: trunk/reasoner4j/src/test/java/net/sf/reasoner4j/ReteRuleToString.java
===================================================================
--- trunk/reasoner4j/src/test/java/net/sf/reasoner4j/ReteRuleToString.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/test/java/net/sf/reasoner4j/ReteRuleToString.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -34,15 +34,16 @@
* @author luc peuvrier
*
* @param <T>
+ * @param <L>
*/
@Fortest
-public class ReteRuleToString<T> implements ITableVisitor<T> {
+public class ReteRuleToString<T, L> implements ITableVisitor<T> {
private StringBuilder stringBuilder;
private int tableNumber;
- public String toString(final ReteRule<T> reteRule) {
+ public String toString(final ReteRule<T, L> reteRule) {
String result = null;
try {
stringBuilder = new StringBuilder();
Modified: trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestBasicInference.java
===================================================================
--- trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestBasicInference.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestBasicInference.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -58,10 +58,10 @@
* ( ?A "x" ?B ) imply ( ?A "has" "x" )
*/
public void testSinglePremise() {
- final MainKnowledgeBaseFactory<String> kbFactory = new MainKnowledgeBaseFactory<String>();
- final MotorFactory<String> motorFactory = new MotorFactory<String>();
- final IKnowledgeBase<String> kb = kbFactory.create();
- final IMotor<String> motor = motorFactory.create(kb, this);
+ final MainKnowledgeBaseFactory<String, String> kbFactory = new MainKnowledgeBaseFactory<String, String>();
+ final MotorFactory<String, String> motorFactory = new MotorFactory<String, String>();
+ final IKnowledgeBase<String, String> kb = kbFactory.create();
+ final IMotor<String, String> motor = motorFactory.create(kb, this);
final Rule<String> rule = new Rule<String>();
final IPremise<String> premise = new Premise<String>(
/* subject */"?A", null,
@@ -94,8 +94,8 @@
* imply (?X "a" "herbivore")
*/
public void testMultiplePremise() {
- final MainKnowledgeBaseFactory<String> kbFactory = new MainKnowledgeBaseFactory<String>();
- final MotorFactory<String> motorFactory = new MotorFactory<String>();
+ final MainKnowledgeBaseFactory<String, String> kbFactory = new MainKnowledgeBaseFactory<String, String>();
+ final MotorFactory<String, String> motorFactory = new MotorFactory<String, String>();
final Rule<String> rule = new Rule<String>();
IPremise<String> premise = new Premise<String>(
/* subject */"?X", null,
@@ -146,8 +146,10 @@
final IFact<String> secondFact = list2
.remove(secondPremiseIndex);
final IFact<String> thirdFact = list2.get(0);
- final IKnowledgeBase<String> kb = kbFactory.create();
- final IMotor<String> motor = motorFactory.create(kb, this);
+ final IKnowledgeBase<String, String> kb = kbFactory
+ .create();
+ final IMotor<String, String> motor = motorFactory.create(
+ kb, this);
motor.addRule(rule);
motor.assertFact(firstFact);
assertFalse(kb.contains(expectedConclusion));
@@ -176,10 +178,10 @@
}
public void testSameConclusion() {
- final MainKnowledgeBaseFactory<String> kbFactory = new MainKnowledgeBaseFactory<String>();
- final MotorFactory<String> motorFactory = new MotorFactory<String>();
- final IKnowledgeBase<String> kb = kbFactory.create();
- final IMotor<String> motor = motorFactory.create(kb, this);
+ final MainKnowledgeBaseFactory<String, String> kbFactory = new MainKnowledgeBaseFactory<String, String>();
+ final MotorFactory<String, String> motorFactory = new MotorFactory<String, String>();
+ final IKnowledgeBase<String, String> kb = kbFactory.create();
+ final IMotor<String, String> motor = motorFactory.create(kb, this);
// first rule
Rule<String> rule = new Rule<String>();
IPremise<String> premise = new Premise<String>(
@@ -222,10 +224,10 @@
}
public void testRetract() {
- final MainKnowledgeBaseFactory<String> kbFactory = new MainKnowledgeBaseFactory<String>();
- final MotorFactory<String> motorFactory = new MotorFactory<String>();
- final IKnowledgeBase<String> kb = kbFactory.create();
- final IMotor<String> motor = motorFactory.create(kb, this);
+ final MainKnowledgeBaseFactory<String, String> kbFactory = new MainKnowledgeBaseFactory<String, String>();
+ final MotorFactory<String, String> motorFactory = new MotorFactory<String, String>();
+ final IKnowledgeBase<String, String> kb = kbFactory.create();
+ final IMotor<String, String> motor = motorFactory.create(kb, this);
Rule<String> rule = new Rule<String>();
final IPremise<String> premise = new Premise<String>(
/* subject */"?X", null,
@@ -255,7 +257,7 @@
assertNull(kb.get("food", "available", "gateau"));
}
- private class IncrementBuiltin extends AbstractBuiltin<String> {
+ private class IncrementBuiltin extends AbstractBuiltin<String, String> {
public IncrementBuiltin() {
super(null, "increment", null);
}
@@ -272,10 +274,11 @@
}
public void testCountRetract() {
- final MainKnowledgeBaseFactory<String> kbFactory = new MainKnowledgeBaseFactory<String>();
- final MotorFactory<String> motorFactory = new MotorFactory<String>();
- final IKnowledgeBase<String> kb = kbFactory.create();
- final IMotor<String> motor = motorFactory.create(kb, this, this);
+ final MainKnowledgeBaseFactory<String, String> kbFactory = new MainKnowledgeBaseFactory<String, String>();
+ final MotorFactory<String, String> motorFactory = new MotorFactory<String, String>();
+ final IKnowledgeBase<String, String> kb = kbFactory.create();
+ final IMotor<String, String> motor = motorFactory
+ .create(kb, this, this);
motor.addBuiltin(new IncrementBuiltin());
// first rule
Rule<String> rule = new Rule<String>();
@@ -325,7 +328,8 @@
assertNull(kb.get("myCar", "koCount", "2"));
}
- private void logKoCount(final String title, final IKnowledgeBase<String> kb) {
+ private void logKoCount(final String title,
+ final IKnowledgeBase<String, String> kb) {
if (LOGGER.isDebugEnabled()) {
final Iterator<IFact<String>> iterator = kb.view("myCar",
"koCount", null).iterator();
Modified: trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestBuiltin.java
===================================================================
--- trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestBuiltin.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestBuiltin.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -51,10 +51,11 @@
private static final Logger LOGGER = Logger.getLogger(TestBuiltin.class);
public void testPropertySetToProductResult() {
- final MainKnowledgeBaseFactory<String> kbFactory = new MainKnowledgeBaseFactory<String>();
- final MotorFactory<String> motorFactory = new MotorFactory<String>();
- final IKnowledgeBase<String> kb = kbFactory.create();
- final IMotor<String> motor = motorFactory.create(kb, this, this);
+ final MainKnowledgeBaseFactory<String, String> kbFactory = new MainKnowledgeBaseFactory<String, String>();
+ final MotorFactory<String, String> motorFactory = new MotorFactory<String, String>();
+ final IKnowledgeBase<String, String> kb = kbFactory.create();
+ final IMotor<String, String> motor = motorFactory
+ .create(kb, this, this);
motor.addBuiltin(defaultBuiltinProvider);
Rule<String> rule = new Rule<String>();
@@ -144,7 +145,7 @@
fact = new Fact<String>(":creamTart", ":hasXAcceleration", "20.0");
motor.assertFact(fact);
- final IFactSet<String> allFactSet = ((Motor<String>) motor)
+ final IFactSet<String> allFactSet = ((Motor<String, String>) motor)
.getAllFactSet();
final IFactSet<String> view = allFactSet.view(":creamTart", ":hasX",
null);
@@ -157,7 +158,8 @@
assertFalse(iterator.hasNext());
// assert result accessing knowledge base view
- IKnowledgeBase<String> kbView = kb.view(":creamTart", ":hasX", null);
+ IKnowledgeBase<String, String> kbView = kb.view(":creamTart", ":hasX",
+ null);
assertNotNull(kbView);
iterator = kbView.iterator();
assertTrue(iterator.hasNext());
@@ -166,10 +168,11 @@
}
public void testPropertyIsProductResultOfAnOtherProperty() {
- final MainKnowledgeBaseFactory<String> kbFactory = new MainKnowledgeBaseFactory<String>();
- final MotorFactory<String> motorFactory = new MotorFactory<String>();
- final IKnowledgeBase<String> kb = kbFactory.create();
- final IMotor<String> motor = motorFactory.create(kb, this, this);
+ final MainKnowledgeBaseFactory<String, String> kbFactory = new MainKnowledgeBaseFactory<String, String>();
+ final MotorFactory<String, String> motorFactory = new MotorFactory<String, String>();
+ final IKnowledgeBase<String, String> kb = kbFactory.create();
+ final IMotor<String, String> motor = motorFactory
+ .create(kb, this, this);
motor.addBuiltin(defaultBuiltinProvider);
Rule<String> rule = new Rule<String>();
@@ -222,13 +225,14 @@
fact = new Fact<String>("truc", "factor", "6");
motor.assertFact(fact);
- final IFactSet<String> allFactSet = ((Motor<String>) motor)
+ final IFactSet<String> allFactSet = ((Motor<String, String>) motor)
.getAllFactSet();
final IFactSet<String> view = allFactSet.view(null, "xxx", null);
assertNotNull(view);
assertFalse(view.iterator().hasNext());
- final IKnowledgeBase<String> kbView = kb.view(null, "xxx", null);
+ final IKnowledgeBase<String, String> kbView = kb
+ .view(null, "xxx", null);
assertNotNull(kbView);
assertFalse(kbView.iterator().hasNext());
}
Modified: trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestExistential.java
===================================================================
--- trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestExistential.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestExistential.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -47,11 +47,12 @@
* ( ?T "a" "t" ) => ( ?CT "a" "ct" )
*/
public void test() {
- final MainKnowledgeBaseFactory<String> kbFactory = new MainKnowledgeBaseFactory<String>();
- final MotorFactory<String> motorFactory = new MotorFactory<String>();
- final IKnowledgeBase<String> kb = kbFactory.create();
- final IMotor<String> motor = motorFactory.create(kb, this, this);
- motor.addBuiltin(new BlankNodeBuiltin<String>());
+ final MainKnowledgeBaseFactory<String, String> kbFactory = new MainKnowledgeBaseFactory<String, String>();
+ final MotorFactory<String, String> motorFactory = new MotorFactory<String, String>();
+ final IKnowledgeBase<String, String> kb = kbFactory.create();
+ final IMotor<String, String> motor = motorFactory
+ .create(kb, this, this);
+ motor.addBuiltin(new BlankNodeBuiltin<String, String>());
final Rule<String> rule = new Rule<String>();
IPremise<String> premise = new Premise<String>(
/* subject */"?T", null,
@@ -82,7 +83,7 @@
LOGGER.debug(stringBuilder.toString());
}
- final IKnowledgeBase<String> view = kb.view(null, "a", "ct");
+ final IKnowledgeBase<String, String> view = kb.view(null, "a", "ct");
final Iterator<IFact<String>> iterator = view.iterator();
assertTrue(iterator.hasNext());
final IFact<String> created = iterator.next();
Modified: trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestExpressionCompute.java
===================================================================
--- trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestExpressionCompute.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestExpressionCompute.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -54,12 +54,13 @@
.getLogger(TestExpressionCompute.class);
public void testListInListAndPropertySum() {
- final MainKnowledgeBaseFactory<String> kbFactory = new MainKnowledgeBaseFactory<String>();
- final MotorFactory<String> motorFactory = new MotorFactory<String>();
- final IKnowledgeBase<String> kb = kbFactory.create();
- final IMotor<String> motor = motorFactory.create(kb, this, this);
+ final MainKnowledgeBaseFactory<String, String> kbFactory = new MainKnowledgeBaseFactory<String, String>();
+ final MotorFactory<String, String> motorFactory = new MotorFactory<String, String>();
+ final IKnowledgeBase<String, String> kb = kbFactory.create();
+ final IMotor<String, String> motor = motorFactory
+ .create(kb, this, this);
motor.addBuiltin(defaultBuiltinProvider);
- final BuiltinSupport<String> builtinSupport = ((Motor<String>) motor)
+ final BuiltinSupport<String, String> builtinSupport = ((Motor<String, String>) motor)
.getBuiltinSupport();
/*
@@ -127,7 +128,8 @@
assertList(builtinSupport, new String[] { "7" });
}
- private void assertList(final BuiltinSupport<String> builtinSupport,
+ private void assertList(
+ final BuiltinSupport<String, String> builtinSupport,
final String[] expectedValues) {
final String listTerm = builtinSupport.getObject("result", "list",
false);
@@ -152,7 +154,7 @@
}
@SuppressWarnings("unused")
- private void assertSum(final BuiltinSupport<String> builtinSupport,
+ private void assertSum(final BuiltinSupport<String, String> builtinSupport,
final String expected) {
final String sum = builtinSupport.getObject("result", "sum", false);
assertNotNull("no some found", sum);
@@ -164,12 +166,13 @@
*/
@SuppressWarnings("unused")
private void _testListAppendAndPropertySum() {
- final MainKnowledgeBaseFactory<String> kbFactory = new MainKnowledgeBaseFactory<String>();
- final MotorFactory<String> motorFactory = new MotorFactory<String>();
- final IKnowledgeBase<String> kb = kbFactory.create();
- final IMotor<String> motor = motorFactory.create(kb, this, this);
+ final MainKnowledgeBaseFactory<String, String> kbFactory = new MainKnowledgeBaseFactory<String, String>();
+ final MotorFactory<String, String> motorFactory = new MotorFactory<String, String>();
+ final IKnowledgeBase<String, String> kb = kbFactory.create();
+ final IMotor<String, String> motor = motorFactory
+ .create(kb, this, this);
motor.addBuiltin(defaultBuiltinProvider);
- final BuiltinSupport<String> builtinSupport = ((Motor<String>) motor)
+ final BuiltinSupport<String, String> builtinSupport = ((Motor<String, String>) motor)
.getBuiltinSupport();
Rule<String> rule = new Rule<String>();
@@ -271,7 +274,8 @@
assertValueList(builtinSupport, new String[] { "7" });
}
- private void assertValueList(final BuiltinSupport<String> builtinSupport,
+ private void assertValueList(
+ final BuiltinSupport<String, String> builtinSupport,
final String[] expectedValues) {
final String listTerm = builtinSupport.getObject("result", "valueList",
false);
@@ -296,7 +300,7 @@
}
}
- private void logSum(final BuiltinSupport<String> builtinSupport,
+ private void logSum(final BuiltinSupport<String, String> builtinSupport,
final String message) {
if (LOGGER.isDebugEnabled()) {
final StringBuilder stringBuilder = new StringBuilder();
Modified: trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestReasoner.java
===================================================================
--- trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestReasoner.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestReasoner.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -92,10 +92,11 @@
}
private void test(final InputStream testFileInputStream) throws IOException {
- final MainKnowledgeBaseFactory<String> kbFactory = new MainKnowledgeBaseFactory<String>();
- final MotorFactory<String> motorFactory = new MotorFactory<String>();
- final IKnowledgeBase<String> kb = kbFactory.create();
- final IMotor<String> motor = motorFactory.create(kb, this, this);
+ final MainKnowledgeBaseFactory<String, String> kbFactory = new MainKnowledgeBaseFactory<String, String>();
+ final MotorFactory<String, String> motorFactory = new MotorFactory<String, String>();
+ final IKnowledgeBase<String, String> kb = kbFactory.create();
+ final IMotor<String, String> motor = motorFactory
+ .create(kb, this, this);
motor.addBuiltin(defaultBuiltinProvider);
Rule<String> currentRule = null;
final BufferedReader reader = new BufferedReader(new InputStreamReader(
@@ -169,26 +170,26 @@
expectedFactSet.remove(fact);
}
- private void addAssertedPremiseListener(final IMotor<String> motor,
+ private void addAssertedPremiseListener(final IMotor<String, String> motor,
Rule<String> currentRule) {
- final ReteRule<String> reteRule = ((AllKnowledgeBase<String>) motor
+ final ReteRule<String, String> reteRule = ((AllKnowledgeBase<String, String>) motor
.getKnowledgeBase()).getReteRule(currentRule);
- List<IPremiseTable<String>> premiseTableList = reteRule
+ List<IPremiseTable<String, String>> premiseTableList = reteRule
.getPremiseTableList();
- for (IPremiseTable<String> premiseTable : premiseTableList) {
+ for (IPremiseTable<String, String> premiseTable : premiseTableList) {
if (EnumPremiseType.ASSERTED.equals(premiseTable.getPremise()
.getType())) {
- ((AssertedPremiseTable<String>) premiseTable)
+ ((AssertedPremiseTable<String, String>) premiseTable)
.setFactSetListener(this);
}
}
}
- private void check(final IMotor<String> motor,
+ private void check(final IMotor<String, String> motor,
final Set<IFact<String>> expectedFactSet) {
- final IFactSet<String> kbFactSet = ((Motor<String>) motor)
+ final IFactSet<String> kbFactSet = ((Motor<String, String>) motor)
.getAllFactSet();
- final IKnowledgeBase<String> kb = motor.getKnowledgeBase();
+ final IKnowledgeBase<String, String> kb = motor.getKnowledgeBase();
final Iterator<IFact<String>> iterator = kbFactSet.iterator();
while (iterator.hasNext()) {
final IFact<String> kbFact = iterator.next();
Modified: trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestReteTable.java
===================================================================
--- trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestReteTable.java 2010-12-29 04:57:00 UTC (rev 45)
+++ trunk/reasoner4j/src/test/java/net/sf/reasoner4j/TestReteTable.java 2010-12-29 06:06:33 UTC (rev 46)
@@ -58,13 +58,14 @@
private static final Logger LOGGER = Logger.getLogger(TestReteTable.class);
public void testAssertedPremise() {
- final MainKnowledgeBaseFactory<String> kbFactory = new MainKnowledgeBaseFactory<String>();
- final MotorFactory<String> motorFactory = new MotorFactory<String>();
- final IKnowledgeBase<String> kb = kbFactory.create();
- final IMotor<String> motor = motorFactory.create(kb, this, this);
- final IBuiltin<String> testBuiltin = new BlankNodeBuiltin<String>();
+ final MainKnowledgeBaseFactory<String, String> kbFactory = new MainKnowledgeBaseFactory<String, String>();
+ final MotorFactory<String, String> motorFactory = new MotorFactory<String, String>();
+ final IKnowledgeBase<String, String> kb = kbFactory.create();
+ final IMotor<String, String> motor = motorFactory
+ .create(kb, this, this);
+ final IBuiltin<String, String> testBuiltin = new BlankNodeBuiltin<String, String>();
motor.addBuiltin(testBuiltin);
- final ReteSimulator<String> reteSimulator = new ReteSimulator<String>();
+ final ReteSimulator<String, String> reteSimulator = new ReteSimulator<String, String>();
Rule<String> rule = new Rule<String>();
// ?X prop ?E.
@@ -116,7 +117,7 @@
motor.addRule(rule);
- final ReteRule<String> reteRule = ((AllKnowledgeBase<String>) motor
+ final ReteRule<String, String> reteRule = ((AllKnowledgeBase<String, String>) motor
.getKnowledgeBase()).getReteRule(rule);
final MergeTable<String> thirdMergeTable = (MergeTable<String>) reteRule
@@ -237,8 +238,9 @@
assertEquals("bad list size", expectedLength, count);
}
- private String logTable(final String title, final ReteRule<String> reteRule) {
- final ReteRuleToString<String> reteRuleToString = new ReteRuleToString<String>();
+ private String logTable(final String title,
+ final ReteRule<String, String> reteRule) {
+ final ReteRuleToString<String, String> reteRuleToString = new ReteRuleT...
[truncated message content] |