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/29 10:32:31 UTC
svn commit: r1378475 -
/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java
Author: fmui
Date: Wed Aug 29 08:32:30 2012
New Revision: 1378475
URL: http://svn.apache.org/viewvc?rev=1378475&view=rev
Log:
CMIS-565: fixed createDocument with versioning state checkedout
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.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/SessionImpl.java?rev=1378475&r1=1378474&r2=1378475&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java Wed Aug 29 08:32:30 2012
@@ -88,9 +88,14 @@ public class SessionImpl implements Sess
IncludeRelationships.NONE, null, true, null, true, 100);
private static final Set<Updatability> CREATE_UPDATABILITY = new HashSet<Updatability>();
+ private static final Set<Updatability> CREATE_AND_CHECKOUT_UPDATABILITY = new HashSet<Updatability>();
+
static {
CREATE_UPDATABILITY.add(Updatability.ONCREATE);
CREATE_UPDATABILITY.add(Updatability.READWRITE);
+ CREATE_AND_CHECKOUT_UPDATABILITY.add(Updatability.ONCREATE);
+ CREATE_AND_CHECKOUT_UPDATABILITY.add(Updatability.READWRITE);
+ CREATE_AND_CHECKOUT_UPDATABILITY.add(Updatability.WHENCHECKEDOUT);
}
// private static Logger log = LoggerFactory.getLogger(SessionImpl.class);
@@ -718,10 +723,13 @@ public class SessionImpl implements Sess
throw new IllegalArgumentException("Properties must not be empty!");
}
- String newId = getBinding().getObjectService().createDocument(getRepositoryId(),
- objectFactory.convertProperties(properties, null, CREATE_UPDATABILITY),
- (folderId == null ? null : folderId.getId()), objectFactory.convertContentStream(contentStream),
- versioningState, objectFactory.convertPolicies(policies), objectFactory.convertAces(addAces),
+ String newId = getBinding().getObjectService().createDocument(
+ getRepositoryId(),
+ objectFactory.convertProperties(properties, null,
+ (versioningState == VersioningState.CHECKEDOUT ? CREATE_AND_CHECKOUT_UPDATABILITY
+ : CREATE_UPDATABILITY)), (folderId == null ? null : folderId.getId()),
+ objectFactory.convertContentStream(contentStream), versioningState,
+ objectFactory.convertPolicies(policies), objectFactory.convertAces(addAces),
objectFactory.convertAces(removeAces), null);
if (newId == null) {
@@ -750,10 +758,14 @@ public class SessionImpl implements Sess
throw new IllegalArgumentException("Source object must be a document!");
}
- String newId = getBinding().getObjectService().createDocumentFromSource(getRepositoryId(), source.getId(),
- objectFactory.convertProperties(properties, type, CREATE_UPDATABILITY),
- (folderId == null ? null : folderId.getId()), versioningState, objectFactory.convertPolicies(policies),
- objectFactory.convertAces(addAces), objectFactory.convertAces(removeAces), null);
+ String newId = getBinding().getObjectService().createDocumentFromSource(
+ getRepositoryId(),
+ source.getId(),
+ objectFactory.convertProperties(properties, type,
+ (versioningState == VersioningState.CHECKEDOUT ? CREATE_AND_CHECKOUT_UPDATABILITY
+ : CREATE_UPDATABILITY)), (folderId == null ? null : folderId.getId()), versioningState,
+ objectFactory.convertPolicies(policies), objectFactory.convertAces(addAces),
+ objectFactory.convertAces(removeAces), null);
if (newId == null) {
return null;