[Mulgara-svn] r705 - branches/mgr-61-sparql/src/jar/resolver/java/org/mulgara/resolver
pag at mulgara.org
pag at mulgara.org
Tue Mar 25 05:11:13 UTC 2008
Author: pag
Date: 2008-03-24 22:11:12 -0700 (Mon, 24 Mar 2008)
New Revision: 705
Modified:
branches/mgr-61-sparql/src/jar/resolver/java/org/mulgara/resolver/DefaultConstraintHandlers.java
Log:
Added in handlers for ConstraintFilter.
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-03-25 05:10:31 UTC (rev 704)
+++ branches/mgr-61-sparql/src/jar/resolver/java/org/mulgara/resolver/DefaultConstraintHandlers.java 2008-03-25 05:11:12 UTC (rev 705)
@@ -77,6 +77,7 @@
class DefaultConstraintHandlers
{
/** Logger. */
+ @SuppressWarnings("unused")
private static final Logger logger = Logger.getLogger(DefaultConstraintHandlers.class.getName());
static void initializeHandlers() {
@@ -87,6 +88,7 @@
initializeConstraintLocalizations();
}
+ @SuppressWarnings("unchecked")
static void initializeModelResolutionHandlers() {
ConstraintOperations.addModelResolutionHandlers(new NVPair[]
{
@@ -129,6 +131,7 @@
});
}
+ @SuppressWarnings("unchecked")
static void initializeConstraintResolutionHandlers() {
ConstraintOperations.addConstraintResolutionHandlers(new NVPair[]
{
@@ -186,14 +189,11 @@
assert constraintElem != null;
if (constraintElem.equals(Variable.FROM)) {
return ConstraintOperations.resolveModelExpression(context, modelExpr, (Constraint)constraintExpr);
- }
- else if (constraintElem instanceof URIReference) {
+ } else if (constraintElem instanceof URIReference) {
return ConstraintOperations.resolveModelExpression(context, new ModelResource(((URIReference)constraintElem).getURI()), (Constraint)constraintExpr);
- }
- else if (constraintElem instanceof LocalNode) {
+ } else if (constraintElem instanceof LocalNode) {
return context.resolve(null, (ConstraintImpl)constraintExpr);
- }
- else if (constraintElem instanceof Variable) {
+ } else if (constraintElem instanceof Variable) {
return context.resolve(null, (ConstraintImpl)constraintExpr);
}
else {
@@ -235,9 +235,20 @@
return ExhaustiveTransitiveFunction.infer(context, (TransitiveConstraint)constraintExpr, modelExpr, context.getResolverSession());
}
}),
+ new NVPair(ConstraintFilter.class, new ConstraintResolutionHandler() {
+ public Tuples resolve(QueryEvaluationContext context, ModelExpression modelExpr, ConstraintExpression constraintExpr) throws Exception {
+ Tuples unfiltered = ConstraintOperations.resolveConstraintExpression(context, modelExpr, ((ConstraintFilter)constraintExpr).getUnfilteredConstraint());
+ try {
+ return TuplesOperations.filter(unfiltered, ((ConstraintFilter)constraintExpr).getFilter(), context);
+ } finally {
+ unfiltered.close();
+ }
+ }
+ }),
});
}
+ @SuppressWarnings("unchecked")
static void initializeConstraintBindingHandlers() {
ConstraintOperations.addConstraintBindingHandlers(new NVPair[]
{
@@ -285,6 +296,11 @@
return new ConstraintNegation(ConstraintOperations.replace(bindings, (Constraint)constraintExpr));
}
}),
+ new NVPair(ConstraintFilter.class, new ConstraintBindingHandler() {
+ public ConstraintExpression bindVariables(Map bindings, ConstraintExpression constraintExpr) throws Exception {
+ return new ConstraintFilter(ConstraintOperations.replace(bindings, (Constraint)constraintExpr), ((ConstraintFilter)constraintExpr).getFilter());
+ }
+ }),
new NVPair(ConstraintConjunction.class, new ConstraintBindingHandler() {
public ConstraintExpression bindVariables(Map bindings, ConstraintExpression constraintExpr) throws Exception {
return new ConstraintConjunction(ConstraintOperations.replaceOperationArgs(bindings, (ConstraintOperation)constraintExpr));
@@ -304,6 +320,7 @@
});
}
+ @SuppressWarnings("unchecked")
static void initializeConstraintModelRewrites() {
ConstraintOperations.addConstraintModelRewrites(new NVPair[]
{
@@ -320,6 +337,7 @@
});
}
+ @SuppressWarnings("unchecked")
static void initializeConstraintLocalizations() {
ConstraintOperations.addConstraintLocalizations(new NVPair[]
{
More information about the Mulgara-svn
mailing list