You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2014/09/23 15:50:23 UTC

[07/10] git commit: Document

Document

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/eeb4e4aa
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/eeb4e4aa
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/eeb4e4aa

Branch: refs/heads/master
Commit: eeb4e4aa895134c5d3153dfb6690fbc6efa1f483
Parents: e87a8a3
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Sep 23 14:46:40 2014 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Sep 23 14:46:40 2014 +0100

----------------------------------------------------------------------
 .../algebra/optimize/TransformMergeBGPs.java    | 77 +++++++++-----------
 1 file changed, 33 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/eeb4e4aa/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
index e0193e1..1c6e0e1 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.hp.hpl.jena.sparql.algebra.optimize;
+package com.hp.hpl.jena.sparql.algebra.optimize ;
 
 import java.util.List ;
 
@@ -27,57 +27,51 @@ import com.hp.hpl.jena.sparql.algebra.op.OpJoin ;
 import com.hp.hpl.jena.sparql.algebra.op.OpSequence ;
 import com.hp.hpl.jena.sparql.core.BasicPattern ;
 
-/** Merge adjacent BGPsTransformCollapseBGPs */
-public class TransformMergeBGPs extends TransformCopy
-{
+/** Merge BGPs 
+ * 
+ * <li>(join BGP1 BGP2) => BGP
+ * <li>(sequence ...BGP1 BGP2 ...) => (sequence ...BGP ...)
+ */
+public class TransformMergeBGPs extends TransformCopy {
     @Override
-    public Op transform(OpJoin opJoin, Op left, Op right)
-    {
+    public Op transform(OpJoin opJoin, Op left, Op right) {
         BasicPattern p1 = asBGP(left) ;
         BasicPattern p2 = asBGP(right) ;
-        if ( p1 != null && p2 != null )
-        {
+        if ( p1 != null && p2 != null ) {
             BasicPattern p = merge(p1, p2) ;
             return new OpBGP(p) ;
         }
-        
+
         return super.transform(opJoin, left, right) ;
     }
-    
+
     @Override
-    public Op transform(OpSequence opSequence, List<Op> elts)
-    {
+    public Op transform(OpSequence opSequence, List<Op> elts) {
         // First check whether we need to do anything at all.
         // Check for two BGPs.
         boolean xform = false ;
         boolean previousBGP = false ;
 
-        for ( Op op1 : elts )
-        {
-            BasicPattern p1 = asBGP( op1 );
-            if ( previousBGP && p1 != null )
-            {
-                xform = true;
-                break;
+        for ( Op op1 : elts ) {
+            BasicPattern p1 = asBGP(op1) ;
+            if ( previousBGP && p1 != null ) {
+                xform = true ;
+                break ;
             }
-            previousBGP = ( p1 != null );
+            previousBGP = (p1 != null) ;
         }
-        
-        if ( ! xform )
-            // Nothing to do here. 
-            return super.transform(opSequence, elts) ; 
-        
-        
-        
+
+        if ( !xform )
+            // Nothing to do here.
+            return super.transform(opSequence, elts) ;
+
         OpSequence seq2 = OpSequence.create() ;
 
-        for ( int i = 0 ; i < elts.size() ; i++ )
-        {
+        for ( int i = 0 ; i < elts.size() ; i++ ) {
             Op op = elts.get(i) ;
 
             BasicPattern p1 = asBGP(op) ;
-            if ( p1 == null )
-            {
+            if ( p1 == null ) {
                 // Do nothing
                 seq2.add(op) ;
                 continue ; // Outer loop.
@@ -88,14 +82,12 @@ public class TransformMergeBGPs extends TransformCopy
             seq2.add(new OpBGP(pMerge)) ;
             // Merge any BGPs from here on ...
             // Re-gets the BGP that trigegrs this all.
-            for ( ; i < elts.size() ; i++ )
-            {
+            for ( ; i < elts.size() ; i++ ) {
                 // Look at next element.
                 Op opNext = elts.get(i) ;
 
                 BasicPattern p2 = asBGP(opNext) ;
-                if ( p2 == null )
-                {
+                if ( p2 == null ) {
                     seq2.add(opNext) ;
                     break ;
                 }
@@ -108,16 +100,14 @@ public class TransformMergeBGPs extends TransformCopy
             return seq2.get(0) ;
         return seq2 ;
     }
-    
-    private static BasicPattern asBGP(Op op)
-    {
+
+    private static BasicPattern asBGP(Op op) {
         if ( op instanceof OpBGP )
-            return ((OpBGP)op).getPattern()  ;
+            return ((OpBGP)op).getPattern() ;
         return null ;
     }
-    
-    private static BasicPattern merge(BasicPattern p1, BasicPattern p2)
-    {
+
+    private static BasicPattern merge(BasicPattern p1, BasicPattern p2) {
         if ( p1 == null || p2 == null )
             return null ;
         BasicPattern p = new BasicPattern() ;
@@ -125,6 +115,5 @@ public class TransformMergeBGPs extends TransformCopy
         p.addAll(p2) ;
         return p ;
     }
-    
-}
 
+}