You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by je...@apache.org on 2011/04/27 18:14:32 UTC
svn commit: r1097167 - in
/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server:
AtomLinkInfoProvider.java InMemoryVersioningServiceImpl.java
Author: jens
Date: Wed Apr 27 16:14:32 2011
New Revision: 1097167
URL: http://svn.apache.org/viewvc?rev=1097167&view=rev
Log:
Fill ObjectData in ObjectInfoHolder
Check
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/AtomLinkInfoProvider.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryVersioningServiceImpl.java
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/AtomLinkInfoProvider.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/AtomLinkInfoProvider.java?rev=1097167&r1=1097166&r2=1097167&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/AtomLinkInfoProvider.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/AtomLinkInfoProvider.java Wed Apr 27 16:14:32 2011
@@ -27,6 +27,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.data.ObjectList;
import org.apache.chemistry.opencmis.commons.data.ObjectParentData;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
+import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
import org.apache.chemistry.opencmis.commons.impl.server.ObjectInfoImpl;
import org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler;
import org.apache.chemistry.opencmis.inmemory.storedobj.api.Content;
@@ -36,6 +37,7 @@ import org.apache.chemistry.opencmis.inm
import org.apache.chemistry.opencmis.inmemory.storedobj.api.StoreManager;
import org.apache.chemistry.opencmis.inmemory.storedobj.api.StoredObject;
import org.apache.chemistry.opencmis.inmemory.storedobj.api.VersionedDocument;
+import org.apache.chemistry.opencmis.inmemory.types.PropertyCreationHelper;
/**
* For the Atom binding more information might be required than the result of a
@@ -142,7 +144,10 @@ public class AtomLinkInfoProvider {
}
public void fillInformationForAtomLinks(String repositoryId, StoredObject so, ObjectInfoImpl objectInfo) {
- fillInformationForAtomLinks(repositoryId, so, null, objectInfo);
+ TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
+ ObjectData od = PropertyCreationHelper.getObjectData(td, so, null, null, false,
+ IncludeRelationships.NONE, null, false, false, null);
+ fillInformationForAtomLinks(repositoryId, so, od, objectInfo);
}
/**
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryVersioningServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryVersioningServiceImpl.java?rev=1097167&r1=1097166&r2=1097167&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryVersioningServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryVersioningServiceImpl.java Wed Apr 27 16:14:32 2011
@@ -147,26 +147,32 @@ public class InMemoryVersioningServiceIm
public List<ObjectData> getAllVersions(CallContext context, String repositoryId, String objectId, String versionSeriesId,
String filter, Boolean includeAllowableActions, ExtensionsData extension, ObjectInfoHandler objectInfos) {
-
- if (null == versionSeriesId) {
- throw new CmisInvalidArgumentException("getAllVersions requires a version series id, but ist was null.");
- }
-
- StoredObject so = validator.getAllVersions(context, repositoryId, objectId, versionSeriesId, extension);
-
- if (!(so instanceof VersionedDocument)) {
- throw new CmisInvalidArgumentException("Object is not instance of a VersionedDocument (version series)");
- }
-
- VersionedDocument verDoc = (VersionedDocument) so;
+
+ StoredObject so;
List<ObjectData> res = new ArrayList<ObjectData>();
- List<DocumentVersion> versions = verDoc.getAllVersions();
- for (DocumentVersion version : versions) {
- ObjectData objData = getObject(context, repositoryId, version.getId(), filter, includeAllowableActions,
- extension, objectInfos);
- res.add(objData);
- }
+ if (null == versionSeriesId)
+ versionSeriesId = objectId;
+ if (null == versionSeriesId)
+ throw new CmisInvalidArgumentException("getAllVersions requires a version series id, but ist was null.");
+ so = validator.getAllVersions(context, repositoryId, objectId, versionSeriesId, extension);
+
+ if (!(so instanceof VersionedDocument)) {
+ so = validator.getObject(context, repositoryId, objectId, extension);
+ ObjectData objData = getObject(context, repositoryId, objectId, filter, includeAllowableActions,
+ extension, objectInfos);
+ res.add(objData);
+ }
+
+ VersionedDocument verDoc = (VersionedDocument) so;
+ res = new ArrayList<ObjectData>();
+ List<DocumentVersion> versions = verDoc.getAllVersions();
+ for (DocumentVersion version : versions) {
+ ObjectData objData = getObject(context, repositoryId, version.getId(), filter, includeAllowableActions,
+ extension, objectInfos);
+ res.add(objData);
+ }
+
// provide information for Atom links for version series:
if (context.isObjectInfoRequired()) {
ObjectInfoImpl objectInfo = new ObjectInfoImpl();