Return-Path: X-Original-To: apmail-jena-commits-archive@www.apache.org Delivered-To: apmail-jena-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 54BDF102B6 for ; Wed, 9 Sep 2015 07:44:14 +0000 (UTC) Received: (qmail 4894 invoked by uid 500); 9 Sep 2015 07:44:14 -0000 Delivered-To: apmail-jena-commits-archive@jena.apache.org Received: (qmail 4834 invoked by uid 500); 9 Sep 2015 07:44:14 -0000 Mailing-List: contact commits-help@jena.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jena.apache.org Delivered-To: mailing list commits@jena.apache.org Received: (qmail 3545 invoked by uid 99); 9 Sep 2015 07:44:13 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Sep 2015 07:44:13 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 1E362E00CC; Wed, 9 Sep 2015 07:44:13 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: rvesse@apache.org To: commits@jena.apache.org Date: Wed, 09 Sep 2015 07:44:54 -0000 Message-Id: <97cbf8d365bc4ba3a1aa33ca77557466@git.apache.org> In-Reply-To: <7fe619828b7040358b43dfccab921225@git.apache.org> References: <7fe619828b7040358b43dfccab921225@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [43/50] [abbrv] jena git commit: Catch all unimplemented froms. Add some new forms as processed. Catch all unimplemented froms. Add some new forms as processed. Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c9760dfa Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c9760dfa Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c9760dfa Branch: refs/heads/JENA-507 Commit: c9760dfa5067cf829f32575571f73b34c9737490 Parents: f4e017a Author: Andy Seaborne Authored: Sat Sep 5 21:52:54 2015 +0100 Committer: Andy Seaborne Committed: Sat Sep 5 21:52:54 2015 +0100 ---------------------------------------------------------------------- .../jena/sparql/engine/main/VarFinder.java | 95 ++++++++++++++++++-- 1 file changed, 88 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/c9760dfa/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java index b5314da..a1a73fb 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java @@ -18,7 +18,11 @@ package org.apache.jena.sparql.engine.main; -import static org.apache.jena.sparql.util.VarUtils.* ; +import static org.apache.jena.sparql.util.VarUtils.addVar ; +import static org.apache.jena.sparql.util.VarUtils.addVars ; +import static org.apache.jena.sparql.util.VarUtils.addVarsFromQuad ; +import static org.apache.jena.sparql.util.VarUtils.addVarsFromTriple ; +import static org.apache.jena.sparql.util.VarUtils.addVarsFromTriplePath ; import java.util.HashSet ; import java.util.List ; @@ -26,14 +30,16 @@ import java.util.Map ; import java.util.Map.Entry ; import java.util.Set ; +import org.apache.jena.atlas.lib.NotImplemented ; import org.apache.jena.sparql.algebra.Op ; -import org.apache.jena.sparql.algebra.OpVisitorBase ; +import org.apache.jena.sparql.algebra.OpVisitor ; import org.apache.jena.sparql.algebra.op.* ; import org.apache.jena.sparql.core.BasicPattern ; import org.apache.jena.sparql.core.Var ; import org.apache.jena.sparql.core.VarExprList ; import org.apache.jena.sparql.expr.Expr ; import org.apache.jena.sparql.expr.ExprList ; +import org.apache.jena.sparql.util.VarUtils ; public class VarFinder { @@ -66,8 +72,9 @@ public class VarFinder public Set getAssign() { return varUsageVisitor.assignMentions ; } public Set getFixed() { return varUsageVisitor.defines ; } - private static class VarUsageVisitor extends OpVisitorBase // implements - // OpVisitor + private static class VarUsageVisitor + //extends OpVisitorBase + implements OpVisitor { static VarUsageVisitor apply(Op op) { VarUsageVisitor v = new VarUsageVisitor(); @@ -96,9 +103,7 @@ public class VarFinder @Override public void visit(OpQuadPattern quadPattern) { - addVar(defines, quadPattern.getGraphNode()); - BasicPattern triples = quadPattern.getBasicPattern(); - addVars(defines, triples); + addVars(defines, quadPattern.getGraphNode(), quadPattern.getBasicPattern()); } @Override @@ -108,6 +113,26 @@ public class VarFinder } @Override + public void visit(OpQuadBlock quadBlock) { + addVars(defines, quadBlock.getPattern()) ; + } + + @Override + public void visit(OpTriple opTriple) { + addVarsFromTriple(defines, opTriple.getTriple()) ; + } + + @Override + public void visit(OpQuad opQuad) { + addVarsFromQuad(defines, opQuad.getQuad()) ; + } + + @Override + public void visit(OpPath opPath) { + addVarsFromTriplePath(defines, opPath.getTriplePath()); + } + + @Override public void visit(OpExt opExt) { opExt.effectiveOp().visit(this); } @@ -235,5 +260,61 @@ public class VarFinder @Override public void visit(OpNull opNull) {} + + @Override + public void visit(OpPropFunc opPropFunc) { + VarUtils.addVarNodes(defines, opPropFunc.getSubjectArgs().getArgList()) ; + VarUtils.addVarNodes(defines, opPropFunc.getObjectArgs().getArgList()) ; + } + + // Not implemented: with checking. + + private void no() { + throw new NotImplemented() ; + } + + @Override + public void visit(OpProcedure opProc) { no() ; } + + + @Override + public void visit(OpService opService) { no(); } + + @Override + public void visit(OpDatasetNames dsNames) { no(); } + + @Override + public void visit(OpLabel opLabel) { no(); } + + @Override + public void visit(OpDiff opDiff) { no(); } + + @Override + public void visit(OpMinus opMinus) { no(); } + + @Override + public void visit(OpDisjunction opDisjunction) { no(); } + + @Override + public void visit(OpList opList) { no(); } + + @Override + public void visit(OpOrder opOrder) { no(); } + + @Override + public void visit(OpReduced opReduced) { no(); } + + @Override + public void visit(OpDistinct opDistinct) { no(); } + + @Override + public void visit(OpSlice opSlice) { no(); } + + @Override + public void visit(OpGroup opGroup) { no(); } + + @Override + public void visit(OpTopN opTop) { no(); } } + }