You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by je...@apache.org on 2012/07/17 23:12:39 UTC

svn commit: r1362651 - /chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-client/src/main/java/org/apache/chemistry/opencmis/client/main/ObjGenApp.java

Author: jens
Date: Tue Jul 17 21:12:38 2012
New Revision: 1362651

URL: http://svn.apache.org/viewvc?rev=1362651&view=rev
Log:
add support for custom headers in test until client

Modified:
    chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-client/src/main/java/org/apache/chemistry/opencmis/client/main/ObjGenApp.java

Modified: chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-client/src/main/java/org/apache/chemistry/opencmis/client/main/ObjGenApp.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-client/src/main/java/org/apache/chemistry/opencmis/client/main/ObjGenApp.java?rev=1362651&r1=1362650&r2=1362651&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-client/src/main/java/org/apache/chemistry/opencmis/client/main/ObjGenApp.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-client/src/main/java/org/apache/chemistry/opencmis/client/main/ObjGenApp.java Tue Jul 17 21:12:38 2012
@@ -34,6 +34,7 @@ import joptsimple.OptionSpec;
 
 import org.apache.chemistry.opencmis.client.bindings.CmisBindingFactory;
 import org.apache.chemistry.opencmis.client.filecopy.FileCopier;
+import org.apache.chemistry.opencmis.client.mapper.PropertyMapperExif;
 import org.apache.chemistry.opencmis.commons.SessionParameter;
 import org.apache.chemistry.opencmis.commons.data.ContentStream;
 import org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
@@ -46,9 +47,12 @@ import org.apache.chemistry.opencmis.uti
 import org.apache.chemistry.opencmis.util.repository.ObjectGenerator;
 import org.apache.chemistry.opencmis.util.repository.ObjectGenerator.CONTENT_KIND;
 import org.apache.chemistry.opencmis.util.repository.TimeLogger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ObjGenApp {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ObjGenApp.class.getName());
     private static final String PROP_USER = SessionParameter.USER;
     private static final String PROP_PASSWORD = SessionParameter.PASSWORD;
     private static final String DEFAULT_USER = "user";
@@ -57,6 +61,7 @@ public class ObjGenApp {
     private static final String PROP_WS_URL = "org.apache.chemistry.opencmis.binding.webservices.url";
     private static final String PROP_BROWSER_URL = SessionParameter.BROWSER_URL;
     private static final String PROP_BINDING = SessionParameter.BINDING_TYPE;
+    private static final String PROP_CUSTOM = "org.apache.chemistry.opencmis.binding.header.";
     private static final String DEFAULT_ATOMPUB_URL = "http://localhost:8080/inmemory/atom";
     private static final String DEFAULT_WS_URL = "http://localhost:8080/inmemory/services/";
     private static final String DEFAULT_BROWSER_BINDING_URL  = "http://localhost:8080/inmemory/browser/";
@@ -603,6 +608,7 @@ public class ObjGenApp {
         } else {
             System.out.println("Error unknown binding: " + binding);
         }
+        fillCustomHeaders(parameters);
 
         return parameters;
     }
@@ -629,12 +635,20 @@ public class ObjGenApp {
             parameters.put(SessionParameter.PASSWORD, password);
         }
     }
+    
+    private static void fillCustomHeaders(Map<String, String> parameters) {
+    	Map<String, String> customHeaders = getCustomHeaders();
+    	for (Map.Entry<String, String> entry : customHeaders.entrySet()) {
+    		parameters.put(entry.getKey(), entry.getValue());    		
+    	}    		
+    }
 
     private static CmisBinding createAtomBinding(String url, String user, String password) {
 
         // gather parameters
         Map<String, String> parameters = new HashMap<String, String>();
         filLoginParams(parameters, user, password);
+        fillCustomHeaders(parameters);
 
         // get factory and create binding
         CmisBindingFactory factory = CmisBindingFactory.newInstance();
@@ -648,6 +662,7 @@ public class ObjGenApp {
         // gather parameters
         Map<String, String> parameters = new HashMap<String, String>();
         filLoginParams(parameters, user, password);
+        fillCustomHeaders(parameters);
 
         // get factory and create binding
         CmisBindingFactory factory = CmisBindingFactory.newInstance();
@@ -673,6 +688,7 @@ public class ObjGenApp {
     public static CmisBinding createWSBinding(String url, boolean isPrefix, String username, String password) {
         Map<String, String> parameters = new HashMap<String, String>();
         fillWSParameters(parameters, url, isPrefix, username, password);
+        fillCustomHeaders(parameters);
         
         // get factory and create provider
         CmisBindingFactory factory = CmisBindingFactory.newInstance();
@@ -733,6 +749,29 @@ public class ObjGenApp {
         return System.getProperty(PROP_PASSWORD, DEFAULT_PASSWORD);
     }
 
+    private static Map<String, String> getCustomHeaders() {
+    	int i=0;
+    	Map<String, String> customHeaders = new HashMap<String, String>();
+    	while (true) {
+    		String val = System.getProperty(PROP_CUSTOM + i, null);
+    		if (null == val)
+    			break;
+    		else {
+    			customHeaders.put(PROP_CUSTOM + i++, val);
+//    			int posCol = val.indexOf(':');
+//    			if (posCol <= 0) {
+//    				LOG.warn("Ignoring custom header "+ val + ": no colon found.");
+//    			} else {
+//    				String headerKey = PROP_CUSTOM + val.substring(0, posCol).trim();
+//    				String headerVal = val.substring(posCol+1).trim();
+//    				LOG.debug("Adding custom header " + headerKey + ":" + headerVal);
+//    				customHeaders.put(headerKey, headerVal);
+//    			}
+    		}
+    	}
+        return customHeaders;
+    }
+
     private static void getUrl(String urlStr) {
         URL url;
         InputStream is;