You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2012/08/09 17:04:47 UTC
svn commit: r1371244 [1/2] - in /chemistry/opencmis/trunk:
chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/
chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/j...
Author: fmui
Date: Thu Aug 9 15:04:46 2012
New Revision: 1371244
URL: http://svn.apache.org/viewvc?rev=1371244&view=rev
Log:
Browser Binding client: added support for succinct flag (CMIS 1.1 WD 08)
Added:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ClientTypeCacheImpl.java (with props)
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/ServerTypeCacheImpl.java (with props)
Removed:
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/server/TypeCacheImpl.java
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/CmisBindingFactory.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/DiscoveryServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/FormDataWriter.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/NavigationServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/PolicyServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/RelationshipServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/VersioningServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/AbstractFilableCmisObject.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/FolderImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameter.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConverter.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/MultiFilingService.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/PolicyService.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RelationshipService.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/VersioningService.java
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/CmisBindingFactory.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/CmisBindingFactory.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/CmisBindingFactory.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/CmisBindingFactory.java Thu Aug 9 15:04:46 2012
@@ -195,6 +195,9 @@ public class CmisBindingFactory {
sessionParameters.put(SessionParameter.AUTHENTICATION_PROVIDER_CLASS, STANDARD_AUTHENTICATION_PROVIDER);
}
}
+ if (!sessionParameters.containsKey(SessionParameter.BROWSER_SUCCINCT)) {
+ sessionParameters.put(SessionParameter.BROWSER_SUCCINCT, "true");
+ }
if (!sessionParameters.containsKey(SessionParameter.AUTH_HTTP_BASIC)) {
sessionParameters.put(SessionParameter.AUTH_HTTP_BASIC, "true");
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java Thu Aug 9 15:04:46 2012
@@ -73,12 +73,16 @@ public abstract class AbstractBrowserBin
};
private BindingSession session;
+ private boolean succint;
/**
* Sets the current session.
*/
protected void setSession(BindingSession session) {
this.session = session;
+
+ Object succintObj = session.get(SessionParameter.BROWSER_SUCCINCT);
+ this.succint = (succintObj == null ? true : Boolean.parseBoolean(succintObj.toString()));
}
/**
@@ -175,6 +179,14 @@ public abstract class AbstractBrowserBin
return result;
}
+ protected boolean getSuccinct() {
+ return succint;
+ }
+
+ protected String getSuccinctParameter() {
+ return succint ? "true" : null;
+ }
+
// ---- exceptions ----
/**
Added: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ClientTypeCacheImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ClientTypeCacheImpl.java?rev=1371244&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ClientTypeCacheImpl.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ClientTypeCacheImpl.java Thu Aug 9 15:04:46 2012
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.chemistry.opencmis.client.bindings.spi.browser;
+
+import org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingsHelper;
+import org.apache.chemistry.opencmis.client.bindings.impl.TypeDefinitionCache;
+import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
+import org.apache.chemistry.opencmis.commons.impl.TypeCache;
+
+public class ClientTypeCacheImpl implements TypeCache {
+
+ private final String repositoryId;
+ private final AbstractBrowserBindingService service;
+
+ public ClientTypeCacheImpl(String repositoryId, AbstractBrowserBindingService service) {
+ this.repositoryId = repositoryId;
+ this.service = service;
+ }
+
+ public TypeDefinition getTypeDefinition(String typeId) {
+
+ TypeDefinitionCache cache = CmisBindingsHelper.getTypeDefinitionCache(service.getSession());
+
+ TypeDefinition type = cache.get(repositoryId, typeId);
+ if (type == null) {
+ type = service.getTypeDefinitionInternal(repositoryId, typeId);
+ if (type != null) {
+ cache.put(repositoryId, type);
+ }
+ }
+
+ return type;
+ }
+
+ public TypeDefinition getTypeDefinitionForObject(String objectId) {
+ // not used
+ return null;
+ }
+
+}
Propchange: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ClientTypeCacheImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/DiscoveryServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/DiscoveryServiceImpl.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/DiscoveryServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/DiscoveryServiceImpl.java Thu Aug 9 15:04:46 2012
@@ -30,6 +30,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.impl.Constants;
import org.apache.chemistry.opencmis.commons.impl.JSONConstants;
import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
+import org.apache.chemistry.opencmis.commons.impl.TypeCache;
import org.apache.chemistry.opencmis.commons.impl.UrlBuilder;
import org.apache.chemistry.opencmis.commons.spi.DiscoveryService;
import org.apache.chemistry.opencmis.commons.spi.Holder;
@@ -61,6 +62,7 @@ public class DiscoveryServiceImpl extend
formData.addParameter(Constants.PARAM_RENDITION_FILTER, renditionFilter);
formData.addParameter(Constants.PARAM_MAX_ITEMS, maxItems);
formData.addParameter(Constants.PARAM_SKIP_COUNT, skipCount);
+ // Important: No succinct flag here!!!
// send and parse
HttpUtils.Response resp = post(url, formData.getContentType(), new HttpUtils.Output() {
@@ -69,21 +71,23 @@ public class DiscoveryServiceImpl extend
}
});
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- return JSONConverter.convertObjectList(json, true);
+ return JSONConverter.convertObjectList(json, typeCache, true);
}
public ObjectList getContentChanges(String repositoryId, Holder<String> changeLogToken, Boolean includeProperties,
String filter, Boolean includePolicyIds, Boolean includeAcl, BigInteger maxItems, ExtensionsData extension) {
// build URL
UrlBuilder url = getRepositoryUrl(repositoryId, Constants.SELECTOR_CONTENT_CHANGES);
- url.addParameter(Constants.PARAM_CHANGE_LOG_TOKEN,
- changeLogToken == null ? null : changeLogToken.getValue());
+ url.addParameter(Constants.PARAM_CHANGE_LOG_TOKEN, changeLogToken == null ? null : changeLogToken.getValue());
url.addParameter(Constants.PARAM_PROPERTIES, includeProperties);
url.addParameter(Constants.PARAM_FILTER, filter);
url.addParameter(Constants.PARAM_POLICY_IDS, includePolicyIds);
url.addParameter(Constants.PARAM_ACL, includeAcl);
url.addParameter(Constants.PARAM_MAX_ITEMS, maxItems);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
@@ -96,6 +100,8 @@ public class DiscoveryServiceImpl extend
}
}
- return JSONConverter.convertObjectList(json, false);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertObjectList(json, typeCache, false);
}
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/FormDataWriter.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/FormDataWriter.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/FormDataWriter.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/FormDataWriter.java Thu Aug 9 15:04:46 2012
@@ -98,6 +98,12 @@ public class FormDataWriter {
}
}
+ public void addSuccinctFlag(boolean succinct) {
+ if (succinct) {
+ addParameter(Constants.CONTROL_SUCCINCT, "true");
+ }
+ }
+
public void addPoliciesParameters(List<String> policies) {
if (policies == null) {
return;
@@ -177,7 +183,7 @@ public class FormDataWriter {
}
} else {
writeLine(out);
-
+
// parameters
for (Map.Entry<String, String> param : parameters.entrySet()) {
writeLine(out, "--" + boundary);
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/NavigationServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/NavigationServiceImpl.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/NavigationServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/NavigationServiceImpl.java Thu Aug 9 15:04:46 2012
@@ -33,6 +33,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
import org.apache.chemistry.opencmis.commons.impl.Constants;
import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
+import org.apache.chemistry.opencmis.commons.impl.TypeCache;
import org.apache.chemistry.opencmis.commons.impl.UrlBuilder;
import org.apache.chemistry.opencmis.commons.spi.NavigationService;
@@ -61,12 +62,15 @@ public class NavigationServiceImpl exten
url.addParameter(Constants.PARAM_PATH_SEGMENT, includePathSegment);
url.addParameter(Constants.PARAM_MAX_ITEMS, maxItems);
url.addParameter(Constants.PARAM_SKIP_COUNT, skipCount);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- return JSONConverter.convertObjectInFolderList(json);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertObjectInFolderList(json, typeCache);
}
public List<ObjectInFolderContainer> getDescendants(String repositoryId, String folderId, BigInteger depth,
@@ -80,12 +84,15 @@ public class NavigationServiceImpl exten
url.addParameter(Constants.PARAM_RELATIONSHIPS, includeRelationships);
url.addParameter(Constants.PARAM_RENDITION_FILTER, renditionFilter);
url.addParameter(Constants.PARAM_PATH_SEGMENT, includePathSegment);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
List<Object> json = parseArray(resp.getStream(), resp.getCharset());
- return JSONConverter.convertDescendants(json);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertDescendants(json, typeCache);
}
public List<ObjectInFolderContainer> getFolderTree(String repositoryId, String folderId, BigInteger depth,
@@ -99,12 +106,15 @@ public class NavigationServiceImpl exten
url.addParameter(Constants.PARAM_RELATIONSHIPS, includeRelationships);
url.addParameter(Constants.PARAM_RENDITION_FILTER, renditionFilter);
url.addParameter(Constants.PARAM_PATH_SEGMENT, includePathSegment);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
List<Object> json = parseArray(resp.getStream(), resp.getCharset());
- return JSONConverter.convertDescendants(json);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertDescendants(json, typeCache);
}
public List<ObjectParentData> getObjectParents(String repositoryId, String objectId, String filter,
@@ -117,24 +127,30 @@ public class NavigationServiceImpl exten
url.addParameter(Constants.PARAM_RELATIONSHIPS, includeRelationships);
url.addParameter(Constants.PARAM_RENDITION_FILTER, renditionFilter);
url.addParameter(Constants.PARAM_RELATIVE_PATH_SEGMENT, includeRelativePathSegment);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
List<Object> json = parseArray(resp.getStream(), resp.getCharset());
- return JSONConverter.convertObjectParents(json);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertObjectParents(json, typeCache);
}
public ObjectData getFolderParent(String repositoryId, String folderId, String filter, ExtensionsData extension) {
// build URL
UrlBuilder url = getObjectUrl(repositoryId, folderId, Constants.SELECTOR_PARENT);
url.addParameter(Constants.PARAM_FILTER, filter);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- return JSONConverter.convertObject(json);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertObject(json, typeCache);
}
public ObjectList getCheckedOutDocs(String repositoryId, String folderId, String filter, String orderBy,
@@ -150,11 +166,14 @@ public class NavigationServiceImpl exten
url.addParameter(Constants.PARAM_RENDITION_FILTER, renditionFilter);
url.addParameter(Constants.PARAM_MAX_ITEMS, maxItems);
url.addParameter(Constants.PARAM_SKIP_COUNT, skipCount);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- return JSONConverter.convertObjectList(json, false);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertObjectList(json, typeCache, false);
}
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java Thu Aug 9 15:04:46 2012
@@ -40,6 +40,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
import org.apache.chemistry.opencmis.commons.impl.Constants;
import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
+import org.apache.chemistry.opencmis.commons.impl.TypeCache;
import org.apache.chemistry.opencmis.commons.impl.UrlBuilder;
import org.apache.chemistry.opencmis.commons.impl.dataobjects.ContentStreamImpl;
import org.apache.chemistry.opencmis.commons.impl.dataobjects.FailedToDeleteDataImpl;
@@ -71,6 +72,7 @@ public class ObjectServiceImpl extends A
formData.addPoliciesParameters(policies);
formData.addAddAcesParameters(addAces);
formData.addRemoveAcesParameters(removeAces);
+ formData.addSuccinctFlag(getSuccinct());
// send and parse
HttpUtils.Response resp = post(url, formData.getContentType(), new HttpUtils.Output() {
@@ -80,7 +82,10 @@ public class ObjectServiceImpl extends A
});
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- ObjectData newObj = JSONConverter.convertObject(json);
+
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ ObjectData newObj = JSONConverter.convertObject(json, typeCache);
return (newObj == null ? null : newObj.getId());
}
@@ -99,6 +104,7 @@ public class ObjectServiceImpl extends A
formData.addPoliciesParameters(policies);
formData.addAddAcesParameters(addAces);
formData.addRemoveAcesParameters(removeAces);
+ formData.addSuccinctFlag(getSuccinct());
// send and parse
HttpUtils.Response resp = post(url, formData.getContentType(), new HttpUtils.Output() {
@@ -108,7 +114,10 @@ public class ObjectServiceImpl extends A
});
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- ObjectData newObj = JSONConverter.convertObject(json);
+
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ ObjectData newObj = JSONConverter.convertObject(json, typeCache);
return (newObj == null ? null : newObj.getId());
}
@@ -124,6 +133,7 @@ public class ObjectServiceImpl extends A
formData.addPoliciesParameters(policies);
formData.addAddAcesParameters(addAces);
formData.addRemoveAcesParameters(removeAces);
+ formData.addSuccinctFlag(getSuccinct());
// send and parse
HttpUtils.Response resp = post(url, formData.getContentType(), new HttpUtils.Output() {
@@ -133,7 +143,10 @@ public class ObjectServiceImpl extends A
});
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- ObjectData newObj = JSONConverter.convertObject(json);
+
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ ObjectData newObj = JSONConverter.convertObject(json, typeCache);
return (newObj == null ? null : newObj.getId());
}
@@ -149,6 +162,7 @@ public class ObjectServiceImpl extends A
formData.addPoliciesParameters(policies);
formData.addAddAcesParameters(addAces);
formData.addRemoveAcesParameters(removeAces);
+ formData.addSuccinctFlag(getSuccinct());
// send and parse
HttpUtils.Response resp = post(url, formData.getContentType(), new HttpUtils.Output() {
@@ -158,7 +172,10 @@ public class ObjectServiceImpl extends A
});
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- ObjectData newObj = JSONConverter.convertObject(json);
+
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ ObjectData newObj = JSONConverter.convertObject(json, typeCache);
return (newObj == null ? null : newObj.getId());
}
@@ -174,6 +191,7 @@ public class ObjectServiceImpl extends A
formData.addPoliciesParameters(policies);
formData.addAddAcesParameters(addAces);
formData.addRemoveAcesParameters(removeAces);
+ formData.addSuccinctFlag(getSuccinct());
// send and parse
HttpUtils.Response resp = post(url, formData.getContentType(), new HttpUtils.Output() {
@@ -183,7 +201,10 @@ public class ObjectServiceImpl extends A
});
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- ObjectData newObj = JSONConverter.convertObject(json);
+
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ ObjectData newObj = JSONConverter.convertObject(json, typeCache);
return (newObj == null ? null : newObj.getId());
}
@@ -210,12 +231,15 @@ public class ObjectServiceImpl extends A
url.addParameter(Constants.PARAM_RENDITION_FILTER, renditionFilter);
url.addParameter(Constants.PARAM_POLICY_IDS, includePolicyIds);
url.addParameter(Constants.PARAM_ACL, includeAcl);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- return JSONConverter.convertObject(json);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertObject(json, typeCache);
}
public ObjectData getObjectByPath(String repositoryId, String path, String filter, Boolean includeAllowableActions,
@@ -229,24 +253,33 @@ public class ObjectServiceImpl extends A
url.addParameter(Constants.PARAM_RENDITION_FILTER, renditionFilter);
url.addParameter(Constants.PARAM_POLICY_IDS, includePolicyIds);
url.addParameter(Constants.PARAM_ACL, includeAcl);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- return JSONConverter.convertObject(json);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertObject(json, typeCache);
}
public Properties getProperties(String repositoryId, String objectId, String filter, ExtensionsData extension) {
// build URL
UrlBuilder url = getObjectUrl(repositoryId, objectId, Constants.SELECTOR_PROPERTIES);
url.addParameter(Constants.PARAM_FILTER, filter);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- return JSONConverter.convertProperties(json);
+ if (getSuccinct()) {
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+ return JSONConverter.convertSuccinctProperties(json, typeCache);
+ } else {
+ return JSONConverter.convertProperties(json);
+ }
}
public List<RenditionData> getRenditions(String repositoryId, String objectId, String renditionFilter,
@@ -302,6 +335,7 @@ public class ObjectServiceImpl extends A
final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_UPDATE_PROPERTIES);
formData.addPropertiesParameters(properties);
formData.addParameter(Constants.PARAM_CHANGE_TOKEN, (changeToken == null ? null : changeToken.getValue()));
+ formData.addSuccinctFlag(getSuccinct());
// send and parse
HttpUtils.Response resp = post(url, formData.getContentType(), new HttpUtils.Output() {
@@ -311,7 +345,10 @@ public class ObjectServiceImpl extends A
});
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- ObjectData newObj = JSONConverter.convertObject(json);
+
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ ObjectData newObj = JSONConverter.convertObject(json,typeCache);
objectId.setValue(newObj == null ? null : newObj.getId());
@@ -335,6 +372,7 @@ public class ObjectServiceImpl extends A
final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_MOVE);
formData.addParameter(Constants.PARAM_TARGET_FOLDER_ID, targetFolderId);
formData.addParameter(Constants.PARAM_SOURCE_FOLDER_ID, sourceFolderId);
+ formData.addSuccinctFlag(getSuccinct());
// send and parse
HttpUtils.Response resp = post(url, formData.getContentType(), new HttpUtils.Output() {
@@ -344,7 +382,10 @@ public class ObjectServiceImpl extends A
});
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- ObjectData newObj = JSONConverter.convertObject(json);
+
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ ObjectData newObj = JSONConverter.convertObject(json,typeCache);
objectId.setValue(newObj == null ? null : newObj.getId());
}
@@ -405,6 +446,7 @@ public class ObjectServiceImpl extends A
final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_SET_CONTENT, contentStream);
formData.addParameter(Constants.PARAM_OVERWRITE_FLAG, overwriteFlag);
formData.addParameter(Constants.PARAM_CHANGE_TOKEN, (changeToken == null ? null : changeToken.getValue()));
+ formData.addSuccinctFlag(getSuccinct());
// send and parse
HttpUtils.Response resp = post(url, formData.getContentType(), new HttpUtils.Output() {
@@ -414,7 +456,10 @@ public class ObjectServiceImpl extends A
});
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- ObjectData newObj = JSONConverter.convertObject(json);
+
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ ObjectData newObj = JSONConverter.convertObject(json,typeCache);
objectId.setValue(newObj == null ? null : newObj.getId());
@@ -437,6 +482,7 @@ public class ObjectServiceImpl extends A
// prepare form data
final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_DELETE_CONTENT);
formData.addParameter(Constants.PARAM_CHANGE_TOKEN, (changeToken == null ? null : changeToken.getValue()));
+ formData.addSuccinctFlag(getSuccinct());
// send and parse
HttpUtils.Response resp = post(url, formData.getContentType(), new HttpUtils.Output() {
@@ -446,7 +492,10 @@ public class ObjectServiceImpl extends A
});
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- ObjectData newObj = JSONConverter.convertObject(json);
+
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ ObjectData newObj = JSONConverter.convertObject(json, typeCache);
objectId.setValue(newObj == null ? null : newObj.getId());
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/PolicyServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/PolicyServiceImpl.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/PolicyServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/PolicyServiceImpl.java Thu Aug 9 15:04:46 2012
@@ -28,6 +28,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.data.ObjectData;
import org.apache.chemistry.opencmis.commons.impl.Constants;
import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
+import org.apache.chemistry.opencmis.commons.impl.TypeCache;
import org.apache.chemistry.opencmis.commons.impl.UrlBuilder;
import org.apache.chemistry.opencmis.commons.spi.PolicyService;
@@ -80,11 +81,14 @@ public class PolicyServiceImpl extends A
// build URL
UrlBuilder url = getObjectUrl(repositoryId, objectId, Constants.SELECTOR_POLICIES);
url.addParameter(Constants.PARAM_FILTER, filter);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
List<Object> json = parseArray(resp.getStream(), resp.getCharset());
- return JSONConverter.convertObjects(json);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertObjects(json, typeCache);
}
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/RelationshipServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/RelationshipServiceImpl.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/RelationshipServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/RelationshipServiceImpl.java Thu Aug 9 15:04:46 2012
@@ -28,6 +28,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.enums.RelationshipDirection;
import org.apache.chemistry.opencmis.commons.impl.Constants;
import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
+import org.apache.chemistry.opencmis.commons.impl.TypeCache;
import org.apache.chemistry.opencmis.commons.impl.UrlBuilder;
import org.apache.chemistry.opencmis.commons.spi.RelationshipService;
@@ -55,11 +56,14 @@ public class RelationshipServiceImpl ext
url.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS, includeAllowableActions);
url.addParameter(Constants.PARAM_MAX_ITEMS, maxItems);
url.addParameter(Constants.PARAM_SKIP_COUNT, skipCount);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- return JSONConverter.convertObjectList(json, false);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertObjectList(json, typeCache, false);
}
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/VersioningServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/VersioningServiceImpl.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/VersioningServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/VersioningServiceImpl.java Thu Aug 9 15:04:46 2012
@@ -34,6 +34,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.impl.Constants;
import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
import org.apache.chemistry.opencmis.commons.impl.ReturnVersion;
+import org.apache.chemistry.opencmis.commons.impl.TypeCache;
import org.apache.chemistry.opencmis.commons.impl.UrlBuilder;
import org.apache.chemistry.opencmis.commons.spi.Holder;
import org.apache.chemistry.opencmis.commons.spi.VersioningService;
@@ -62,6 +63,7 @@ public class VersioningServiceImpl exten
// prepare form data
final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_CHECK_OUT);
+ formData.addSuccinctFlag(getSuccinct());
// send and parse
HttpUtils.Response resp = post(url, formData.getContentType(), new HttpUtils.Output() {
@@ -71,7 +73,10 @@ public class VersioningServiceImpl exten
});
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- ObjectData newObj = JSONConverter.convertObject(json);
+
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ ObjectData newObj = JSONConverter.convertObject(json, typeCache);
objectId.setValue(newObj == null ? null : newObj.getId());
}
@@ -110,6 +115,7 @@ public class VersioningServiceImpl exten
formData.addPoliciesParameters(policies);
formData.addAddAcesParameters(addAces);
formData.addRemoveAcesParameters(removeAces);
+ formData.addSuccinctFlag(getSuccinct());
// send and parse
HttpUtils.Response resp = post(url, formData.getContentType(), new HttpUtils.Output() {
@@ -119,7 +125,10 @@ public class VersioningServiceImpl exten
});
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- ObjectData newObj = JSONConverter.convertObject(json);
+
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ ObjectData newObj = JSONConverter.convertObject(json, typeCache);
objectId.setValue(newObj == null ? null : newObj.getId());
}
@@ -137,12 +146,15 @@ public class VersioningServiceImpl exten
url.addParameter(Constants.PARAM_ACL, includeAcl);
url.addParameter(Constants.PARAM_RETURN_VERSION,
(major == null || Boolean.FALSE.equals(major) ? ReturnVersion.LATEST : ReturnVersion.LASTESTMAJOR));
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- return JSONConverter.convertObject(json);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertObject(json, typeCache);
}
public Properties getPropertiesOfLatestVersion(String repositoryId, String objectId, String versionSeriesId,
@@ -152,12 +164,18 @@ public class VersioningServiceImpl exten
url.addParameter(Constants.PARAM_FILTER, filter);
url.addParameter(Constants.PARAM_RETURN_VERSION,
(major == null || Boolean.FALSE.equals(major) ? ReturnVersion.LATEST : ReturnVersion.LASTESTMAJOR));
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset());
- return JSONConverter.convertProperties(json);
+ if (getSuccinct()) {
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+ return JSONConverter.convertSuccinctProperties(json, typeCache);
+ } else {
+ return JSONConverter.convertProperties(json);
+ }
}
public List<ObjectData> getAllVersions(String repositoryId, String objectId, String versionSeriesId, String filter,
@@ -166,11 +184,14 @@ public class VersioningServiceImpl exten
UrlBuilder url = getObjectUrl(repositoryId, objectId, Constants.SELECTOR_VERSIONS);
url.addParameter(Constants.PARAM_FILTER, filter);
url.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS, includeAllowableActions);
+ url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter());
// read and parse
HttpUtils.Response resp = read(url);
List<Object> json = parseArray(resp.getStream(), resp.getCharset());
- return JSONConverter.convertObjects(json);
+ TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this);
+
+ return JSONConverter.convertObjects(json, typeCache);
}
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/AbstractFilableCmisObject.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/AbstractFilableCmisObject.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/AbstractFilableCmisObject.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/AbstractFilableCmisObject.java Thu Aug 9 15:04:46 2012
@@ -67,7 +67,7 @@ public abstract class AbstractFilableCmi
// get id property
PropertyData<?> idProperty = p.getObject().getProperties().getProperties().get(PropertyIds.OBJECT_ID);
- if (!(idProperty instanceof PropertyId)) {
+ if (!(idProperty instanceof PropertyId) && !(idProperty instanceof PropertyString)) {
// the repository sent an object without a valid object id...
throw new CmisRuntimeException("Repository sent invalid data! No object id!");
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/FolderImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/FolderImpl.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/FolderImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/FolderImpl.java Thu Aug 9 15:04:46 2012
@@ -418,7 +418,7 @@ public class FolderImpl extends Abstract
// get id property
PropertyData<?> idProperty = bindingParent.getProperties().getProperties().get(PropertyIds.OBJECT_ID);
- if (!(idProperty instanceof PropertyId)) {
+ if (!(idProperty instanceof PropertyId) && !(idProperty instanceof PropertyString)) {
// the repository sent an object without a valid object id...
throw new CmisRuntimeException("Repository sent invalid data! No object id!");
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameter.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameter.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameter.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameter.java Thu Aug 9 15:04:46 2012
@@ -57,6 +57,7 @@ public final class SessionParameter {
/** URL of the Browser Binding entry point. */
public static final String BROWSER_URL = "org.apache.chemistry.opencmis.binding.browser.url";
+ public static final String BROWSER_SUCCINCT = "org.apache.chemistry.opencmis.binding.browser.succinct";
/** Factory class name for the local binding. */
public static final String LOCAL_FACTORY = "org.apache.chemistry.opencmis.binding.local.classname";
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConverter.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConverter.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConverter.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConverter.java Thu Aug 9 15:04:46 2012
@@ -1539,7 +1539,7 @@ public class JSONConverter {
/**
* Converts an object.
*/
- public static ObjectData convertObject(Map<String, Object> json) {
+ public static ObjectData convertObject(Map<String, Object> json, TypeCache typeCache) {
if (json == null) {
return null;
}
@@ -1561,10 +1561,19 @@ public class JSONConverter {
}
result.setIsExactAcl(getBoolean(json, JSON_OBJECT_EXACT_ACL));
result.setPolicyIds(convertPolicyIds(getMap(json.get(JSON_OBJECT_POLICY_IDS))));
- result.setProperties(convertProperties(getMap(json.get(JSON_OBJECT_PROPERTIES))));
+
+ Map<String, Object> propMap = getMap(json.get(JSON_OBJECT_SUCCINCT_PROPERTIES));
+ if (propMap != null) {
+ result.setProperties(convertSuccinctProperties(propMap, typeCache));
+ }
+ propMap = getMap(json.get(JSON_OBJECT_PROPERTIES));
+ if (propMap != null) {
+ result.setProperties(convertProperties(propMap));
+ }
+
List<Object> jsonRelationships = getList(json.get(JSON_OBJECT_RELATIONSHIPS));
if (jsonRelationships != null) {
- result.setRelationships(convertObjects(jsonRelationships));
+ result.setRelationships(convertObjects(jsonRelationships, typeCache));
}
List<Object> jsonRenditions = getList(json.get(JSON_OBJECT_RENDITIONS));
if (jsonRenditions != null) {
@@ -1579,14 +1588,14 @@ public class JSONConverter {
/**
* Converts an object.
*/
- public static List<ObjectData> convertObjects(List<Object> json) {
+ public static List<ObjectData> convertObjects(List<Object> json, TypeCache typeCache) {
if (json == null) {
return null;
}
List<ObjectData> result = new ArrayList<ObjectData>();
for (Object obj : json) {
- ObjectData relationship = convertObject(getMap(obj));
+ ObjectData relationship = convertObject(getMap(obj), typeCache);
if (relationship != null) {
result.add(relationship);
}
@@ -1904,6 +1913,253 @@ public class JSONConverter {
}
/**
+ * Converts properties.
+ */
+ @SuppressWarnings("unchecked")
+ public static Properties convertSuccinctProperties(Map<String, Object> json, TypeCache typeCache) {
+ if (json == null) {
+ return null;
+ }
+
+ TypeDefinition typeDef = null;
+ if (json.get(PropertyIds.OBJECT_TYPE_ID) instanceof String) {
+ typeDef = typeCache.getTypeDefinition((String) json.get(PropertyIds.OBJECT_TYPE_ID));
+ }
+
+ PropertiesImpl result = new PropertiesImpl();
+
+ for (Map.Entry<String, Object> entry : json.entrySet()) {
+ String id = entry.getKey();
+ PropertyDefinition<?> propDef = (typeDef == null ? null : typeDef.getPropertyDefinitions().get(id));
+
+ List<Object> values = null;
+ if (entry.getValue() instanceof List) {
+ values = (List<Object>) entry.getValue();
+ } else if (entry.getValue() != null) {
+ values = Collections.singletonList(entry.getValue());
+ }
+
+ AbstractPropertyData<?> property = null;
+
+ if (propDef != null) {
+ switch (propDef.getPropertyType()) {
+ case STRING:
+ property = new PropertyStringImpl();
+ {
+ List<String> propertyValues = null;
+ if (values != null) {
+ propertyValues = new ArrayList<String>();
+ for (Object obj : values) {
+ if (obj instanceof String) {
+ propertyValues.add(obj.toString());
+ } else {
+ throw new CmisRuntimeException("Invalid property value: " + obj);
+ }
+ }
+ }
+ ((PropertyStringImpl) property).setValues(propertyValues);
+ }
+ break;
+ case ID:
+ property = new PropertyIdImpl();
+ {
+ List<String> propertyValues = null;
+ if (values != null) {
+ propertyValues = new ArrayList<String>();
+ for (Object obj : values) {
+ if (obj instanceof String) {
+ propertyValues.add(obj.toString());
+ } else {
+ throw new CmisRuntimeException("Invalid property value: " + obj);
+ }
+ }
+ }
+ ((PropertyIdImpl) property).setValues(propertyValues);
+ }
+ break;
+ case BOOLEAN:
+ property = new PropertyBooleanImpl();
+ {
+ List<Boolean> propertyValues = null;
+ if (values != null) {
+ propertyValues = new ArrayList<Boolean>();
+ for (Object obj : values) {
+ if (obj instanceof Boolean) {
+ propertyValues.add((Boolean) obj);
+ } else {
+ throw new CmisRuntimeException("Invalid property value: " + obj);
+ }
+ }
+ }
+ ((PropertyBooleanImpl) property).setValues(propertyValues);
+ }
+ break;
+ case INTEGER:
+ property = new PropertyIntegerImpl();
+ {
+ List<BigInteger> propertyValues = null;
+ if (values != null) {
+ propertyValues = new ArrayList<BigInteger>();
+ for (Object obj : values) {
+ if (obj instanceof BigInteger) {
+ propertyValues.add((BigInteger) obj);
+ } else {
+ throw new CmisRuntimeException("Invalid property value: " + obj);
+ }
+ }
+ }
+ ((PropertyIntegerImpl) property).setValues(propertyValues);
+ }
+ break;
+ case DECIMAL:
+ property = new PropertyDecimalImpl();
+ {
+ List<BigDecimal> propertyValues = null;
+ if (values != null) {
+ propertyValues = new ArrayList<BigDecimal>();
+ for (Object obj : values) {
+ if (obj instanceof BigDecimal) {
+ propertyValues.add((BigDecimal) obj);
+ } else if (obj instanceof BigInteger) {
+ propertyValues.add(new BigDecimal((BigInteger) obj));
+ } else {
+ throw new CmisRuntimeException("Invalid property value: " + obj);
+ }
+ }
+ }
+ ((PropertyDecimalImpl) property).setValues(propertyValues);
+ }
+ break;
+ case DATETIME:
+ property = new PropertyDateTimeImpl();
+ {
+ List<GregorianCalendar> propertyValues = null;
+ if (values != null) {
+ propertyValues = new ArrayList<GregorianCalendar>();
+ for (Object obj : values) {
+ if (obj instanceof Number) {
+ GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
+ cal.setTimeInMillis(((Number) obj).longValue());
+ propertyValues.add(cal);
+ } else {
+ throw new CmisRuntimeException("Invalid property value: " + obj);
+ }
+ }
+ }
+ ((PropertyDateTimeImpl) property).setValues(propertyValues);
+ }
+ break;
+ case HTML:
+ property = new PropertyHtmlImpl();
+ {
+ List<String> propertyValues = null;
+ if (values != null) {
+ propertyValues = new ArrayList<String>();
+ for (Object obj : values) {
+ if (obj instanceof String) {
+ propertyValues.add(obj.toString());
+ } else {
+ throw new CmisRuntimeException("Invalid property value: " + obj);
+ }
+ }
+ }
+ ((PropertyHtmlImpl) property).setValues(propertyValues);
+ }
+ break;
+ case URI:
+ property = new PropertyUriImpl();
+ {
+ List<String> propertyValues = null;
+ if (values != null) {
+ propertyValues = new ArrayList<String>();
+ for (Object obj : values) {
+ if (obj instanceof String) {
+ propertyValues.add(obj.toString());
+ } else {
+ throw new CmisRuntimeException("Invalid property value: " + obj);
+ }
+ }
+ }
+ ((PropertyUriImpl) property).setValues(propertyValues);
+ }
+ break;
+ }
+
+ property.setId(id);
+ property.setDisplayName(propDef.getDisplayName());
+ property.setQueryName(propDef.getQueryName());
+ property.setLocalName(propDef.getLocalName());
+ } else {
+ // this else block should only be reached in rare circumstances
+ // it may return incorrect types
+
+ if (values == null) {
+ property = new PropertyStringImpl();
+ ((PropertyStringImpl) property).setValues(null);
+ } else {
+ Object firstValue = values.get(0);
+ if (firstValue instanceof Boolean) {
+ property = new PropertyBooleanImpl();
+ List<Boolean> propertyValues = new ArrayList<Boolean>();
+ for (Object obj : values) {
+ if (obj instanceof Boolean) {
+ propertyValues.add((Boolean) obj);
+ } else {
+ throw new CmisRuntimeException("Invalid property value: " + obj);
+ }
+ }
+ ((PropertyBooleanImpl) property).setValues(propertyValues);
+ } else if (firstValue instanceof BigInteger) {
+ property = new PropertyIntegerImpl();
+ List<BigInteger> propertyValues = new ArrayList<BigInteger>();
+ for (Object obj : values) {
+ if (obj instanceof BigInteger) {
+ propertyValues.add((BigInteger) obj);
+ } else {
+ throw new CmisRuntimeException("Invalid property value: " + obj);
+ }
+ }
+ ((PropertyIntegerImpl) property).setValues(propertyValues);
+ } else if (firstValue instanceof BigDecimal) {
+ property = new PropertyDecimalImpl();
+ List<BigDecimal> propertyValues = new ArrayList<BigDecimal>();
+ for (Object obj : values) {
+ if (obj instanceof BigDecimal) {
+ propertyValues.add((BigDecimal) obj);
+ } else if (obj instanceof BigInteger) {
+ propertyValues.add(new BigDecimal((BigInteger) obj));
+ } else {
+ throw new CmisRuntimeException("Invalid property value: " + obj);
+ }
+ }
+ ((PropertyDecimalImpl) property).setValues(propertyValues);
+ } else {
+ property = new PropertyStringImpl();
+ List<String> propertyValues = new ArrayList<String>();
+ for (Object obj : values) {
+ if (obj instanceof String) {
+ propertyValues.add((String) obj);
+ } else {
+ throw new CmisRuntimeException("Invalid property value: " + obj);
+ }
+ }
+ ((PropertyStringImpl) property).setValues(propertyValues);
+ }
+ }
+
+ property.setId(id);
+ property.setDisplayName(id);
+ property.setQueryName(null);
+ property.setLocalName(null);
+ }
+
+ result.addProperty(property);
+ }
+
+ return result;
+ }
+
+ /**
* Converts a rendition.
*/
public static RenditionData convertRendition(Map<String, Object> json) {
@@ -1950,7 +2206,7 @@ public class JSONConverter {
/**
* Converts a object list.
*/
- public static ObjectInFolderList convertObjectInFolderList(Map<String, Object> json) {
+ public static ObjectInFolderList convertObjectInFolderList(Map<String, Object> json, TypeCache typeCache) {
if (json == null) {
return null;
}
@@ -1964,7 +2220,7 @@ public class JSONConverter {
for (Object obj : jsonChildren) {
Map<String, Object> jsonObject = getMap(obj);
if (jsonObject != null) {
- objects.add(convertObjectInFolder(jsonObject));
+ objects.add(convertObjectInFolder(jsonObject, typeCache));
}
}
}
@@ -1981,14 +2237,14 @@ public class JSONConverter {
/**
* Converts an object in a folder.
*/
- public static ObjectInFolderData convertObjectInFolder(Map<String, Object> json) {
+ public static ObjectInFolderData convertObjectInFolder(Map<String, Object> json, TypeCache typeCache) {
if (json == null) {
return null;
}
ObjectInFolderDataImpl result = new ObjectInFolderDataImpl();
- result.setObject(convertObject(getMap(json.get(JSON_OBJECTINFOLDER_OBJECT))));
+ result.setObject(convertObject(getMap(json.get(JSON_OBJECTINFOLDER_OBJECT)), typeCache));
result.setPathSegment(getString(json, JSON_OBJECTINFOLDER_PATH_SEGMENT));
convertExtension(json, result, OBJECTINFOLDER_KEYS);
@@ -1999,7 +2255,7 @@ public class JSONConverter {
/**
* Converts a descendants tree.
*/
- public static List<ObjectInFolderContainer> convertDescendants(List<Object> json) {
+ public static List<ObjectInFolderContainer> convertDescendants(List<Object> json, TypeCache typeCache) {
if (json == null) {
return null;
}
@@ -2009,7 +2265,7 @@ public class JSONConverter {
for (Object obj : json) {
Map<String, Object> desc = getMap(obj);
if (desc != null) {
- result.add(convertDescendant(desc));
+ result.add(convertDescendant(desc, typeCache));
}
}
@@ -2019,14 +2275,14 @@ public class JSONConverter {
/**
* Converts a descendant.
*/
- public static ObjectInFolderContainer convertDescendant(Map<String, Object> json) {
+ public static ObjectInFolderContainer convertDescendant(Map<String, Object> json, TypeCache typeCache) {
if (json == null) {
return null;
}
ObjectInFolderContainerImpl result = new ObjectInFolderContainerImpl();
- result.setObject(convertObjectInFolder(getMap(json.get(JSON_OBJECTINFOLDERCONTAINER_OBJECT))));
+ result.setObject(convertObjectInFolder(getMap(json.get(JSON_OBJECTINFOLDERCONTAINER_OBJECT)), typeCache));
List<ObjectInFolderContainer> containerList = new ArrayList<ObjectInFolderContainer>();
List<Object> jsonContainerList = getList(json.get(JSON_OBJECTINFOLDERCONTAINER_CHILDREN));
@@ -2034,7 +2290,7 @@ public class JSONConverter {
for (Object obj : jsonContainerList) {
Map<String, Object> containerChild = getMap(obj);
if (containerChild != null) {
- containerList.add(convertDescendant(containerChild));
+ containerList.add(convertDescendant(containerChild, typeCache));
}
}
}
@@ -2049,7 +2305,7 @@ public class JSONConverter {
/**
* Converts an object parents list.
*/
- public static List<ObjectParentData> convertObjectParents(List<Object> json) {
+ public static List<ObjectParentData> convertObjectParents(List<Object> json, TypeCache typeCache) {
if (json == null) {
return null;
}
@@ -2061,7 +2317,7 @@ public class JSONConverter {
if (jsonParent != null) {
ObjectParentDataImpl parent = new ObjectParentDataImpl();
- parent.setObject(convertObject(getMap(jsonParent.get(JSON_OBJECTPARENTS_OBJECT))));
+ parent.setObject(convertObject(getMap(jsonParent.get(JSON_OBJECTPARENTS_OBJECT)), typeCache));
parent.setRelativePathSegment(getString(jsonParent, JSON_OBJECTPARENTS_RELATIVE_PATH_SEGMENT));
convertExtension(jsonParent, parent, OBJECTPARENTS_KEYS);
@@ -2076,7 +2332,7 @@ public class JSONConverter {
/**
* Converts a object list.
*/
- public static ObjectList convertObjectList(Map<String, Object> json, boolean isQueryResult) {
+ public static ObjectList convertObjectList(Map<String, Object> json, TypeCache typeCache, boolean isQueryResult) {
if (json == null) {
return null;
}
@@ -2091,7 +2347,7 @@ public class JSONConverter {
for (Object obj : jsonChildren) {
Map<String, Object> jsonObject = getMap(obj);
if (jsonObject != null) {
- objects.add(convertObject(jsonObject));
+ objects.add(convertObject(jsonObject, typeCache));
}
}
}
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=1371244&r1=1371243&r2=1371244&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 Thu Aug 9 15:04:46 2012
@@ -41,7 +41,6 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
import org.apache.chemistry.opencmis.commons.impl.TypeCache;
import org.apache.chemistry.opencmis.commons.impl.json.JSONObject;
-import org.apache.chemistry.opencmis.commons.impl.server.TypeCacheImpl;
import org.apache.chemistry.opencmis.commons.server.CallContext;
import org.apache.chemistry.opencmis.commons.server.CmisService;
import org.apache.chemistry.opencmis.commons.spi.Holder;
@@ -81,7 +80,7 @@ public class DiscoveryService {
throw new CmisRuntimeException("Results are null!");
}
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonResults = JSONConverter.convert(results, typeCache, true, succinct);
response.setStatus(HttpServletResponse.SC_OK);
@@ -106,7 +105,7 @@ public class DiscoveryService {
ObjectList changes = service.getContentChanges(repositoryId, changeLogTokenHolder, includeProperties, filter,
includePolicyIds, includeAcl, maxItems, null);
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonChanges = JSONConverter.convert(changes, typeCache, false, succinct);
jsonChanges.put(JSONConstants.JSON_OBJECTLIST_CHANGE_LOG_TOKEN, changeLogTokenHolder.getValue());
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/MultiFilingService.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/MultiFilingService.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/MultiFilingService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/MultiFilingService.java Thu Aug 9 15:04:46 2012
@@ -38,7 +38,6 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
import org.apache.chemistry.opencmis.commons.impl.TypeCache;
import org.apache.chemistry.opencmis.commons.impl.json.JSONObject;
-import org.apache.chemistry.opencmis.commons.impl.server.TypeCacheImpl;
import org.apache.chemistry.opencmis.commons.server.CallContext;
import org.apache.chemistry.opencmis.commons.server.CmisService;
import org.apache.chemistry.opencmis.commons.spi.Holder;
@@ -77,7 +76,7 @@ public class MultiFilingService {
response.setHeader("Location", location);
// return object
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
writeJSON(jsonObject, request, response);
@@ -111,7 +110,7 @@ public class MultiFilingService {
response.setHeader("Location", location);
// return object
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
writeJSON(jsonObject, request, response);
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=1371244&r1=1371243&r2=1371244&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 Thu Aug 9 15:04:46 2012
@@ -52,7 +52,6 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.impl.TypeCache;
import org.apache.chemistry.opencmis.commons.impl.json.JSONArray;
import org.apache.chemistry.opencmis.commons.impl.json.JSONObject;
-import org.apache.chemistry.opencmis.commons.impl.server.TypeCacheImpl;
import org.apache.chemistry.opencmis.commons.server.CallContext;
import org.apache.chemistry.opencmis.commons.server.CmisService;
@@ -91,7 +90,7 @@ public final class NavigationService {
throw new CmisRuntimeException("Children are null!");
}
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonChildren = JSONConverter.convert(children, typeCache, succinct);
response.setStatus(HttpServletResponse.SC_OK);
@@ -122,7 +121,7 @@ public final class NavigationService {
throw new CmisRuntimeException("Descendants are null!");
}
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONArray jsonDescendants = new JSONArray();
for (ObjectInFolderContainer descendant : descendants) {
jsonDescendants.add(JSONConverter.convert(descendant, typeCache, succinct));
@@ -156,7 +155,7 @@ public final class NavigationService {
throw new CmisRuntimeException("Folder Tree are null!");
}
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONArray jsonDescendants = new JSONArray();
for (ObjectInFolderContainer descendant : folderTree) {
jsonDescendants.add(JSONConverter.convert(descendant, typeCache, succinct));
@@ -183,7 +182,7 @@ public final class NavigationService {
throw new CmisRuntimeException("Parent is null!");
}
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonObject = JSONConverter.convert(parent, typeCache, false, succinct);
response.setStatus(HttpServletResponse.SC_OK);
@@ -213,7 +212,7 @@ public final class NavigationService {
throw new CmisRuntimeException("Parents are null!");
}
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONArray jsonParents = new JSONArray();
for (ObjectParentData parent : parents) {
jsonParents.add(JSONConverter.convert(parent, typeCache, succinct));
@@ -248,7 +247,7 @@ public final class NavigationService {
throw new CmisRuntimeException("Checked out list is null!");
}
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonCheckedOut = JSONConverter.convert(checkedout, typeCache, false, succinct);
response.setStatus(HttpServletResponse.SC_OK);
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=1371244&r1=1371243&r2=1371244&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 Thu Aug 9 15:04:46 2012
@@ -82,7 +82,6 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.impl.TypeCache;
import org.apache.chemistry.opencmis.commons.impl.json.JSONArray;
import org.apache.chemistry.opencmis.commons.impl.json.JSONObject;
-import org.apache.chemistry.opencmis.commons.impl.server.TypeCacheImpl;
import org.apache.chemistry.opencmis.commons.server.CallContext;
import org.apache.chemistry.opencmis.commons.server.CmisService;
import org.apache.chemistry.opencmis.commons.spi.Holder;
@@ -110,7 +109,7 @@ public final class ObjectService {
// execute
ControlParser cp = new ControlParser(request);
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
String newObjectId = service.createDocument(repositoryId, createProperties(cp, null, typeCache), folderId,
createContentStream(request), versioningState, createPolicies(cp), createAddAcl(cp),
@@ -145,7 +144,7 @@ public final class ObjectService {
// execute
ControlParser cp = new ControlParser(request);
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
ObjectData sourceDoc = getSimpleObject(service, repositoryId, sourceId);
PropertyData<?> sourceTypeId = sourceDoc.getProperties().getProperties().get(PropertyIds.OBJECT_TYPE_ID);
@@ -184,7 +183,7 @@ public final class ObjectService {
// execute
ControlParser cp = new ControlParser(request);
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
String newObjectId = service.createFolder(repositoryId, createProperties(cp, null, typeCache), folderId,
createPolicies(cp), createAddAcl(cp), createRemoveAcl(cp), null);
@@ -216,7 +215,7 @@ public final class ObjectService {
// execute
ControlParser cp = new ControlParser(request);
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
String newObjectId = service.createPolicy(repositoryId, createProperties(cp, null, typeCache), folderId,
createPolicies(cp), createAddAcl(cp), createRemoveAcl(cp), null);
@@ -247,7 +246,7 @@ public final class ObjectService {
// execute
ControlParser cp = new ControlParser(request);
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
String newObjectId = service.createRelationship(repositoryId, createProperties(cp, null, typeCache),
createPolicies(cp), createAddAcl(cp), createRemoveAcl(cp), null);
@@ -281,7 +280,7 @@ public final class ObjectService {
// execute
ControlParser cp = new ControlParser(request);
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
Holder<String> objectIdHolder = new Holder<String>(objectId);
Holder<String> changeTokenHolder = (changeToken == null ? null : new Holder<String>(changeToken));
@@ -335,7 +334,7 @@ public final class ObjectService {
}
// return object
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonObject = JSONConverter.convert(properties, objectId, typeCache, false, succinct);
response.setStatus(HttpServletResponse.SC_OK);
@@ -376,7 +375,7 @@ public final class ObjectService {
}
// return object
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
response.setStatus(HttpServletResponse.SC_OK);
@@ -541,7 +540,7 @@ public final class ObjectService {
response.setStatus(HttpServletResponse.SC_OK);
// return object
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
writeJSON(jsonObject, request, response);
@@ -578,7 +577,7 @@ public final class ObjectService {
response.setHeader("Location", location);
// return object
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
writeJSON(jsonObject, request, response);
@@ -613,7 +612,7 @@ public final class ObjectService {
response.setHeader("Location", location);
// return object
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
writeJSON(jsonObject, request, response);
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/PolicyService.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/PolicyService.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/PolicyService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/PolicyService.java Thu Aug 9 15:04:46 2012
@@ -38,7 +38,6 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.impl.TypeCache;
import org.apache.chemistry.opencmis.commons.impl.json.JSONArray;
import org.apache.chemistry.opencmis.commons.impl.json.JSONObject;
-import org.apache.chemistry.opencmis.commons.impl.server.TypeCacheImpl;
import org.apache.chemistry.opencmis.commons.server.CallContext;
import org.apache.chemistry.opencmis.commons.server.CmisService;
@@ -62,7 +61,7 @@ public class PolicyService {
JSONArray jsonPolicies = new JSONArray();
if (policies != null) {
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
for (ObjectData policy : policies) {
jsonPolicies.add(JSONConverter.convert(policy, typeCache, false, succinct));
}
@@ -93,7 +92,7 @@ public class PolicyService {
// return object
response.setStatus(HttpServletResponse.SC_OK);
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
writeJSON(jsonObject, request, response);
@@ -120,7 +119,7 @@ public class PolicyService {
// return object
response.setStatus(HttpServletResponse.SC_OK);
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
writeJSON(jsonObject, request, response);
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RelationshipService.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/RelationshipService.java?rev=1371244&r1=1371243&r2=1371244&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RelationshipService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RelationshipService.java Thu Aug 9 15:04:46 2012
@@ -43,7 +43,6 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
import org.apache.chemistry.opencmis.commons.impl.TypeCache;
import org.apache.chemistry.opencmis.commons.impl.json.JSONObject;
-import org.apache.chemistry.opencmis.commons.impl.server.TypeCacheImpl;
import org.apache.chemistry.opencmis.commons.server.CallContext;
import org.apache.chemistry.opencmis.commons.server.CmisService;
@@ -74,7 +73,7 @@ public class RelationshipService {
throw new CmisRuntimeException("Relationships are null!");
}
- TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
+ TypeCache typeCache = new ServerTypeCacheImpl(repositoryId, service);
JSONObject jsonChildren = JSONConverter.convert(relationships, typeCache, false, succinct);
response.setStatus(HttpServletResponse.SC_OK);