Author: fmui
Date: Mon Aug 8 12:53:15 2016
New Revision: 1755503
URL: http://svn.apache.org/viewvc?rev=1755503&view=rev
Log:
Client: added another workaround for SharePoint
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/VersioningServiceImpl.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-workbench/chemistry-opencmis-workbench/src/main/resources/configs/sharepoint-2010-atompub.properties
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/configs/sharepoint-2013-atompub.properties
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/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/atompub/VersioningServiceImpl.java?rev=1755503&r1=1755502&r2=1755503&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/VersioningServiceImpl.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/VersioningServiceImpl.java
Mon Aug 8 12:53:15 2016
@@ -325,6 +325,26 @@ public class VersioningServiceImpl exten
returnVersion = ReturnVersion.LASTESTMAJOR;
}
+ // workaround for SharePoint - use the version series ID instead of the
+ // object ID
+ if
(getSession().get(SessionParameter.LATEST_VERSION_WITH_VERSION_SERIES_ID,
false)) {
+ if (versionSeriesId != null) {
+ objectId = versionSeriesId;
+ } else {
+ ObjectData obj = getObjectInternal(repositoryId,
IdentifierType.ID, objectId, null,
+ PropertyIds.OBJECT_ID + "," +
PropertyIds.VERSION_SERIES_ID, Boolean.FALSE,
+ IncludeRelationships.NONE, "cmis:none", Boolean.FALSE,
Boolean.FALSE, extension);
+
+ if (obj.getProperties() != null &&
obj.getProperties().getProperties() != null) {
+ PropertyData<?> versionSeriesProp =
obj.getProperties().getProperties()
+ .get(PropertyIds.VERSION_SERIES_ID);
+ if (versionSeriesProp != null &&
versionSeriesProp.getFirstValue() instanceof String) {
+ objectId = (String) versionSeriesProp.getFirstValue();
+ }
+ }
+ }
+ }
+
return getObjectInternal(repositoryId, IdentifierType.ID, objectId,
returnVersion, filter,
includeAllowableActions, includeRelationships,
renditionFilter, includePolicyIds, includeACL, extension);
}
@@ -332,15 +352,7 @@ public class VersioningServiceImpl exten
@Override
public Properties getPropertiesOfLatestVersion(String repositoryId, String
objectId, String versionSeriesId,
Boolean major, String filter, ExtensionsData extension) {
-
- ReturnVersion returnVersion = ReturnVersion.LATEST;
- if ((major != null) && (major.booleanValue())) {
- returnVersion = ReturnVersion.LASTESTMAJOR;
- }
-
- ObjectData object = getObjectInternal(repositoryId, IdentifierType.ID,
objectId, returnVersion, filter,
- Boolean.FALSE, IncludeRelationships.NONE, "cmis:none",
Boolean.FALSE, Boolean.FALSE, extension);
-
- return object.getProperties();
+ return getObjectOfLatestVersion(repositoryId, objectId,
versionSeriesId, major, filter, Boolean.FALSE,
+ IncludeRelationships.NONE, "cmis:none", Boolean.FALSE,
Boolean.FALSE, extension).getProperties();
}
}
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=1755503&r1=1755502&r2=1755503&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
Mon Aug 8 12:53:15 2016
@@ -594,6 +594,16 @@ package org.apache.chemistry.opencmis.co
* <td>no</td>
* <td>"false"</td>
* </tr>
+ * <tr>
+ * <td>{@link #LATEST_VERSION_WITH_VERSION_SERIES_ID}</td>
+ * <td>Defines if getObjectOfLatestVersion should use the version series ID
+ * instead of the object ID<br>
+ * (Workaround for SharePoint 2010 and SharePoint 2013)</td>
+ * <td>AtomPub</td>
+ * <td>"true", "false"</td>
+ * <td>no</td>
+ * <td>"false"</td>
+ * </tr>
* </table>
*/
public final class SessionParameter {
@@ -746,6 +756,7 @@ public final class SessionParameter {
public static final String INCLUDE_OBJECTID_URL_PARAM_ON_MOVE =
"org.apache.chemistry.opencmis.workaround.includeObjectIdOnMove";
public static final String OMIT_CHANGE_TOKENS =
"org.apache.chemistry.opencmis.workaround.omitChangeTokens";
public static final String ADD_NAME_ON_CHECK_IN =
"org.apache.chemistry.opencmis.workaround.addNameOnCheckIn";
+ public static final String LATEST_VERSION_WITH_VERSION_SERIES_ID =
"org.apache.chemistry.opencmis.workaround.getLatestVersionWithVersionSeriesId";
// utility class
private SessionParameter() {
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/configs/sharepoint-2010-atompub.properties
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/configs/sharepoint-2010-atompub.properties?rev=1755503&r1=1755502&r2=1755503&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/configs/sharepoint-2010-atompub.properties
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/configs/sharepoint-2010-atompub.properties
Mon Aug 8 12:53:15 2016
@@ -31,5 +31,6 @@ org.apache.chemistry.opencmis.workaround
org.apache.chemistry.opencmis.workaround.includeObjectIdOnMove=true
org.apache.chemistry.opencmis.workaround.omitChangeTokens=true
org.apache.chemistry.opencmis.workaround.addNameOnCheckIn=true
+org.apache.chemistry.opencmis.workaround.getLatestVersionWithVersionSeriesId=true
cmis.workbench.folder.filter=*
\ No newline at end of file
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/configs/sharepoint-2013-atompub.properties
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/configs/sharepoint-2013-atompub.properties?rev=1755503&r1=1755502&r2=1755503&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/configs/sharepoint-2013-atompub.properties
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/configs/sharepoint-2013-atompub.properties
Mon Aug 8 12:53:15 2016
@@ -28,5 +28,6 @@ org.apache.chemistry.opencmis.password=<
org.apache.chemistry.opencmis.workaround.omitChangeTokens=true
org.apache.chemistry.opencmis.workaround.addNameOnCheckIn=true
+org.apache.chemistry.opencmis.workaround.getLatestVersionWithVersionSeriesId=true
cmis.workbench.folder.filter=*
\ No newline at end of file