MOB-378 (AtomPub binding) Support for sub-types (and properties)

- 1st pass at creation of document / folder sub-types
- 1st pass at setting / updating custom properties
- Existing AtomPub CMIS Tests passing

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13707 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2009-03-22 15:23:53 +00:00
parent 3f78bf9b32
commit 384f4abdf9
25 changed files with 417 additions and 272 deletions

View File

@@ -27,8 +27,10 @@ package org.alfresco.cmis.property;
import java.io.Serializable;
import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISMapping;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode;
import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.dictionary.PropertyDefinition;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
@@ -48,13 +50,23 @@ import org.apache.lucene.search.BooleanClause.Occur;
*/
public class MappingPropertyAccessor extends AbstractGenericPropertyAccessor
{
protected MappingPropertyAccessor(CMISMapping cmisMapping, ServiceRegistry serviceRegistry)
{
super(cmisMapping, serviceRegistry);
}
public Serializable getProperty(NodeRef nodeRef, String propertyName)
{
QName propertyQname = getCMISMapping().getPropertyQName(propertyName);
return getServiceRegistry().getNodeService().getProperty(nodeRef, propertyQname);
}
public void setProperty(NodeRef nodeRef, String propertyName, Serializable value)
{
QName propertyQname = getCMISMapping().getPropertyQName(propertyName);
getServiceRegistry().getNodeService().setProperty(nodeRef, propertyQname, value);
}
private String getLuceneFieldName(QName propertyQname)
@@ -277,6 +289,6 @@ public class MappingPropertyAccessor extends AbstractGenericPropertyAccessor
QName propertyQname = getCMISMapping().getPropertyQName(propertyName);
return getLuceneFieldName(propertyQname);
}
}