You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by wi...@apache.org on 2014/10/27 09:20:08 UTC

git commit: added context to ImportClient.uploadDataset(), which overwrites the configuration

Repository: marmotta
Updated Branches:
  refs/heads/develop 85e5ff3f5 -> af18d1652


added context to ImportClient.uploadDataset(), which overwrites the configuration


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

Branch: refs/heads/develop
Commit: af18d16526b2ac84d839233ea0f3baa5a13147b6
Parents: 85e5ff3
Author: Sergio Fernández <wi...@apache.org>
Authored: Mon Oct 27 09:19:35 2014 +0100
Committer: Sergio Fernández <wi...@apache.org>
Committed: Mon Oct 27 09:19:48 2014 +0100

----------------------------------------------------------------------
 .../marmotta/client/clients/ImportClient.java   | 39 +++++++++++++--
 .../apache/marmotta/client/util/HTTPUtil.java   | 52 ++++++++++----------
 2 files changed, 60 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/marmotta/blob/af18d165/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/clients/ImportClient.java
----------------------------------------------------------------------
diff --git a/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/clients/ImportClient.java b/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/clients/ImportClient.java
index 0d5a62d..5dc8fd6 100644
--- a/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/clients/ImportClient.java
+++ b/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/clients/ImportClient.java
@@ -112,17 +112,33 @@ public class ImportClient {
      *
      * @param in InputStream to read the dataset from; will be consumed by this method
      * @param mimeType mime type of the input data
+     * @param context named graph to import in
      * @throws IOException
      * @throws MarmottaClientException
      */
-    public void uploadDataset(final InputStream in, final String mimeType) throws IOException, MarmottaClientException {
-        //Preconditions.checkArgument(acceptableTypes.contains(mimeType));
+    public void uploadDataset(final InputStream in, final String mimeType, final String context) throws IOException, MarmottaClientException {
+        HttpClient httpClient = HTTPUtil.createClient(config, context);
+        uploadDataset(in, mimeType, httpClient);
+    }
 
+    /**
+     * Upload/Import a dataset in the Marmotta Server. The dataset is given as an Inputstream that contains data of the
+     * mime type passed as argument. The mime type must be one of the acceptable types of the server.
+     *
+     * @param in InputStream to read the dataset from; will be consumed by this method
+     * @param mimeType mime type of the input data
+     * @throws IOException
+     * @throws MarmottaClientException
+     */
+    public void uploadDataset(final InputStream in, final String mimeType) throws IOException, MarmottaClientException {
         HttpClient httpClient = HTTPUtil.createClient(config);
+        uploadDataset(in, mimeType, httpClient);
+    }
 
+    private void uploadDataset(final InputStream in, final String mimeType, HttpClient httpClient) throws IOException {
         HttpPost post = HTTPUtil.createPost(URL_UPLOAD_SERVICE, config);
         post.setHeader("Content-Type", mimeType);
-        
+
         ContentProducer cp = new ContentProducer() {
             @Override
             public void writeTo(OutputStream outstream) throws IOException {
@@ -130,7 +146,7 @@ public class ImportClient {
             }
         };
         post.setEntity(new EntityTemplate(cp));
-        
+
         ResponseHandler<Boolean> handler = new ResponseHandler<Boolean>() {
             @Override
             public Boolean handleResponse(HttpResponse response) throws ClientProtocolException, IOException {
@@ -157,7 +173,6 @@ public class ImportClient {
         } finally {
             post.releaseConnection();
         }
-
     }
 
     /**
@@ -173,4 +188,18 @@ public class ImportClient {
         uploadDataset(new ByteArrayInputStream(data.getBytes("utf-8")), mimeType);
     }
 
+    /**
+     * Upload the data contained in the string using the given mime type; convenience method wrapping the generic
+     * InputStream-based method.
+     *
+     * @param data
+     * @param mimeType
+     * @param context
+     * @throws IOException
+     * @throws MarmottaClientException
+     */
+    public void uploadDataset(String data, String mimeType, String context) throws IOException, MarmottaClientException {
+        uploadDataset(new ByteArrayInputStream(data.getBytes("utf-8")), mimeType, context);
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/marmotta/blob/af18d165/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java
----------------------------------------------------------------------
diff --git a/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java b/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java
index 39192d8..5f97947 100644
--- a/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java
+++ b/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java
@@ -17,14 +17,8 @@
  */
 package org.apache.marmotta.client.util;
 
-import java.io.IOException;
-
 import org.apache.commons.lang3.StringUtils;
-import org.apache.http.Header;
-import org.apache.http.HttpRequest;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpStatus;
-import org.apache.http.ProtocolException;
+import org.apache.http.*;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.HttpRequestRetryHandler;
 import org.apache.http.client.methods.HttpGet;
@@ -40,9 +34,11 @@ import org.apache.http.params.HttpParams;
 import org.apache.http.protocol.HttpContext;
 import org.apache.marmotta.client.ClientConfiguration;
 
+import java.io.IOException;
+
 /**
  * HTTP Utilities
- * 
+ *
  * @author Sebastian Schaffert
  * @author Sergio Fernández
  */
@@ -50,21 +46,25 @@ public class HTTPUtil {
 
     private static final String CONTEXT = "context";
 
-	public static HttpClient createClient(ClientConfiguration config) {
+    public static HttpClient createClient(ClientConfiguration config) {
+        return createClient(config, config.getMarmottaContext());
+    }
+
+    public static HttpClient createClient(ClientConfiguration config, String context) {
 
         HttpParams httpParams = new BasicHttpParams();
-        httpParams.setParameter(CoreProtocolPNames.USER_AGENT, "Marmotta Client Library/"+ MetaUtil.getVersion());
+        httpParams.setParameter(CoreProtocolPNames.USER_AGENT, "Marmotta Client Library/" + MetaUtil.getVersion());
 
         httpParams.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, config.getSoTimeout());
         httpParams.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, config.getConnectionTimeout());
 
-        httpParams.setBooleanParameter(ClientPNames.HANDLE_REDIRECTS,true);
-        httpParams.setIntParameter(ClientPNames.MAX_REDIRECTS,3);
+        httpParams.setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, true);
+        httpParams.setIntParameter(ClientPNames.MAX_REDIRECTS, 3);
 
-        if (StringUtils.isNotBlank(config.getMarmottaContext())) {
-        	httpParams.setParameter(CONTEXT, config.getMarmottaContext());
+        if (StringUtils.isNotBlank(context)) {
+            httpParams.setParameter(CONTEXT, context);
         }
-        
+
         DefaultHttpClient client;
         if (config.getConectionManager() != null) {
             client = new DefaultHttpClient(config.getConectionManager(), httpParams);
@@ -75,17 +75,17 @@ public class HTTPUtil {
         client.setHttpRequestRetryHandler(new MarmottaHttpRequestRetryHandler());
         return client;
     }
-	
-	public static HttpPost createPost(String path, ClientConfiguration config) {
-    	String serviceUrl = config.getMarmottaUri() + path ;
-    	
-    	//FIXME: switch to a more elegant way, such as Jersey's UriBuilder
-    	if (StringUtils.isNotBlank(config.getMarmottaContext())) {
-    		serviceUrl += "?" + CONTEXT + "=" + config.getMarmottaContext();
-    	}
+
+    public static HttpPost createPost(String path, ClientConfiguration config) {
+        String serviceUrl = config.getMarmottaUri() + path;
+
+        //FIXME: switch to a more elegant way, such as Jersey's UriBuilder
+        if (StringUtils.isNotBlank(config.getMarmottaContext())) {
+            serviceUrl += "?" + CONTEXT + "=" + config.getMarmottaContext();
+        }
 
         return new HttpPost(serviceUrl);
-	}
+    }
 
 
     private static class MarmottaRedirectStrategy extends DefaultRedirectStrategy {
@@ -126,7 +126,7 @@ public class HTTPUtil {
          *                       unsuccessfully executed
          * @param context        the context for the request execution
          * @return <code>true</code> if the method should be retried, <code>false</code>
-         *         otherwise
+         * otherwise
          */
         @Override
         public boolean retryRequest(IOException exception, int executionCount, HttpContext context) {
@@ -134,5 +134,5 @@ public class HTTPUtil {
         }
     }
 
-    
+
 }