CMIS Relationship support in AtomPub binding

- getRelationships
- getRelationship
- createRelationship
- unit tests for above

TODO: delete relationship, includeRelationships flag

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14461 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2009-05-27 22:11:31 +00:00
parent 0e56f7f40c
commit 47da70f4df
23 changed files with 622 additions and 77 deletions

View File

@@ -27,6 +27,7 @@ package org.alfresco.repo.cmis.rest;
import java.util.List;
import org.alfresco.cmis.CMISServices;
import org.alfresco.repo.template.TemplateAssociation;
import org.alfresco.repo.template.TemplateNode;
import freemarker.ext.beans.BeanModel;
@@ -76,14 +77,6 @@ public final class CMISPropertyValueMethod implements TemplateMethodModelEx
Object arg0 = args.get(0);
if (arg0 instanceof BeanModel)
{
// extract node
TemplateNode node = null;
Object wrapped = ((BeanModel)arg0).getWrappedObject();
if (wrapped != null && wrapped instanceof TemplateNode)
{
node = (TemplateNode)wrapped;
}
// extract property name
String propertyName = null;
Object arg1 = args.get(1);
@@ -92,8 +85,18 @@ public final class CMISPropertyValueMethod implements TemplateMethodModelEx
propertyName = ((TemplateScalarModel)arg1).getAsString();
}
// retrieve property value
result = cmisService.getProperty(node.getNodeRef(), propertyName);
// extract node
Object wrapped = ((BeanModel)arg0).getWrappedObject();
if (wrapped != null && wrapped instanceof TemplateNode)
{
// retrieve property value from node
result = cmisService.getProperty(((TemplateNode)wrapped).getNodeRef(), propertyName);
}
else if (wrapped != null && wrapped instanceof TemplateAssociation)
{
// retrieve property value from node
result = cmisService.getProperty(((TemplateAssociation)wrapped).getAssociationRef(), propertyName);
}
}
}