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 2013/08/21 19:56:10 UTC

svn commit: r1516234 - in /jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update: UpdateAction.java UpdateExecutionFactory.java

Author: andy
Date: Wed Aug 21 17:56:09 2013
New Revision: 1516234

URL: http://svn.apache.org/r1516234
Log:
JENA-519 : Add QuerySolution versions of API operations taking an initial Binding.

Modified:
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateAction.java
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateExecutionFactory.java

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateAction.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateAction.java?rev=1516234&r1=1516233&r2=1516234&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateAction.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateAction.java Wed Aug 21 17:56:09 2013
@@ -24,11 +24,13 @@ import org.apache.jena.atlas.io.IO ;
 
 import com.hp.hpl.jena.graph.Graph ;
 import com.hp.hpl.jena.query.Dataset ;
+import com.hp.hpl.jena.query.QuerySolution ;
 import com.hp.hpl.jena.query.Syntax ;
 import com.hp.hpl.jena.rdf.model.Model ;
 import com.hp.hpl.jena.sparql.ARQException ;
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingUtils ;
 import com.hp.hpl.jena.sparql.lang.UpdateParser ;
 import com.hp.hpl.jena.sparql.modify.UpdateSink ;
 import com.hp.hpl.jena.sparql.modify.UsingList ;
@@ -36,8 +38,8 @@ import com.hp.hpl.jena.sparql.modify.Usi
 import com.hp.hpl.jena.sparql.modify.request.UpdateWithUsing ;
 
 /** A class of forms for executing SPARQL Update operations. 
- * parse* means the update request is in a String or an InputStream;
- * read* means read the contents of a file.    
+ * parse means the update request is in a String or an InputStream;
+ * read means read the contents of a file.    
  */
 
 public class UpdateAction
@@ -84,7 +86,7 @@ public class UpdateAction
      */
     public static void readExecute(String filename, GraphStore graphStore)
     {
-        readExecute(filename, graphStore, null);
+        readExecute(filename, graphStore, (Binding)null);
     }
 
     /** Read a file containing SPARQL Update operations, and execute the operations.
@@ -92,13 +94,23 @@ public class UpdateAction
      * @param graphStore
      * @param inputBinding
      */
+    public static void readExecute(String filename, GraphStore graphStore, QuerySolution inputBinding)
+    {
+        readExecute(filename, graphStore, BindingUtils.asBinding(inputBinding)) ;
+    }
+    
+
+    /** Read a file containing SPARQL Update operations, and execute the operations.
+     * @param filename
+     * @param graphStore
+     * @param inputBinding
+     */
     public static void readExecute(String filename, GraphStore graphStore, Binding inputBinding)
     {
         UpdateRequest req = UpdateFactory.read(filename) ;
         execute(req, graphStore, inputBinding) ;
     }
     
-
     /** Parse a string containing SPARQL Update operations, and execute the operations.
      * @param updateString
      * @param model
@@ -189,7 +201,7 @@ public class UpdateAction
      */
     public static void execute(UpdateRequest request, GraphStore graphStore)
     {
-        execute(request, graphStore, null);
+        execute(request, graphStore, (Binding)null);
     }
 
     /** Execute SPARQL Update operations.
@@ -197,11 +209,22 @@ public class UpdateAction
      * @param graphStore
      * @param inputBinding
      */
+    public static void execute(UpdateRequest request, GraphStore graphStore, QuerySolution inputBinding)
+    {
+        execute(request, graphStore, BindingUtils.asBinding(inputBinding)) ;
+    }
+    
+    /** Execute SPARQL Update operations.
+     * @param request
+     * @param graphStore
+     * @param inputBinding
+     */
     public static void execute(UpdateRequest request, GraphStore graphStore, Binding inputBinding)
     {
         execute$(request, graphStore, inputBinding) ;
     }
     
+
     // All non-streaming updates come through here.
     private static void execute$(UpdateRequest request, GraphStore graphStore, Binding inputBinding)
     {
@@ -254,7 +277,7 @@ public class UpdateAction
      */
     public static void execute(Update update, GraphStore graphStore)
     {
-        execute(update, graphStore, null);
+        execute(update, graphStore, (Binding)null);
     }
 
     /** Execute a single SPARQL Update operation.
@@ -262,19 +285,27 @@ public class UpdateAction
      * @param graphStore
      * @param inputBinding
      */
+    public static void execute(Update update, GraphStore graphStore, QuerySolution inputBinding)
+    {
+        execute(update, graphStore, BindingUtils.asBinding(inputBinding)) ;
+    }
+    
+    /** Execute a single SPARQL Update operation.
+     * @param update
+     * @param graphStore
+     * @param inputBinding
+     */
     public static void execute(Update update, GraphStore graphStore, Binding inputBinding)
     {
         execute$(update, graphStore, inputBinding) ;
     }
-    
+
     private static void execute$(Update update, GraphStore graphStore, Binding inputBinding)
     {
         UpdateRequest request = new UpdateRequest() ;
         request.add(update) ;
         execute$(request, graphStore, inputBinding) ;
     }  
-
-    
     
     // Streaming Updates:
     
@@ -293,10 +324,16 @@ public class UpdateAction
     /** Parse update operations into a GraphStore by reading it from a file */
     public static void parseExecute(UsingList usingList, DatasetGraph dataset, String fileName, String baseURI, Syntax syntax)
     {
-        parseExecute(usingList, dataset, fileName, null, baseURI, syntax);
+        parseExecute(usingList, dataset, fileName, (Binding)null, baseURI, syntax);
     }
 
     /** Parse update operations into a GraphStore by reading it from a file */
+    public static void parseExecute(UsingList usingList, DatasetGraph dataset, String fileName, QuerySolution inputBinding, String baseURI, Syntax syntax)
+    { 
+        parseExecute(usingList, dataset, fileName, BindingUtils.asBinding(inputBinding), baseURI, syntax) ; 
+    }
+    
+    /** Parse update operations into a GraphStore by reading it from a file */
     public static void parseExecute(UsingList usingList, DatasetGraph dataset, String fileName, Binding inputBinding, String baseURI, Syntax syntax)
     { 
         InputStream in = null ;
@@ -353,7 +390,7 @@ public class UpdateAction
      */
     public static void parseExecute(UsingList usingList, DatasetGraph dataset, InputStream input, String baseURI, Syntax syntax)
     {
-        parseExecute(usingList, dataset, input, null, baseURI, syntax);
+        parseExecute(usingList, dataset, input, (Binding)null, baseURI, syntax);
     }
     
     /**
@@ -366,6 +403,21 @@ public class UpdateAction
      * @param baseURI      The base URI for resolving relative URIs (may be <code>null</code>)
      * @param syntax       The update language syntax 
      */
+    public static void parseExecute(UsingList usingList, DatasetGraph dataset, InputStream input, QuerySolution inputBinding, String baseURI, Syntax syntax)
+    {
+        parseExecute(usingList, dataset, input, BindingUtils.asBinding(inputBinding), baseURI, syntax) ;
+    }
+
+    /**
+     * Parse update operations into a GraphStore by parsing from an InputStream.
+     * @param usingList    A list of USING or USING NAMED statements that be added to all {@link UpdateWithUsing} queries
+     * @param dataset      The dataset to apply the changes to
+     * @param input        The source of the update request (must be UTF-8). 
+     * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding
+     *                     (i.e. UpdateDeleteWhere, UpdateModify).  May be <code>null</code>
+     * @param baseURI      The base URI for resolving relative URIs (may be <code>null</code>)
+     * @param syntax       The update language syntax 
+     */
     public static void parseExecute(UsingList usingList, DatasetGraph dataset, InputStream input, Binding inputBinding, String baseURI, Syntax syntax)
     {
         GraphStore graphStore = GraphStoreFactory.create(dataset);

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateExecutionFactory.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateExecutionFactory.java?rev=1516234&r1=1516233&r2=1516234&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateExecutionFactory.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateExecutionFactory.java Wed Aug 21 17:56:09 2013
@@ -21,7 +21,9 @@ package com.hp.hpl.jena.update;
 import org.apache.jena.atlas.web.auth.HttpAuthenticator;
 
 import com.hp.hpl.jena.query.ARQ ;
+import com.hp.hpl.jena.query.QuerySolution ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingUtils ;
 import com.hp.hpl.jena.sparql.modify.UpdateEngineFactory ;
 import com.hp.hpl.jena.sparql.modify.UpdateEngineRegistry ;
 import com.hp.hpl.jena.sparql.modify.UpdateProcessRemote ;
@@ -41,7 +43,7 @@ public class UpdateExecutionFactory
      */
     public static UpdateProcessor create(Update update, GraphStore graphStore)
     {
-        return create(new UpdateRequest(update), graphStore, null, null) ;
+        return create(new UpdateRequest(update), graphStore, (Binding)null) ;
     }
     
     /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor 
@@ -50,11 +52,23 @@ public class UpdateExecutionFactory
      * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify)
      * @return UpdateProcessor or null
      */
+    public static UpdateProcessor create(Update update, GraphStore graphStore, QuerySolution inputBinding)
+    {
+        return create(update, graphStore, BindingUtils.asBinding(inputBinding)) ;
+    }
+
+    /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor 
+     * @param update
+     * @param graphStore
+     * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify)
+     * @return UpdateProcessor or null
+     */
     public static UpdateProcessor create(Update update, GraphStore graphStore, Binding inputBinding)
     {
         return create(new UpdateRequest(update), graphStore, inputBinding) ;
     }
 
+
     /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor 
      * @param updateRequest
      * @param graphStore
@@ -71,6 +85,17 @@ public class UpdateExecutionFactory
      * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify)
      * @return UpdateProcessor or null
      */
+    public static UpdateProcessor create(UpdateRequest updateRequest, GraphStore graphStore, QuerySolution inputBinding)
+    {        
+        return create(updateRequest, graphStore, BindingUtils.asBinding(inputBinding)) ;
+    }
+    
+    /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor 
+     * @param updateRequest
+     * @param graphStore
+     * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify)
+     * @return UpdateProcessor or null
+     */
     public static UpdateProcessor create(UpdateRequest updateRequest, GraphStore graphStore, Binding inputBinding)
     {        
         return make(updateRequest, graphStore, inputBinding, null) ;
@@ -85,6 +110,17 @@ public class UpdateExecutionFactory
         return makeStreaming(graphStore, null, null) ;
     }
     
+    
+    /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor 
+     * @param graphStore
+     * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify)
+     * @return UpdateProcessor or null
+     */
+    public static UpdateProcessorStreaming createStreaming(GraphStore graphStore, QuerySolution inputBinding)
+    {        
+        return createStreaming(graphStore, BindingUtils.asBinding(inputBinding)) ;
+    }
+
     /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor 
      * @param graphStore
      * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify)
@@ -111,6 +147,17 @@ public class UpdateExecutionFactory
      * @param context  (null means use merge of global and graph store context))
      * @return UpdateProcessor or null
      */
+    public static UpdateProcessorStreaming createStreaming(GraphStore graphStore, QuerySolution inputBinding, Context context)
+    {        
+        return createStreaming(graphStore, BindingUtils.asBinding(inputBinding), context) ;
+    }
+    
+    /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor 
+     * @param graphStore
+     * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify)
+     * @param context  (null means use merge of global and graph store context))
+     * @return UpdateProcessor or null
+     */
     public static UpdateProcessorStreaming createStreaming(GraphStore graphStore, Binding inputBinding, Context context)
     {        
         return makeStreaming(graphStore, inputBinding, context) ;
@@ -134,6 +181,18 @@ public class UpdateExecutionFactory
      * @param context  (null means use merge of global and graph store context))
      * @return UpdateProcessor or null
      */
+    public static UpdateProcessor create(UpdateRequest updateRequest, GraphStore graphStore, QuerySolution inputBinding, Context context)
+    {        
+        return create(updateRequest, graphStore, BindingUtils.asBinding(inputBinding), context) ;
+    }
+
+    /** Create an UpdateProcessor appropriate to the GraphStore, or null if no available factory to make an UpdateProcessor 
+     * @param updateRequest
+     * @param graphStore
+     * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify)
+     * @param context  (null means use merge of global and graph store context))
+     * @return UpdateProcessor or null
+     */
     public static UpdateProcessor create(UpdateRequest updateRequest, GraphStore graphStore, Binding inputBinding, Context context)
     {        
         return make(updateRequest, graphStore, inputBinding, context) ;