[Mulgara-svn] r851 - branches/mgr-61-sparql/src/jar/resolver/java/org/mulgara/resolver
pag at mulgara.org
pag at mulgara.org
Fri Apr 25 04:10:25 UTC 2008
Author: pag
Date: 2008-04-24 21:10:24 -0700 (Thu, 24 Apr 2008)
New Revision: 851
Modified:
branches/mgr-61-sparql/src/jar/resolver/java/org/mulgara/resolver/DefaultConstraintHandlers.java
Log:
Updated the call to optionalJoin to handle a LinkedList of arguments, to be processed in a left-associative way.
Modified: branches/mgr-61-sparql/src/jar/resolver/java/org/mulgara/resolver/DefaultConstraintHandlers.java
===================================================================
--- branches/mgr-61-sparql/src/jar/resolver/java/org/mulgara/resolver/DefaultConstraintHandlers.java 2008-04-25 04:08:56 UTC (rev 850)
+++ branches/mgr-61-sparql/src/jar/resolver/java/org/mulgara/resolver/DefaultConstraintHandlers.java 2008-04-25 04:10:24 UTC (rev 851)
@@ -182,13 +182,15 @@
}),
new NVPair(ConstraintOptionalJoin.class, new ConstraintResolutionHandler() {
public Tuples resolve(QueryEvaluationContext context, ModelExpression modelExpr, ConstraintExpression constraintExpr) throws Exception {
- List args = context.resolveConstraintOperation(modelExpr, (ConstraintOperation)constraintExpr);
- assert args.size() == 2;
+ List<Tuples> args = context.resolveConstraintOperation(modelExpr, (ConstraintOperation)constraintExpr);
+ LinkedList<Tuples> stackedArgs;
+ // we know this is a linked list, but test just in case it is ever changed.
+ if (args instanceof LinkedList) stackedArgs = (LinkedList<Tuples>)args;
+ else stackedArgs = new LinkedList<Tuples>(args);
try {
- return TuplesOperations.optionalJoin((Tuples)args.get(0), (Tuples)args.get(1));
+ return TuplesOperations.optionalJoin(stackedArgs);
} finally {
- ((Tuples)args.get(0)).close();
- ((Tuples)args.get(1)).close();
+ for (Tuples t: stackedArgs) t.close();
}
}
}),
More information about the Mulgara-svn
mailing list