You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by sf...@apache.org on 2011/09/02 16:57:33 UTC

svn commit: r1164563 - in /chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server: impl/atompub/ impl/browser/ impl/webservices/ shared/

Author: sfermigier
Date: Fri Sep  2 14:57:32 2011
New Revision: 1164563

URL: http://svn.apache.org/viewvc?rev=1164563&view=rev
Log:
Implement a coupld missing browser binding methods.


Modified:
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/CmisAtomPubServlet.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/BrowserBindingUtils.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/CmisBrowserBindingServlet.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/DiscoveryService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/NavigationService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RepositoryService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/VersioningService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AuthHandler.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/shared/Dispatcher.java

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/CmisAtomPubServlet.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/CmisAtomPubServlet.java?rev=1164563&r1=1164562&r2=1164563&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/CmisAtomPubServlet.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/CmisAtomPubServlet.java Fri Sep  2 14:57:32 2011
@@ -53,17 +53,20 @@ import org.apache.commons.lang.StringEsc
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import static org.apache.chemistry.opencmis.server.impl.atompub.AtomPubUtils.*;
+import static org.apache.chemistry.opencmis.server.shared.Dispatcher.*;
+
 /**
  * CMIS AtomPub servlet.
  */
 public class CmisAtomPubServlet extends HttpServlet {
 
-    private static final long serialVersionUID = 1L;
-
     public static final String PARAM_CALL_CONTEXT_HANDLER = "callContextHandler";
 
     private static final Log LOG = LogFactory.getLog(CmisAtomPubServlet.class.getName());
 
+    private static final long serialVersionUID = 1L;
+
     private Dispatcher dispatcher;
     private CallContextHandler callContextHandler;
 
@@ -86,68 +89,71 @@ public class CmisAtomPubServlet extends 
         dispatcher = new Dispatcher();
 
         try {
-            dispatcher.addResource(AtomPubUtils.RESOURCE_TYPES, Dispatcher.METHOD_GET, RepositoryService.class,
+            dispatcher.addResource(RESOURCE_TYPES, METHOD_GET, RepositoryService.class,
                     "getTypeChildren");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_TYPESDESC, Dispatcher.METHOD_GET, RepositoryService.class,
+            dispatcher.addResource(RESOURCE_TYPESDESC, METHOD_GET, RepositoryService.class,
                     "getTypeDescendants");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_TYPE, Dispatcher.METHOD_GET, RepositoryService.class,
+            dispatcher.addResource(RESOURCE_TYPE, METHOD_GET, RepositoryService.class,
                     "getTypeDefinition");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_CHILDREN, Dispatcher.METHOD_GET, NavigationService.class,
+            dispatcher.addResource(RESOURCE_CHILDREN, METHOD_GET, NavigationService.class,
                     "getChildren");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_DESCENDANTS, Dispatcher.METHOD_GET, NavigationService.class,
+            dispatcher.addResource(RESOURCE_DESCENDANTS, METHOD_GET, NavigationService.class,
                     "getDescendants");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_FOLDERTREE, Dispatcher.METHOD_GET, NavigationService.class,
+            dispatcher.addResource(RESOURCE_FOLDERTREE, METHOD_GET, NavigationService.class,
                     "getFolderTree");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_PARENTS, Dispatcher.METHOD_GET, NavigationService.class,
+            dispatcher.addResource(RESOURCE_PARENTS, METHOD_GET, NavigationService.class,
                     "getObjectParents");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_CHECKEDOUT, Dispatcher.METHOD_GET, NavigationService.class,
+            dispatcher.addResource(RESOURCE_CHECKEDOUT, METHOD_GET, NavigationService.class,
                     "getCheckedOutDocs");
-            dispatcher
-                    .addResource(AtomPubUtils.RESOURCE_ENTRY, Dispatcher.METHOD_GET, ObjectService.class, "getObject");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_OBJECTBYID, Dispatcher.METHOD_GET, ObjectService.class,
+            dispatcher.addResource(RESOURCE_ENTRY, METHOD_GET, ObjectService.class,
+                    "getObject");
+            dispatcher.addResource(RESOURCE_OBJECTBYID, METHOD_GET, ObjectService.class,
                     "getObject");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_OBJECTBYPATH, Dispatcher.METHOD_GET, ObjectService.class,
+            dispatcher.addResource(RESOURCE_OBJECTBYPATH, METHOD_GET, ObjectService.class,
                     "getObjectByPath");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_ALLOWABLEACIONS, Dispatcher.METHOD_GET, ObjectService.class,
+            dispatcher.addResource(RESOURCE_ALLOWABLEACIONS, METHOD_GET, ObjectService.class,
                     "getAllowableActions");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_CONTENT, Dispatcher.METHOD_GET, ObjectService.class,
+            dispatcher.addResource(RESOURCE_CONTENT, METHOD_GET, ObjectService.class,
                     "getContentStream");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_CONTENT, Dispatcher.METHOD_PUT, ObjectService.class,
+            dispatcher.addResource(RESOURCE_CONTENT, METHOD_PUT, ObjectService.class,
                     "setContentStream");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_CONTENT, Dispatcher.METHOD_DELETE, ObjectService.class,
+            dispatcher.addResource(RESOURCE_CONTENT, METHOD_DELETE, ObjectService.class,
                     "deleteContentStream");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_CHILDREN, Dispatcher.METHOD_POST, ObjectService.class,
+            dispatcher.addResource(RESOURCE_CHILDREN, METHOD_POST, ObjectService.class,
                     "create");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_RELATIONSHIPS, Dispatcher.METHOD_POST, ObjectService.class,
+            dispatcher.addResource(RESOURCE_RELATIONSHIPS, METHOD_POST, ObjectService.class,
                     "createRelationship");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_ENTRY, Dispatcher.METHOD_PUT, ObjectService.class,
+            dispatcher.addResource(RESOURCE_ENTRY, METHOD_PUT, ObjectService.class,
                     "updateProperties");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_ENTRY, Dispatcher.METHOD_DELETE, ObjectService.class,
+            dispatcher.addResource(RESOURCE_ENTRY, METHOD_DELETE, ObjectService.class,
                     "deleteObject");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_DESCENDANTS, Dispatcher.METHOD_DELETE, ObjectService.class,
+            dispatcher.addResource(RESOURCE_DESCENDANTS, METHOD_DELETE, ObjectService.class,
                     "deleteTree");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_CHECKEDOUT, Dispatcher.METHOD_POST, VersioningService.class,
+            dispatcher.addResource(RESOURCE_CHECKEDOUT, METHOD_POST, VersioningService.class,
                     "checkOut");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_VERSIONS, Dispatcher.METHOD_GET, VersioningService.class,
+            dispatcher.addResource(RESOURCE_VERSIONS, METHOD_GET, VersioningService.class,
                     "getAllVersions");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_VERSIONS, Dispatcher.METHOD_DELETE, VersioningService.class,
+            dispatcher.addResource(RESOURCE_VERSIONS, METHOD_DELETE, VersioningService.class,
                     "deleteAllVersions");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_QUERY, Dispatcher.METHOD_GET, DiscoveryService.class, "query");
-            dispatcher
-                    .addResource(AtomPubUtils.RESOURCE_QUERY, Dispatcher.METHOD_POST, DiscoveryService.class, "query");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_CHANGES, Dispatcher.METHOD_GET, DiscoveryService.class,
+            dispatcher.addResource(RESOURCE_QUERY, METHOD_GET, DiscoveryService.class,
+                    "query");
+            dispatcher.addResource(RESOURCE_QUERY, METHOD_POST, DiscoveryService.class,
+                    "query");
+            dispatcher.addResource(RESOURCE_CHANGES, METHOD_GET, DiscoveryService.class,
                     "getContentChanges");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_RELATIONSHIPS, Dispatcher.METHOD_GET,
-                    RelationshipService.class, "getObjectRelationships");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_UNFILED, Dispatcher.METHOD_POST, MultiFilingService.class,
+            dispatcher.addResource(RESOURCE_RELATIONSHIPS, METHOD_GET, RelationshipService.class,
+                    "getObjectRelationships");
+            dispatcher.addResource(RESOURCE_UNFILED, METHOD_POST, MultiFilingService.class,
                     "removeObjectFromFolder");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_ACL, Dispatcher.METHOD_GET, AclService.class, "getAcl");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_ACL, Dispatcher.METHOD_PUT, AclService.class, "applyAcl");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_POLICIES, Dispatcher.METHOD_GET, PolicyService.class,
+            dispatcher.addResource(RESOURCE_ACL, METHOD_GET, AclService.class,
+                    "getAcl");
+            dispatcher.addResource(RESOURCE_ACL, METHOD_PUT, AclService.class,
+                    "applyAcl");
+            dispatcher.addResource(RESOURCE_POLICIES, METHOD_GET, PolicyService.class,
                     "getAppliedPolicies");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_POLICIES, Dispatcher.METHOD_POST, PolicyService.class,
+            dispatcher.addResource(RESOURCE_POLICIES, METHOD_POST, PolicyService.class,
                     "applyPolicy");
-            dispatcher.addResource(AtomPubUtils.RESOURCE_POLICIES, Dispatcher.METHOD_DELETE, PolicyService.class,
+            dispatcher.addResource(RESOURCE_POLICIES, METHOD_DELETE, PolicyService.class,
                     "removePolicy");
         } catch (NoSuchMethodException e) {
             LOG.error("Cannot initialize dispatcher!", e);

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/BrowserBindingUtils.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/BrowserBindingUtils.java?rev=1164563&r1=1164562&r2=1164563&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/BrowserBindingUtils.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/BrowserBindingUtils.java Fri Sep  2 14:57:32 2011
@@ -87,13 +87,18 @@ public class BrowserBindingUtils {
     public static final String SELECTOR_QUERY = "query";
     public static final String SELECTOR_VERSIONS = "versions";
 
-    public static final String CMISACTION_CREATEDOCUMENT = "createDocument";
-    public static final String CMISACTION_CREATEFOLDER = "createFolder";
+    public static final String CMISACTION_CREATE_DOCUMENT = "createDocument";
+    public static final String CMISACTION_CREATE_FOLDER = "createFolder";
+    public static final String CMISACTION_CREATE_RELATIONSHIP = "createRelationship";
+    public static final String CMISACTION_CREATE_POLICY = "createPolicy";
+    public static final String CMISACTION_SET_CONTENT = "setContent";
+    public static final String CMISACTION_DELETE = "delete";
+    public static final String CMISACTION_DELETE_TREE = "deleteTree";
     public static final String CMISACTION_QUERY = "query";
 
     public static final String PARAM_SELECTOR = "selector";
     public static final String PARAM_TRANSACTION = "transaction";
-    public static final String PARAM_CLIENTTOKEN = "clientToken";
+    public static final String PARAM_CLIENT_TOKEN = "clientToken";
 
     public static final String CONTROL_CMISACTION = "cmisaction";
     public static final String CONTROL_TRANSACTION = "transaction";
@@ -108,10 +113,10 @@ public class BrowserBindingUtils {
     public static final String CONTROL_CONTENT_TYPE = "contenttype";
     public static final String CONTROL_FILENAME = "filename";
 
-    public static final String CONTEXT_OBJECT_ID = "org.apache.chemistry.openmis.browserbinding.objectId";
-    public static final String CONTEXT_OBJECT_TYPE_ID = "org.apache.chemistry.openmis.browserbinding.objectTypeId";
-    public static final String CONTEXT_BASETYPE_ID = "org.apache.chemistry.openmis.browserbinding.basetypeId";
-    public static final String CONTEXT_TRANSACTION = "org.apache.chemistry.openmis.browserbinding.transaction";
+    public static final String CONTEXT_OBJECT_ID = "org.apache.chemistry.opencmis.browserbinding.objectId";
+    public static final String CONTEXT_OBJECT_TYPE_ID = "org.apache.chemistry.opencmis.browserbinding.objectTypeId";
+    public static final String CONTEXT_BASETYPE_ID = "org.apache.chemistry.opencmis.browserbinding.basetypeId";
+    public static final String CONTEXT_TRANSACTION = "org.apache.chemistry.opencmis.browserbinding.transaction";
 
     public enum CallUrl {
         SERVICE, REPOSITORY, ROOT
@@ -138,7 +143,7 @@ public class BrowserBindingUtils {
     }
 
     public static UrlBuilder compileRootUrl(HttpServletRequest request, String repositoryId) {
-        return compileRepositoryUrl(request, repositoryId).addPathSegment(BrowserBindingUtils.ROOT_PATH_FRAGMENT);
+        return compileRepositoryUrl(request, repositoryId).addPathSegment(ROOT_PATH_FRAGMENT);
     }
 
     /**
@@ -422,7 +427,7 @@ public class BrowserBindingUtils {
      * Transforms the transaction into a cookie name.
      */
     public static String getCookieName(String transaction) {
-        if ((transaction == null) || (transaction.length() == 0)) {
+        if (transaction == null || transaction.length() == 0) {
             return "cmis%";
         }
 
@@ -450,11 +455,11 @@ public class BrowserBindingUtils {
      */
     public static void setCookie(HttpServletRequest request, HttpServletResponse response, String repositoryId,
             String transaction, String value, int expiry) {
-        if ((transaction != null) && (transaction.length() > 0)) {
-            Cookie tansactionCookie = new Cookie(BrowserBindingUtils.getCookieName(transaction), value);
-            tansactionCookie.setMaxAge(expiry);
-            tansactionCookie.setPath(request.getContextPath() + request.getServletPath() + "/" + repositoryId);
-            response.addCookie(tansactionCookie);
+        if (transaction != null && transaction.length() > 0) {
+            Cookie transactionCookie = new Cookie(getCookieName(transaction), value);
+            transactionCookie.setMaxAge(expiry);
+            transactionCookie.setPath(request.getContextPath() + request.getServletPath() + "/" + repositoryId);
+            response.addCookie(transactionCookie);
         }
     }
 
@@ -479,7 +484,7 @@ public class BrowserBindingUtils {
         response.setContentType(JSON_MIME_TYPE);
         response.setCharacterEncoding("UTF-8");
 
-        String clientToken = getStringParameter(request, PARAM_CLIENTTOKEN);
+        String clientToken = getStringParameter(request, PARAM_CLIENT_TOKEN);
         if (clientToken != null) {
             if (!clientToken.matches("[A-Za-z0-9._\\[\\]]*")) {
                 throw new CmisInvalidArgumentException("Invalid clientToken name!");

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/CmisBrowserBindingServlet.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/CmisBrowserBindingServlet.java?rev=1164563&r1=1164562&r2=1164563&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/CmisBrowserBindingServlet.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/CmisBrowserBindingServlet.java Fri Sep  2 14:57:32 2011
@@ -18,7 +18,11 @@
  */
 package org.apache.chemistry.opencmis.server.impl.browser;
 
+import static org.apache.chemistry.opencmis.commons.impl.Constants.PARAM_OBJECT_ID;
 import static org.apache.chemistry.opencmis.server.impl.browser.BrowserBindingUtils.*;
+import static org.apache.chemistry.opencmis.server.impl.browser.json.JSONConstants.ERROR_EXCEPTION;
+import static org.apache.chemistry.opencmis.server.impl.browser.json.JSONConstants.ERROR_MESSAGE;
+import static org.apache.chemistry.opencmis.server.impl.browser.json.JSONConstants.ERROR_STACKTRACE;
 import static org.apache.chemistry.opencmis.server.shared.Dispatcher.METHOD_GET;
 import static org.apache.chemistry.opencmis.server.shared.Dispatcher.METHOD_POST;
 import static org.apache.chemistry.opencmis.server.shared.HttpUtils.getStringParameter;
@@ -93,7 +97,8 @@ public class CmisBrowserBindingServlet e
         rootDispatcher = new Dispatcher();
 
         try {
-            repositoryDispatcher.addResource("", METHOD_GET, RepositoryService.class, "getRepositoryInfo");
+            repositoryDispatcher.addResource("", METHOD_GET,
+                    RepositoryService.class, "getRepositoryInfo");
             repositoryDispatcher.addResource(SELECTOR_LAST_RESULT, METHOD_GET,
                     RepositoryService.class, "getLastResult");
             repositoryDispatcher.addResource(SELECTOR_TYPE_CHILDREN, METHOD_GET,
@@ -106,7 +111,7 @@ public class CmisBrowserBindingServlet e
                     DiscoveryService.class, "query");
             repositoryDispatcher.addResource(CMISACTION_QUERY, METHOD_POST,
                     DiscoveryService.class, "query");
-            repositoryDispatcher.addResource(CMISACTION_CREATEDOCUMENT, METHOD_POST,
+            repositoryDispatcher.addResource(CMISACTION_CREATE_DOCUMENT, METHOD_POST,
                     ObjectService.class, "createDocument");
 
             rootDispatcher.addResource(SELECTOR_OBJECT, METHOD_GET, ObjectService.class,
@@ -123,10 +128,17 @@ public class CmisBrowserBindingServlet e
                     NavigationService.class, "getObjectParents");
             rootDispatcher.addResource(SELECTOR_VERSIONS, METHOD_GET,
                     VersioningService.class, "getAllVersions");
-            rootDispatcher.addResource(CMISACTION_CREATEDOCUMENT, METHOD_POST,
+
+            rootDispatcher.addResource(CMISACTION_CREATE_DOCUMENT, METHOD_POST,
                     ObjectService.class, "createDocument");
-            rootDispatcher.addResource(CMISACTION_CREATEFOLDER, METHOD_POST,
+            rootDispatcher.addResource(CMISACTION_CREATE_FOLDER, METHOD_POST,
                     ObjectService.class, "createFolder");
+            rootDispatcher.addResource(CMISACTION_SET_CONTENT, METHOD_POST,
+                    ObjectService.class, "setContentStream");
+            rootDispatcher.addResource(CMISACTION_DELETE, METHOD_POST,
+                    ObjectService.class, "deleteObject");
+            rootDispatcher.addResource(CMISACTION_DELETE_TREE, METHOD_POST,
+                    ObjectService.class, "deleteTree");
         } catch (NoSuchMethodException e) {
             LOG.error("Cannot initialize dispatcher!", e);
         }
@@ -144,7 +156,7 @@ public class CmisBrowserBindingServlet e
             dispatch(context, request, response);
         } catch (Exception e) {
             if (e instanceof CmisPermissionDeniedException) {
-                if ((context == null) || (context.getUsername() == null)) {
+                if (context == null || context.getUsername() == null) {
                     response.setHeader("WWW-Authenticate", "Basic realm=\"CMIS\"");
                     response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Authorization Required");
                 } else {
@@ -203,11 +215,11 @@ public class CmisBrowserBindingServlet e
             boolean methodFound = false;
 
             if (METHOD_GET.equals(method)) {
-                String selector = HttpUtils.getStringParameter(request, BrowserBindingUtils.PARAM_SELECTOR);
-                String objectId = getStringParameter(request, Constants.PARAM_OBJECT_ID);
+                String selector = getStringParameter(request, PARAM_SELECTOR);
+                String objectId = getStringParameter(request, PARAM_OBJECT_ID);
 
                 // add object id and object base type id to context
-                BrowserBindingUtils.prepareContext(context, callUrl, service, repositoryId, objectId, null, request);
+                prepareContext(context, callUrl, service, repositoryId, objectId, null, request);
 
                 // dispatch
                 if (callUrl == CallUrl.REPOSITORY) {
@@ -221,8 +233,7 @@ public class CmisBrowserBindingServlet e
                     // set default method if necessary
                     if (selector == null) {
                         try {
-                            BaseTypeId basetype = BaseTypeId.fromValue((String) context
-                                    .get(BrowserBindingUtils.CONTEXT_BASETYPE_ID));
+                            BaseTypeId basetype = BaseTypeId.fromValue((String) context.get(CONTEXT_BASETYPE_ID));
                             switch (basetype) {
                             case CMIS_DOCUMENT:
                                 selector = SELECTOR_CONTENT;
@@ -245,16 +256,16 @@ public class CmisBrowserBindingServlet e
             } else if (METHOD_POST.equals(method)) {
                 POSTHttpServletRequestWrapper postRequest = new POSTHttpServletRequestWrapper(request);
 
-                String cmisaction = HttpUtils.getStringParameter(postRequest, BrowserBindingUtils.CONTROL_CMISACTION);
-                String objectId = HttpUtils.getStringParameter(postRequest, BrowserBindingUtils.CONTROL_OBJECT_ID);
-                String transaction = HttpUtils.getStringParameter(postRequest, BrowserBindingUtils.CONTROL_TRANSACTION);
+                String cmisaction = getStringParameter(postRequest, CONTROL_CMISACTION);
+                String objectId = getStringParameter(postRequest, CONTROL_OBJECT_ID);
+                String transaction = getStringParameter(postRequest, CONTROL_TRANSACTION);
 
-                if ((cmisaction == null) || (cmisaction.length() == 0)) {
+                if (cmisaction == null || cmisaction.length() == 0) {
                     throw new CmisNotSupportedException("Unknown action");
                 }
 
                 // add object id and object base type id to context
-                BrowserBindingUtils.prepareContext(context, callUrl, service, repositoryId, objectId, transaction,
+                prepareContext(context, callUrl, service, repositoryId, objectId, transaction,
                         postRequest);
 
                 // dispatch
@@ -330,24 +341,24 @@ public class CmisBrowserBindingServlet e
         }
 
         response.setStatus(statusCode);
-        response.setContentType(BrowserBindingUtils.JSON_MIME_TYPE);
+        response.setContentType(JSON_MIME_TYPE);
         if (context != null) {
-            BrowserBindingUtils.setCookie(request, response, context.getRepositoryId(),
-                    (String) context.get(BrowserBindingUtils.CONTEXT_TRANSACTION),
-                    BrowserBindingUtils.createCookieValue(statusCode, null, exceptionName, ex.getMessage()));
+            setCookie(request, response, context.getRepositoryId(),
+                    (String) context.get(CONTEXT_TRANSACTION),
+                    createCookieValue(statusCode, null, exceptionName, ex.getMessage()));
         }
 
         JSONObject jsonResponse = new JSONObject();
-        jsonResponse.put(JSONConstants.ERROR_EXCEPTION, exceptionName);
-        jsonResponse.put(JSONConstants.ERROR_MESSAGE, ex.getMessage());
+        jsonResponse.put(ERROR_EXCEPTION, exceptionName);
+        jsonResponse.put(ERROR_MESSAGE, ex.getMessage());
 
         String st = ExceptionHelper.getStacktraceAsString(ex);
         if (st != null) {
-            jsonResponse.put(JSONConstants.ERROR_STACKTRACE, st);
+            jsonResponse.put(ERROR_STACKTRACE, st);
         }
 
         try {
-            BrowserBindingUtils.writeJSON(jsonResponse, request, response);
+            writeJSON(jsonResponse, request, response);
         } catch (Exception e) {
             LOG.error(e.getMessage(), e);
         }

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/DiscoveryService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/DiscoveryService.java?rev=1164563&r1=1164562&r2=1164563&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/DiscoveryService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/DiscoveryService.java Fri Sep  2 14:57:32 2011
@@ -45,9 +45,6 @@ public class DiscoveryService {
     private DiscoveryService() {
     }
 
-    /**
-     * query.
-     */
     public static void query(CallContext context, CmisService service, String repositoryId, HttpServletRequest request,
             HttpServletResponse response) throws Exception {
         // get parameters

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/NavigationService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/NavigationService.java?rev=1164563&r1=1164562&r2=1164563&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/NavigationService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/NavigationService.java Fri Sep  2 14:57:32 2011
@@ -18,6 +18,8 @@
  */
 package org.apache.chemistry.opencmis.server.impl.browser;
 
+import static org.apache.chemistry.opencmis.commons.impl.Constants.*;
+import static org.apache.chemistry.opencmis.server.impl.browser.BrowserBindingUtils.CONTEXT_OBJECT_ID;
 import static org.apache.chemistry.opencmis.server.shared.HttpUtils.getBigIntegerParameter;
 import static org.apache.chemistry.opencmis.server.shared.HttpUtils.getBooleanParameter;
 import static org.apache.chemistry.opencmis.server.shared.HttpUtils.getEnumParameter;
@@ -55,16 +57,16 @@ public final class NavigationService {
     public static void getChildren(CallContext context, CmisService service, String repositoryId,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
         // get parameters
-        String folderId = (String) context.get(BrowserBindingUtils.CONTEXT_OBJECT_ID);
-        String filter = getStringParameter(request, Constants.PARAM_FILTER);
-        String orderBy = getStringParameter(request, Constants.PARAM_ORDER_BY);
-        Boolean includeAllowableActions = getBooleanParameter(request, Constants.PARAM_ALLOWABLE_ACTIONS);
-        IncludeRelationships includeRelationships = getEnumParameter(request, Constants.PARAM_RELATIONSHIPS,
+        String folderId = (String) context.get(CONTEXT_OBJECT_ID);
+        String filter = getStringParameter(request, PARAM_FILTER);
+        String orderBy = getStringParameter(request, PARAM_ORDER_BY);
+        Boolean includeAllowableActions = getBooleanParameter(request, PARAM_ALLOWABLE_ACTIONS);
+        IncludeRelationships includeRelationships = getEnumParameter(request, PARAM_RELATIONSHIPS,
                 IncludeRelationships.class);
-        String renditionFilter = getStringParameter(request, Constants.PARAM_RENDITION_FILTER);
-        Boolean includePathSegment = getBooleanParameter(request, Constants.PARAM_PATH_SEGMENT);
-        BigInteger maxItems = getBigIntegerParameter(request, Constants.PARAM_MAX_ITEMS);
-        BigInteger skipCount = getBigIntegerParameter(request, Constants.PARAM_SKIP_COUNT);
+        String renditionFilter = getStringParameter(request, PARAM_RENDITION_FILTER);
+        Boolean includePathSegment = getBooleanParameter(request, PARAM_PATH_SEGMENT);
+        BigInteger maxItems = getBigIntegerParameter(request, PARAM_MAX_ITEMS);
+        BigInteger skipCount = getBigIntegerParameter(request, PARAM_SKIP_COUNT);
 
         // execute
         ObjectInFolderList children = service.getChildren(repositoryId, folderId, filter, orderBy,
@@ -89,14 +91,14 @@ public final class NavigationService {
     public static void getDescendants(CallContext context, CmisService service, String repositoryId,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
         // get parameters
-        String folderId = (String) context.get(BrowserBindingUtils.CONTEXT_OBJECT_ID);
-        BigInteger depth = getBigIntegerParameter(request, Constants.PARAM_DEPTH);
-        String filter = getStringParameter(request, Constants.PARAM_FILTER);
-        Boolean includeAllowableActions = getBooleanParameter(request, Constants.PARAM_ALLOWABLE_ACTIONS);
-        IncludeRelationships includeRelationships = getEnumParameter(request, Constants.PARAM_RELATIONSHIPS,
+        String folderId = (String) context.get(CONTEXT_OBJECT_ID);
+        BigInteger depth = getBigIntegerParameter(request, PARAM_DEPTH);
+        String filter = getStringParameter(request, PARAM_FILTER);
+        Boolean includeAllowableActions = getBooleanParameter(request, PARAM_ALLOWABLE_ACTIONS);
+        IncludeRelationships includeRelationships = getEnumParameter(request, PARAM_RELATIONSHIPS,
                 IncludeRelationships.class);
-        String renditionFilter = getStringParameter(request, Constants.PARAM_RENDITION_FILTER);
-        Boolean includePathSegment = getBooleanParameter(request, Constants.PARAM_PATH_SEGMENT);
+        String renditionFilter = getStringParameter(request, PARAM_RENDITION_FILTER);
+        Boolean includePathSegment = getBooleanParameter(request, PARAM_PATH_SEGMENT);
 
         // execute
         List<ObjectInFolderContainer> descendants = service.getDescendants(repositoryId, folderId, depth, filter,
@@ -123,14 +125,14 @@ public final class NavigationService {
     public static void getFolderTree(CallContext context, CmisService service, String repositoryId,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
         // get parameters
-        String folderId = (String) context.get(BrowserBindingUtils.CONTEXT_OBJECT_ID);
-        BigInteger depth = getBigIntegerParameter(request, Constants.PARAM_DEPTH);
-        String filter = getStringParameter(request, Constants.PARAM_FILTER);
-        Boolean includeAllowableActions = getBooleanParameter(request, Constants.PARAM_ALLOWABLE_ACTIONS);
-        IncludeRelationships includeRelationships = getEnumParameter(request, Constants.PARAM_RELATIONSHIPS,
+        String folderId = (String) context.get(CONTEXT_OBJECT_ID);
+        BigInteger depth = getBigIntegerParameter(request, PARAM_DEPTH);
+        String filter = getStringParameter(request, PARAM_FILTER);
+        Boolean includeAllowableActions = getBooleanParameter(request, PARAM_ALLOWABLE_ACTIONS);
+        IncludeRelationships includeRelationships = getEnumParameter(request, PARAM_RELATIONSHIPS,
                 IncludeRelationships.class);
-        String renditionFilter = getStringParameter(request, Constants.PARAM_RENDITION_FILTER);
-        Boolean includePathSegment = getBooleanParameter(request, Constants.PARAM_PATH_SEGMENT);
+        String renditionFilter = getStringParameter(request, PARAM_RENDITION_FILTER);
+        Boolean includePathSegment = getBooleanParameter(request, PARAM_PATH_SEGMENT);
 
         // execute
         List<ObjectInFolderContainer> folderTree = service.getFolderTree(repositoryId, folderId, depth, filter,
@@ -157,13 +159,13 @@ public final class NavigationService {
     public static void getObjectParents(CallContext context, CmisService service, String repositoryId,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
         // get parameters
-        String objectId = (String) context.get(BrowserBindingUtils.CONTEXT_OBJECT_ID);
-        String filter = getStringParameter(request, Constants.PARAM_FILTER);
-        Boolean includeAllowableActions = getBooleanParameter(request, Constants.PARAM_ALLOWABLE_ACTIONS);
-        IncludeRelationships includeRelationships = getEnumParameter(request, Constants.PARAM_RELATIONSHIPS,
+        String objectId = (String) context.get(CONTEXT_OBJECT_ID);
+        String filter = getStringParameter(request, PARAM_FILTER);
+        Boolean includeAllowableActions = getBooleanParameter(request, PARAM_ALLOWABLE_ACTIONS);
+        IncludeRelationships includeRelationships = getEnumParameter(request, PARAM_RELATIONSHIPS,
                 IncludeRelationships.class);
-        String renditionFilter = getStringParameter(request, Constants.PARAM_RENDITION_FILTER);
-        Boolean includeRelativePathSegment = getBooleanParameter(request, Constants.PARAM_RELATIVE_PATH_SEGMENT);
+        String renditionFilter = getStringParameter(request, PARAM_RENDITION_FILTER);
+        Boolean includeRelativePathSegment = getBooleanParameter(request, PARAM_RELATIVE_PATH_SEGMENT);
 
         // execute
         List<ObjectParentData> parents = service.getObjectParents(repositoryId, objectId, filter,

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java?rev=1164563&r1=1164562&r2=1164563&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java Fri Sep  2 14:57:32 2011
@@ -18,6 +18,8 @@
  */
 package org.apache.chemistry.opencmis.server.impl.browser;
 
+import static org.apache.chemistry.opencmis.commons.impl.Constants.*;
+import static org.apache.chemistry.opencmis.server.impl.browser.BrowserBindingUtils.*;
 import static org.apache.chemistry.opencmis.server.shared.HttpUtils.getBooleanParameter;
 import static org.apache.chemistry.opencmis.server.shared.HttpUtils.getEnumParameter;
 import static org.apache.chemistry.opencmis.server.shared.HttpUtils.getStringParameter;
@@ -36,11 +38,11 @@ import org.apache.chemistry.opencmis.com
 import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
 import org.apache.chemistry.opencmis.commons.enums.VersioningState;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
-import org.apache.chemistry.opencmis.commons.impl.Constants;
 import org.apache.chemistry.opencmis.commons.impl.ReturnVersion;
 import org.apache.chemistry.opencmis.commons.server.CallContext;
 import org.apache.chemistry.opencmis.commons.server.CmisService;
 import org.apache.chemistry.opencmis.commons.server.ObjectInfo;
+import org.apache.chemistry.opencmis.commons.spi.Holder;
 import org.apache.chemistry.opencmis.server.impl.browser.json.JSONConverter;
 import org.json.simple.JSONObject;
 
@@ -54,26 +56,23 @@ public final class ObjectService {
     private ObjectService() {
     }
 
-    /**
-     * createDocument.
-     */
     public static void createDocument(CallContext context, CmisService service, String repositoryId,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
         // get parameters
-        String folderId = (String) context.get(BrowserBindingUtils.CONTEXT_OBJECT_ID);
-        VersioningState versioningState = getEnumParameter(request, Constants.PARAM_VERSIONIG_STATE,
+        String folderId = (String) context.get(CONTEXT_OBJECT_ID);
+        VersioningState versioningState = getEnumParameter(request, PARAM_VERSIONIG_STATE,
                 VersioningState.class);
-        String transaction = getStringParameter(request, BrowserBindingUtils.PARAM_TRANSACTION);
+        String transaction = getStringParameter(request, PARAM_TRANSACTION);
 
         ControlParser cp = new ControlParser(request);
 
         TypeCache typeCache = new TypeCache(repositoryId, service);
 
         String newObjectId = service.createDocument(repositoryId,
-                BrowserBindingUtils.createProperties(cp, null, typeCache), folderId,
-                BrowserBindingUtils.createContentStream(request), versioningState,
-                BrowserBindingUtils.createPolicies(cp), BrowserBindingUtils.createAddAcl(cp),
-                BrowserBindingUtils.createRemoveAcl(cp), null);
+                createProperties(cp, null, typeCache), folderId,
+                createContentStream(request), versioningState,
+                createPolicies(cp), createAddAcl(cp),
+                createRemoveAcl(cp), null);
 
         ObjectInfo objectInfo = service.getObjectInfo(repositoryId, newObjectId);
         if (objectInfo == null) {
@@ -88,29 +87,26 @@ public final class ObjectService {
         JSONObject jsonObject = JSONConverter.convert(object, typeCache);
 
         response.setStatus(HttpServletResponse.SC_CREATED);
-        BrowserBindingUtils.setCookie(request, response, repositoryId, transaction,
-                BrowserBindingUtils.createCookieValue(HttpServletResponse.SC_CREATED, object.getId(), null, null));
+        setCookie(request, response, repositoryId, transaction,
+                createCookieValue(HttpServletResponse.SC_CREATED, object.getId(), null, null));
 
-        BrowserBindingUtils.writeJSON(jsonObject, request, response);
+        writeJSON(jsonObject, request, response);
     }
 
-    /**
-     * createFolder.
-     */
     public static void createFolder(CallContext context, CmisService service, String repositoryId,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
         // get parameters
-        String folderId = (String) context.get(BrowserBindingUtils.CONTEXT_OBJECT_ID);
-        String transaction = getStringParameter(request, BrowserBindingUtils.PARAM_TRANSACTION);
+        String folderId = (String) context.get(CONTEXT_OBJECT_ID);
+        String transaction = getStringParameter(request, PARAM_TRANSACTION);
 
         ControlParser cp = new ControlParser(request);
 
         TypeCache typeCache = new TypeCache(repositoryId, service);
 
         String newObjectId = service.createFolder(repositoryId,
-                BrowserBindingUtils.createProperties(cp, null, typeCache), folderId,
-                BrowserBindingUtils.createPolicies(cp), BrowserBindingUtils.createAddAcl(cp),
-                BrowserBindingUtils.createRemoveAcl(cp), null);
+                createProperties(cp, null, typeCache), folderId,
+                createPolicies(cp), createAddAcl(cp),
+                createRemoveAcl(cp), null);
 
         ObjectInfo objectInfo = service.getObjectInfo(repositoryId, newObjectId);
         if (objectInfo == null) {
@@ -125,32 +121,29 @@ public final class ObjectService {
         JSONObject jsonObject = JSONConverter.convert(object, typeCache);
 
         response.setStatus(HttpServletResponse.SC_CREATED);
-        BrowserBindingUtils.setCookie(request, response, repositoryId, transaction,
-                BrowserBindingUtils.createCookieValue(HttpServletResponse.SC_CREATED, object.getId(), null, null));
+        setCookie(request, response, repositoryId, transaction,
+                createCookieValue(HttpServletResponse.SC_CREATED, object.getId(), null, null));
 
-        BrowserBindingUtils.writeJSON(jsonObject, request, response);
+        writeJSON(jsonObject, request, response);
     }
 
-    /**
-     * getObject.
-     */
     public static void getObject(CallContext context, CmisService service, String repositoryId,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
         // get parameters
-        String objectId = (String) context.get(BrowserBindingUtils.CONTEXT_OBJECT_ID);
-        ReturnVersion returnVersion = getEnumParameter(request, Constants.PARAM_RETURN_VERSION, ReturnVersion.class);
-        String filter = getStringParameter(request, Constants.PARAM_FILTER);
-        Boolean includeAllowableActions = getBooleanParameter(request, Constants.PARAM_ALLOWABLE_ACTIONS);
-        IncludeRelationships includeRelationships = getEnumParameter(request, Constants.PARAM_RELATIONSHIPS,
+        String objectId = (String) context.get(CONTEXT_OBJECT_ID);
+        ReturnVersion returnVersion = getEnumParameter(request, PARAM_RETURN_VERSION, ReturnVersion.class);
+        String filter = getStringParameter(request, PARAM_FILTER);
+        Boolean includeAllowableActions = getBooleanParameter(request, PARAM_ALLOWABLE_ACTIONS);
+        IncludeRelationships includeRelationships = getEnumParameter(request, PARAM_RELATIONSHIPS,
                 IncludeRelationships.class);
-        String renditionFilter = getStringParameter(request, Constants.PARAM_RENDITION_FILTER);
-        Boolean includePolicyIds = getBooleanParameter(request, Constants.PARAM_POLICY_IDS);
-        Boolean includeAcl = getBooleanParameter(request, Constants.PARAM_ACL);
+        String renditionFilter = getStringParameter(request, PARAM_RENDITION_FILTER);
+        Boolean includePolicyIds = getBooleanParameter(request, PARAM_POLICY_IDS);
+        Boolean includeAcl = getBooleanParameter(request, PARAM_ACL);
 
         // execute
-        ObjectData object = null;
+        ObjectData object;
 
-        if ((returnVersion == ReturnVersion.LATEST) || (returnVersion == ReturnVersion.LASTESTMAJOR)) {
+        if (returnVersion == ReturnVersion.LATEST || returnVersion == ReturnVersion.LASTESTMAJOR) {
             object = service.getObjectOfLatestVersion(repositoryId, objectId, null,
                     returnVersion == ReturnVersion.LASTESTMAJOR, filter, includeAllowableActions, includeRelationships,
                     renditionFilter, includePolicyIds, includeAcl, null);
@@ -167,17 +160,14 @@ public final class ObjectService {
         JSONObject jsonObject = JSONConverter.convert(object, typeCache);
 
         response.setStatus(HttpServletResponse.SC_OK);
-        BrowserBindingUtils.writeJSON(jsonObject, request, response);
+        writeJSON(jsonObject, request, response);
     }
 
-    /**
-     * getContentStream.
-     */
     public static void getContentStream(CallContext context, CmisService service, String repositoryId,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
         // get parameters
-        String objectId = (String) context.get(BrowserBindingUtils.CONTEXT_OBJECT_ID);
-        String streamId = getStringParameter(request, Constants.PARAM_STREAM_ID);
+        String objectId = (String) context.get(CONTEXT_OBJECT_ID);
+        String streamId = getStringParameter(request, PARAM_STREAM_ID);
 
         BigInteger offset = context.getOffset();
         BigInteger length = context.getLength();
@@ -185,17 +175,17 @@ public final class ObjectService {
         // execute
         ContentStream content = service.getContentStream(repositoryId, objectId, streamId, offset, length, null);
 
-        if ((content == null) || (content.getStream() == null)) {
+        if (content == null || content.getStream() == null) {
             throw new CmisRuntimeException("Content stream is null!");
         }
 
         String contentType = content.getMimeType();
         if (contentType == null) {
-            contentType = Constants.MEDIATYPE_OCTETSTREAM;
+            contentType = MEDIATYPE_OCTETSTREAM;
         }
 
         // set headers
-        if ((offset == null) && (length == null)) {
+        if (offset == null && length == null) {
             response.setStatus(HttpServletResponse.SC_OK);
         } else {
             response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT);
@@ -215,4 +205,40 @@ public final class ObjectService {
         in.close();
         out.flush();
     }
+
+    public static void deleteObject(CallContext context, CmisService service, String repositoryId,
+            HttpServletRequest request, HttpServletResponse response) throws Exception {
+        // get parameters
+        String objectId = (String) context.get(CONTEXT_OBJECT_ID);
+        // TODO: more parameters
+
+        service.deleteObject(repositoryId, objectId, null, null);
+
+        response.setStatus(HttpServletResponse.SC_NO_CONTENT);
+    }
+
+    public static void deleteTree(CallContext context, CmisService service, String repositoryId,
+            HttpServletRequest request, HttpServletResponse response) throws Exception {
+        // get parameters
+        String objectId = (String) context.get(CONTEXT_OBJECT_ID);
+        // TODO: more parameters
+
+        service.deleteTree(repositoryId, objectId, null, null, null, null);
+
+        response.setStatus(HttpServletResponse.SC_NO_CONTENT);
+    }
+
+    // TODO: doesn't work
+    public static void setContentStream(CallContext context, CmisService service, String repositoryId,
+            HttpServletRequest request, HttpServletResponse response) throws Exception {
+        // get parameters
+        String objectId = (String) context.get(CONTEXT_OBJECT_ID);
+
+        // execute
+        service.setContentStream(repositoryId, new Holder<String>(objectId),
+                true, null, createContentStream(request), null);
+
+        getObject(context, service, repositoryId, request, response);
+    }
+
 }

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RepositoryService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RepositoryService.java?rev=1164563&r1=1164562&r2=1164563&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RepositoryService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RepositoryService.java Fri Sep  2 14:57:32 2011
@@ -138,9 +138,6 @@ public final class RepositoryService {
         BrowserBindingUtils.writeJSON(jsonTypeList, request, response);
     }
 
-    /**
-     * getTypeDescendants.
-     */
     @SuppressWarnings("unchecked")
     public static void getTypeDescendants(CallContext context, CmisService service, String repositoryId,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
@@ -166,9 +163,6 @@ public final class RepositoryService {
         BrowserBindingUtils.writeJSON(jsonTypeTree, request, response);
     }
 
-    /**
-     * getTypeDefintion.
-     */
     public static void getTypeDefinition(CallContext context, CmisService service, String repositoryId,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
         // get parameters

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/VersioningService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/VersioningService.java?rev=1164563&r1=1164562&r2=1164563&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/VersioningService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/VersioningService.java Fri Sep  2 14:57:32 2011
@@ -18,6 +18,10 @@
  */
 package org.apache.chemistry.opencmis.server.impl.browser;
 
+import static org.apache.chemistry.opencmis.commons.impl.Constants.PARAM_ALLOWABLE_ACTIONS;
+import static org.apache.chemistry.opencmis.commons.impl.Constants.PARAM_FILTER;
+import static org.apache.chemistry.opencmis.server.impl.browser.BrowserBindingUtils.CONTEXT_OBJECT_ID;
+import static org.apache.chemistry.opencmis.server.impl.browser.BrowserBindingUtils.writeJSON;
 import static org.apache.chemistry.opencmis.server.shared.HttpUtils.getBooleanParameter;
 import static org.apache.chemistry.opencmis.server.shared.HttpUtils.getStringParameter;
 
@@ -28,7 +32,6 @@ import javax.servlet.http.HttpServletRes
 
 import org.apache.chemistry.opencmis.commons.data.ObjectData;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
-import org.apache.chemistry.opencmis.commons.impl.Constants;
 import org.apache.chemistry.opencmis.commons.server.CallContext;
 import org.apache.chemistry.opencmis.commons.server.CmisService;
 import org.apache.chemistry.opencmis.server.impl.browser.json.JSONConverter;
@@ -42,16 +45,13 @@ public class VersioningService {
     private VersioningService() {
     }
 
-    /**
-     * getAllVersions.
-     */
     @SuppressWarnings("unchecked")
     public static void getAllVersions(CallContext context, CmisService service, String repositoryId,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
         // get parameters
-        String objectId = (String) context.get(BrowserBindingUtils.CONTEXT_OBJECT_ID);
-        String filter = getStringParameter(request, Constants.PARAM_FILTER);
-        Boolean includeAllowableActions = getBooleanParameter(request, Constants.PARAM_ALLOWABLE_ACTIONS);
+        String objectId = (String) context.get(CONTEXT_OBJECT_ID);
+        String filter = getStringParameter(request, PARAM_FILTER);
+        Boolean includeAllowableActions = getBooleanParameter(request, PARAM_ALLOWABLE_ACTIONS);
 
         // execute
         List<ObjectData> versions = service.getAllVersions(repositoryId, objectId, null, filter,
@@ -68,6 +68,6 @@ public class VersioningService {
         }
 
         response.setStatus(HttpServletResponse.SC_OK);
-        BrowserBindingUtils.writeJSON(jsonVersions, request, response);
+        writeJSON(jsonVersions, request, response);
     }
 }

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AuthHandler.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AuthHandler.java?rev=1164563&r1=1164562&r2=1164563&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AuthHandler.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AuthHandler.java Fri Sep  2 14:57:32 2011
@@ -113,7 +113,7 @@ public class AuthHandler implements Mess
 
             for (Object uno : sht.getValue().getAny()) {
                 if ((uno instanceof JAXBElement) && ((JAXBElement<?>) uno).getValue() instanceof UsernameTokenType) {
-                    UsernameTokenType utt = (UsernameTokenType) ((JAXBElement<UsernameTokenType>) uno).getValue();
+                    UsernameTokenType utt = ((JAXBElement<UsernameTokenType>) uno).getValue();
                     username = utt.getUsername().getValue();
 
                     for (Object po : utt.getAny()) {

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/shared/Dispatcher.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/shared/Dispatcher.java?rev=1164563&r1=1164562&r2=1164563&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/shared/Dispatcher.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/shared/Dispatcher.java Fri Sep  2 14:57:32 2011
@@ -50,9 +50,6 @@ public class Dispatcher implements Seria
 
     private final Map<String, Method> methodMap = new HashMap<String, Method>();
 
-    public Dispatcher() {
-    }
-
     /**
      * Connects a resource and HTTP method with a class and a class method.
      */