Author: rvesse
Date: Thu Aug 29 22:04:34 2013
New Revision: 1518841

URL: http://svn.apache.org/r1518841
Log:
Allow TransformCopy to transform OpExt iff the OpExt implementations have 
provided an apply(Transform) implementation

Modified:
    
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/TransformCopy.java
    
jena/trunk/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/utils/TestUtils.java

Modified: 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/TransformCopy.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/TransformCopy.java?rev=1518841&r1=1518840&r2=1518841&view=diff
==============================================================================
--- 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/TransformCopy.java
 (original)
+++ 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/TransformCopy.java
 Thu Aug 29 22:04:34 2013
@@ -87,7 +87,7 @@ public class TransformCopy implements Tr
     public Op transform(OpDisjunction opDisjunction, List<Op> elts)     { 
return xform(opDisjunction, elts) ; }
     
     @Override
-    public Op transform(OpExt opExt)                                { return 
opExt ; }
+    public Op transform(OpExt opExt)                                { return 
xform(opExt) ; }
     
     @Override
     public Op transform(OpNull opNull)                              { return 
opNull.copy() ; }
@@ -131,6 +131,7 @@ public class TransformCopy implements Tr
             return op ;
         return op.copy(left, right) ;
     }
+    
     private Op xform(OpN op, List<Op> elts)
     {
         // Need to do one-deep equality checking.
@@ -139,6 +140,16 @@ public class TransformCopy implements Tr
         return op.copy(elts) ;
     }
     
+    private Op xform(OpExt op)
+    {
+        try {
+            return op.apply(this);
+        } catch (Exception e) {
+            // May happen if the OpExt doesn't implement apply()
+            return op;
+        }
+    }
+    
     private boolean equals1(List<Op> list1, List<Op> list2)
     {
         if ( list1.size() != list2.size() )

Modified: 
jena/trunk/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/utils/TestUtils.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/utils/TestUtils.java?rev=1518841&r1=1518840&r2=1518841&view=diff
==============================================================================
--- 
jena/trunk/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/utils/TestUtils.java
 (original)
+++ 
jena/trunk/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/utils/TestUtils.java
 Thu Aug 29 22:04:34 2013
@@ -153,6 +153,7 @@ public class TestUtils {
             String uri = uris.next();
             target.putModel(uri, source.getNamedModel(uri));
         }
+        
     }
 
     /**


Reply via email to