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;


Reply via email to