You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by sa...@apache.org on 2012/06/05 00:44:41 UTC

svn commit: r1346187 - in /jena/Experimental/jena-client/src/main/java/org/apache/jena/client: ./ graph/ http/ service/

Author: sallen
Date: Mon Jun  4 22:44:40 2012
New Revision: 1346187

URL: http://svn.apache.org/viewvc?rev=1346187&view=rev
Log:
jena-client - removed org.apache.client.service package.

Removed:
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphService.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpQueryService.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpUpdateService.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/service/
Modified:
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/Connection.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/UpdateStatementBase.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphConnection.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphQueryStatement.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphRepository.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphUpdater.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpConnection.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpQueryStatement.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpRepository.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpUpdater.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/QuadIteratorEntity.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/TripleIteratorEntity.java
    jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/UpdateRemote.java

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/Connection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/Connection.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/Connection.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/Connection.java Mon Jun  4 22:44:40 2012
@@ -18,9 +18,6 @@
 
 package org.apache.jena.client;
 
-import org.apache.jena.client.service.QueryService;
-import org.apache.jena.client.service.Service;
-import org.apache.jena.client.service.UpdateService;
 import org.openjena.atlas.lib.Closeable;
 
 import com.hp.hpl.jena.query.Query;

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/UpdateStatementBase.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/UpdateStatementBase.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/UpdateStatementBase.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/UpdateStatementBase.java Mon Jun  4 22:44:40 2012
@@ -1,6 +1,5 @@
 package org.apache.jena.client;
 
-import java.util.concurrent.TimeUnit;
 
 public abstract class UpdateStatementBase extends ParameterizerBase implements UpdateStatement
 {

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphConnection.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphConnection.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphConnection.java Mon Jun  4 22:44:40 2012
@@ -8,15 +8,15 @@ import org.apache.jena.client.Updater;
 
 import com.hp.hpl.jena.query.Query;
 import com.hp.hpl.jena.query.ReadWrite;
+import com.hp.hpl.jena.sparql.core.DatasetGraph;
 import com.hp.hpl.jena.update.Update;
 
 public class DatasetGraphConnection extends ConnectionBase
 {
     private final DatasetGraphRepository repo;
+    private final DatasetGraph dsg;
     
-    private DatasetGraphService activeService;
-    
-    DatasetGraphConnection(DatasetGraphRepository repo, DatasetGraphService service)
+    DatasetGraphConnection(DatasetGraphRepository repo, DatasetGraph dsg)
     {
         if (null == repo)
         {
@@ -24,7 +24,7 @@ public class DatasetGraphConnection exte
         }
         
         this.repo = repo;
-        this.activeService = service;
+        this.dsg = dsg;
         
     }
     
@@ -37,7 +37,7 @@ public class DatasetGraphConnection exte
     @Override
     protected Updater doCreateBulkUpdater()
     {
-        DatasetGraphUpdater updater = new DatasetGraphUpdater(activeService);
+        DatasetGraphUpdater updater = new DatasetGraphUpdater(dsg);
         updater.open();
         return updater;
     }
@@ -51,7 +51,7 @@ public class DatasetGraphConnection exte
     @Override
     public QueryStatement createQueryStatement(String queryString)
     {
-        return new DatasetGraphQueryStatement(queryString, activeService, this);
+        return new DatasetGraphQueryStatement(queryString, dsg, this);
     }
 
     @Override

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphQueryStatement.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphQueryStatement.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphQueryStatement.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphQueryStatement.java Mon Jun  4 22:44:40 2012
@@ -9,28 +9,29 @@ import com.hp.hpl.jena.graph.Triple;
 import com.hp.hpl.jena.query.QueryExecution;
 import com.hp.hpl.jena.query.QueryExecutionFactory;
 import com.hp.hpl.jena.query.ResultSet;
+import com.hp.hpl.jena.sparql.core.DatasetGraph;
 import com.hp.hpl.jena.sparql.core.DatasetImpl;
 
 class DatasetGraphQueryStatement extends QueryStatementBase implements QueryStatement
 {
     private final String queryString;
-    private final DatasetGraphService queryService;
+    private final DatasetGraph dsg;
     
     private Object lock = new Object();
     private QueryExecution qe;
     
-    DatasetGraphQueryStatement(String queryString, DatasetGraphService queryService, DatasetGraphConnection connection)
+    DatasetGraphQueryStatement(String queryString, DatasetGraph dsg, DatasetGraphConnection connection)
     {
         super(connection);
         this.queryString = queryString;
-        this.queryService = queryService;
+        this.dsg = dsg;
     }
     
     private QueryExecution createQueryExecution()
     {
         // TODO Handle Query object in addition to QueryString
         String sparql = toString();
-        QueryExecution qe = QueryExecutionFactory.create(sparql, DatasetImpl.wrap(queryService.getDatasetGraph()));
+        QueryExecution qe = QueryExecutionFactory.create(sparql, DatasetImpl.wrap(dsg));
         // TODO Set the options on qe, such as timeouts
         synchronized (lock)
         {

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphRepository.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphRepository.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphRepository.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphRepository.java Mon Jun  4 22:44:40 2012
@@ -7,17 +7,17 @@ import com.hp.hpl.jena.sparql.core.Datas
 
 public class DatasetGraphRepository implements Repository
 {
-    private final DatasetGraphService service;
+    private final DatasetGraph dsg;
     
     public DatasetGraphRepository(DatasetGraph dsg)
     {
-        this.service = new DatasetGraphService(dsg);
+        this.dsg = dsg;
     }
 
     @Override
     public Connection getConnection()
     {
-        return new DatasetGraphConnection(this, service);
+        return new DatasetGraphConnection(this, dsg);
     }
     
 }

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphUpdater.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphUpdater.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphUpdater.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/graph/DatasetGraphUpdater.java Mon Jun  4 22:44:40 2012
@@ -13,19 +13,17 @@ import com.hp.hpl.jena.update.UpdateRequ
 // TODO This is not atomic!  But the underlying DatasetGraph isn't atomic anyway...
 public class DatasetGraphUpdater extends UpdaterBase
 {
-    private final DatasetGraphService service;
+    private final DatasetGraph dsg;
     
-    private DatasetGraph dsg;
     private boolean opened = false;
     
-    public DatasetGraphUpdater(DatasetGraphService service)
+    public DatasetGraphUpdater(DatasetGraph dsg)
     {
-        this.service = service;
+        this.dsg = dsg;
     }
     
     public void open()
     {
-        dsg = service.getDatasetGraph();
         opened = true;
     }
     
@@ -76,7 +74,6 @@ public class DatasetGraphUpdater extends
     {
         if (opened)
         {
-            dsg = null;
             opened = false;
         }
     }

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpConnection.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpConnection.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpConnection.java Mon Jun  4 22:44:40 2012
@@ -14,10 +14,10 @@ public class HttpConnection extends Conn
 {
     private final HttpRepository repo;
     
-    private HttpQueryService activeQueryService;
-    private HttpUpdateService activeUpdateService;
+    private String queryEndpoint;
+    private String updateEndpoint;
     
-    HttpConnection(HttpRepository repo, HttpQueryService queryService, HttpUpdateService updateService)
+    HttpConnection(HttpRepository repo, String queryEndpoint, String updateEndpoint)
     {
         if (null == repo)
         {
@@ -25,9 +25,8 @@ public class HttpConnection extends Conn
         }
         
         this.repo = repo;
-        this.activeQueryService = queryService;
-        this.activeUpdateService = updateService;
-        
+        this.queryEndpoint = queryEndpoint;
+        this.updateEndpoint = updateEndpoint;
     }
     
     @Override
@@ -39,7 +38,7 @@ public class HttpConnection extends Conn
     @Override
     protected Updater doCreateBulkUpdater()
     {
-        HttpUpdater updater = new HttpUpdater(activeUpdateService);
+        HttpUpdater updater = new HttpUpdater(updateEndpoint);
         updater.open();
         return updater;
     }
@@ -72,7 +71,7 @@ public class HttpConnection extends Conn
     @Override
     public QueryStatement createQueryStatement(String queryString)
     {
-        return new HttpQueryStatement(queryString, activeQueryService, this);
+        return new HttpQueryStatement(queryString, queryEndpoint, this);
     }
 
     @Override

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpQueryStatement.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpQueryStatement.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpQueryStatement.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpQueryStatement.java Mon Jun  4 22:44:40 2012
@@ -12,20 +12,20 @@ import com.hp.hpl.jena.sparql.engine.htt
 class HttpQueryStatement extends QueryStatementBase implements QueryStatement
 {
     private final String queryString;
-    private final HttpQueryService queryService;
+    private final String queryEndpoint;
     
-    HttpQueryStatement(String queryString, HttpQueryService queryService, HttpConnection connection)
+    HttpQueryStatement(String queryString, String queryEndpoint, HttpConnection connection)
     {
         super(connection);
         this.queryString = queryString;
-        this.queryService = queryService;
+        this.queryEndpoint = queryEndpoint;
     }
     
     private QueryEngineHTTP createQueryExecution()
     {
         // TODO Handle Query object in addition to QueryString
         String sparql = toString();
-        QueryEngineHTTP qe = new QueryEngineHTTP(queryService.getEndpointUrl(), sparql);
+        QueryEngineHTTP qe = new QueryEngineHTTP(queryEndpoint, sparql);
         // TODO Set the options on qe, such as timeouts
         return qe;
     }

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpRepository.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpRepository.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpRepository.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpRepository.java Mon Jun  4 22:44:40 2012
@@ -5,20 +5,20 @@ import org.apache.jena.client.Repository
 
 public class HttpRepository implements Repository
 {
-    private final HttpQueryService defaultQueryService;
-    private final HttpUpdateService defaultUpdateService;
+    private final String queryEndpoint;
+    private final String updateEndpoint;
     
     
     public HttpRepository(String queryEndpoint, String updateEndpoint)
     {
-        this.defaultQueryService = new HttpQueryService(queryEndpoint);
-        this.defaultUpdateService = new HttpUpdateService(updateEndpoint);
+        this.queryEndpoint = queryEndpoint;
+        this.updateEndpoint = updateEndpoint;
     }
 
     @Override
     public Connection getConnection()
     {
-        return new HttpConnection(this, defaultQueryService, defaultUpdateService);
+        return new HttpConnection(this, queryEndpoint, updateEndpoint);
     }
     
 }

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpUpdater.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpUpdater.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpUpdater.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/HttpUpdater.java Mon Jun  4 22:44:40 2012
@@ -1,11 +1,13 @@
 package org.apache.jena.client.http;
 
+import java.io.FilterOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLConnection;
+import java.net.URLEncoder;
 import java.util.Iterator;
 
 import org.apache.jena.client.UpdaterBase;
@@ -20,7 +22,7 @@ import com.hp.hpl.jena.update.UpdateExce
 
 public class HttpUpdater extends UpdaterBase
 {
-    private final HttpUpdateService updateService;
+    private final String updateEndpoint;
     private final SerializationContext sCxt;
     
     private HttpURLConnection conn;
@@ -28,14 +30,18 @@ public class HttpUpdater extends Updater
     private UpdateWriter writer;
     private boolean opened = false;
     
-    public HttpUpdater(HttpUpdateService updateService)
+    public HttpUpdater(String updateEndpoint)
     {
-        this(updateService, null);
+        this(updateEndpoint, null);
     }
     
-    public HttpUpdater(HttpUpdateService updateService, SerializationContext sCxt)
+    public HttpUpdater(String updateEndpoint, SerializationContext sCxt)
     {
-        this.updateService = updateService;
+        if (null == updateEndpoint) {
+            throw new IllegalArgumentException("updateEndpoint must be specified if performing update operations");
+        }
+        
+        this.updateEndpoint = updateEndpoint;
         this.sCxt = sCxt;
     }
     
@@ -44,7 +50,7 @@ public class HttpUpdater extends Updater
         URL url;
         try
         {
-            url = new URL(updateService.getEndpointUrl());
+            url = new URL(updateEndpoint);
             URLConnection urlConn = url.openConnection();
             if (!(urlConn instanceof HttpURLConnection))
             {
@@ -53,8 +59,8 @@ public class HttpUpdater extends Updater
             conn = (HttpURLConnection)urlConn;
             conn.setDoOutput(true);
             conn.setRequestMethod("POST");
-            conn.setRequestProperty("Content-Type", WebContent.contentTypeSPARQLUpdate);
-            //conn.setRequestProperty("Content-Type", WebContent.contentTypeForm);
+            //conn.setRequestProperty("Content-Type", WebContent.contentTypeSPARQLUpdate);
+            conn.setRequestProperty("Content-Type", WebContent.contentTypeForm);
             // TODO Potential optimization: allow gzip when we know we're dealing with Fuseki (also update Fuseki to allow this!)
             //conn.setRequestProperty("Content-Encoding", "gzip");
             conn.setChunkedStreamingMode(4096);
@@ -63,8 +69,10 @@ public class HttpUpdater extends Updater
             out = conn.getOutputStream();
             //out = new GZIPOutputStream(conn.getOutputStream());
             
-            IndentedWriter iw = new IndentedWriter(out);
-            //iw.print("update=");
+            //IndentedWriter iw = new IndentedWriter(out);
+            out.write("update=".getBytes("UTF-8"));
+            IndentedWriter iw = new IndentedWriter(new URLEncoderOutputStream(out));
+            
             
             writer = new UpdateWriter(iw, sCxt);
             writer.open();
@@ -143,4 +151,21 @@ public class HttpUpdater extends Updater
             }
         }
     }
+    
+    
+    // TODO this is not efficient.  And is it even correct?  Will it properly escape UTF codepoints over a byte in size?
+    private class URLEncoderOutputStream extends FilterOutputStream
+    {
+        public URLEncoderOutputStream(OutputStream out)
+        {
+            super(out);
+        }
+        
+        @Override
+        public void write(int b) throws IOException
+        {
+            String enc = URLEncoder.encode(new String(new byte[] { (byte)b }), "UTF-8");
+            out.write(enc.getBytes("UTF-8"));
+        }
+    }
 }

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/QuadIteratorEntity.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/QuadIteratorEntity.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/QuadIteratorEntity.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/QuadIteratorEntity.java Mon Jun  4 22:44:40 2012
@@ -15,6 +15,7 @@ import com.hp.hpl.jena.sparql.modify.req
 import com.hp.hpl.jena.sparql.modify.request.UpdateDataWriter.UpdateMode;
 import com.hp.hpl.jena.sparql.serializer.SerializationContext;
 
+// TODO Not used
 class QuadIteratorEntity extends AbstractHttpEntity
 {
     private final UpdateMode mode;

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/TripleIteratorEntity.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/TripleIteratorEntity.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/TripleIteratorEntity.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/TripleIteratorEntity.java Mon Jun  4 22:44:40 2012
@@ -15,6 +15,7 @@ import com.hp.hpl.jena.sparql.modify.req
 import com.hp.hpl.jena.sparql.modify.request.UpdateDataWriter.UpdateMode;
 import com.hp.hpl.jena.sparql.serializer.SerializationContext;
 
+// TODO Not used
 class TripleIteratorEntity extends AbstractHttpEntity
 {
     private final UpdateMode mode;

Modified: jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/UpdateRemote.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/UpdateRemote.java?rev=1346187&r1=1346186&r2=1346187&view=diff
==============================================================================
--- jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/UpdateRemote.java (original)
+++ jena/Experimental/jena-client/src/main/java/org/apache/jena/client/http/UpdateRemote.java Mon Jun  4 22:44:40 2012
@@ -45,6 +45,7 @@ import com.hp.hpl.jena.update.Update ;
 import com.hp.hpl.jena.update.UpdateException ;
 import com.hp.hpl.jena.update.UpdateRequest ;
 
+// TODO Not used
 class UpdateRemote
 {
     private final String serviceURL;