mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
OpenCMIS server refactoring
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29544 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -18,7 +18,6 @@
|
||||
*/
|
||||
package org.alfresco.opencmis.mapping;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
@@ -32,8 +31,6 @@ import org.alfresco.opencmis.dictionary.CMISDictionaryService;
|
||||
import org.alfresco.opencmis.dictionary.CMISPropertyAccessor;
|
||||
import org.alfresco.opencmis.dictionary.PropertyAccessorMapping;
|
||||
import org.alfresco.service.ServiceRegistry;
|
||||
import org.alfresco.service.cmr.repository.AssociationRef;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.security.PermissionService;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
import org.apache.chemistry.opencmis.commons.PropertyIds;
|
||||
@@ -61,7 +58,7 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping,
|
||||
private CMISDictionaryService cmisDictionaryService;
|
||||
|
||||
private Map<String, AbstractProperty> propertyAccessors = new HashMap<String, AbstractProperty>();
|
||||
private Map<BaseTypeId, Map<Action, CMISActionEvaluator<? extends Object>>> actionEvaluators = new HashMap<BaseTypeId, Map<Action, CMISActionEvaluator<? extends Object>>>();
|
||||
private Map<BaseTypeId, Map<Action, CMISActionEvaluator>> actionEvaluators = new HashMap<BaseTypeId, Map<Action, CMISActionEvaluator>>();
|
||||
|
||||
/**
|
||||
* @param service
|
||||
@@ -111,47 +108,38 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping,
|
||||
// Property Mappings
|
||||
//
|
||||
|
||||
registerPropertyAccessor(new ObjectIdProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new NodeRefProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new ObjectTypeIdProperty(serviceRegistry, cmisDictionaryService));
|
||||
registerPropertyAccessor(new BaseTypeIdProperty(serviceRegistry, cmisDictionaryService));
|
||||
registerPropertyAccessor(new DirectProperty(serviceRegistry, PropertyIds.CREATED_BY, ContentModel.PROP_CREATOR));
|
||||
registerPropertyAccessor(new DirectProperty(serviceRegistry, PropertyIds.CREATION_DATE,
|
||||
ContentModel.PROP_CREATED));
|
||||
registerPropertyAccessor(new DirectProperty(serviceRegistry, PropertyIds.LAST_MODIFIED_BY,
|
||||
registerPropertyAccessor(new ObjectIdProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new NodeRefProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new ObjectTypeIdProperty(serviceRegistry, cmisConnector, cmisDictionaryService));
|
||||
registerPropertyAccessor(new BaseTypeIdProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new DirectProperty(serviceRegistry, cmisConnector, PropertyIds.CREATED_BY,
|
||||
ContentModel.PROP_CREATOR));
|
||||
registerPropertyAccessor(new CreationDateProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new DirectProperty(serviceRegistry, cmisConnector, PropertyIds.LAST_MODIFIED_BY,
|
||||
ContentModel.PROP_MODIFIER));
|
||||
registerPropertyAccessor(new DirectProperty(serviceRegistry, PropertyIds.LAST_MODIFICATION_DATE,
|
||||
ContentModel.PROP_MODIFIED));
|
||||
registerPropertyAccessor(new FixedValueProperty(serviceRegistry, PropertyIds.CHANGE_TOKEN, null));
|
||||
registerPropertyAccessor(new DirectProperty(serviceRegistry, PropertyIds.NAME, ContentModel.PROP_NAME)
|
||||
{
|
||||
@Override
|
||||
public Serializable getValue(AssociationRef assocRef)
|
||||
{
|
||||
// Let's use the association ref as the name
|
||||
return assocRef.toString();
|
||||
}
|
||||
});
|
||||
registerPropertyAccessor(new IsImmutableProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new IsLatestVersionProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new IsMajorVersionProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new IsLatestMajorVersionProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new VersionLabelProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new VersionSeriesIdProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new IsVersionSeriesCheckedOutProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new VersionSeriesCheckedOutByProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new VersionSeriesCheckedOutIdProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new CheckinCommentProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new ContentStreamLengthProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new ContentStreamMimetypeProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new ContentStreamIdProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new DirectProperty(serviceRegistry, PropertyIds.CONTENT_STREAM_FILE_NAME,
|
||||
ContentModel.PROP_NAME));
|
||||
registerPropertyAccessor(new ParentProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new ModificationDateProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new FixedValueProperty(serviceRegistry, cmisConnector, PropertyIds.CHANGE_TOKEN, null));
|
||||
registerPropertyAccessor(new NameProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new IsImmutableProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new IsLatestVersionProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new IsMajorVersionProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new IsLatestMajorVersionProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new VersionLabelProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new VersionSeriesIdProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new IsVersionSeriesCheckedOutProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new VersionSeriesCheckedOutByProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new VersionSeriesCheckedOutIdProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new CheckinCommentProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new ContentStreamLengthProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new ContentStreamMimetypeProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new ContentStreamIdProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new DirectProperty(serviceRegistry, cmisConnector,
|
||||
PropertyIds.CONTENT_STREAM_FILE_NAME, ContentModel.PROP_NAME));
|
||||
registerPropertyAccessor(new ParentProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new PathProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new AllowedChildObjectTypeIdsProperty(serviceRegistry, cmisMapping));
|
||||
registerPropertyAccessor(new SourceIdProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new TargetIdProperty(serviceRegistry));
|
||||
registerPropertyAccessor(new AllowedChildObjectTypeIdsProperty(serviceRegistry, cmisConnector, cmisMapping));
|
||||
registerPropertyAccessor(new SourceIdProperty(serviceRegistry, cmisConnector));
|
||||
registerPropertyAccessor(new TargetIdProperty(serviceRegistry, cmisConnector));
|
||||
|
||||
//
|
||||
// Action Evaluator Mappings
|
||||
@@ -169,10 +157,11 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping,
|
||||
PermissionService.WRITE_PROPERTIES), false));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new PermissionActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_PROPERTIES, PermissionService.READ_PROPERTIES));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_OBJECT_RELATIONSHIPS, true));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new ParentActionEvaluator(new PermissionActionEvaluator(
|
||||
serviceRegistry, Action.CAN_GET_OBJECT_PARENTS, PermissionService.READ_PERMISSIONS)));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new ParentActionEvaluator(cmisConnector,
|
||||
new PermissionActionEvaluator(serviceRegistry, Action.CAN_GET_OBJECT_PARENTS,
|
||||
PermissionService.READ_PERMISSIONS)));
|
||||
// Is CAN_MOVE correct mapping?
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new CurrentVersionEvaluator(serviceRegistry,
|
||||
new PermissionActionEvaluator(serviceRegistry, Action.CAN_MOVE_OBJECT, PermissionService.DELETE_NODE),
|
||||
@@ -187,26 +176,25 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping,
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new CurrentVersionEvaluator(serviceRegistry,
|
||||
new PermissionActionEvaluator(serviceRegistry, Action.CAN_SET_CONTENT_STREAM,
|
||||
PermissionService.WRITE_CONTENT), false));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_ALL_VERSIONS, true));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new CurrentVersionEvaluator(serviceRegistry,
|
||||
new ParentActionEvaluator(new PermissionActionEvaluator(serviceRegistry,
|
||||
Action.CAN_ADD_OBJECT_TO_FOLDER, PermissionService.LINK_CHILDREN)), false));
|
||||
new FixedValueActionEvaluator(serviceRegistry, Action.CAN_ADD_OBJECT_TO_FOLDER, true), false));
|
||||
// Is CAN_REMOVE_FROM_FOLDER correct mapping?
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new CurrentVersionEvaluator(serviceRegistry,
|
||||
new ParentActionEvaluator(new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
Action.CAN_REMOVE_OBJECT_FROM_FOLDER, true)), false));
|
||||
new PermissionActionEvaluator(serviceRegistry, Action.CAN_REMOVE_OBJECT_FROM_FOLDER,
|
||||
PermissionService.DELETE_NODE), false));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new PermissionActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_CONTENT_STREAM, PermissionService.READ_CONTENT));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_APPLY_POLICY, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_APPLIED_POLICIES, true));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_REMOVE_POLICY, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new CurrentVersionEvaluator(serviceRegistry,
|
||||
new FixedValueActionEvaluator<NodeRef>(serviceRegistry, Action.CAN_CREATE_RELATIONSHIP, true), false));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
new FixedValueActionEvaluator(serviceRegistry, Action.CAN_CREATE_RELATIONSHIP, true), false));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_RENDITIONS, true));
|
||||
registerEvaluator(BaseTypeId.CMIS_DOCUMENT, new PermissionActionEvaluator(serviceRegistry, Action.CAN_GET_ACL,
|
||||
PermissionService.READ_PERMISSIONS));
|
||||
@@ -215,7 +203,7 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping,
|
||||
PermissionService.CHANGE_PERMISSIONS), false));
|
||||
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER,
|
||||
new RootFolderEvaluator(serviceRegistry, cmisConnector, new PermissionActionEvaluator(serviceRegistry,
|
||||
new RootFolderEvaluator(serviceRegistry, new PermissionActionEvaluator(serviceRegistry,
|
||||
Action.CAN_DELETE_OBJECT, PermissionService.DELETE_NODE), false));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new PermissionActionEvaluator(serviceRegistry,
|
||||
Action.CAN_UPDATE_PROPERTIES, PermissionService.WRITE_PROPERTIES));
|
||||
@@ -223,24 +211,25 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping,
|
||||
Action.CAN_GET_FOLDER_TREE, PermissionService.READ_CHILDREN));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new PermissionActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_PROPERTIES, PermissionService.READ_PROPERTIES));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_OBJECT_RELATIONSHIPS, true));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new ParentActionEvaluator(new PermissionActionEvaluator(
|
||||
serviceRegistry, Action.CAN_GET_OBJECT_PARENTS, PermissionService.READ_PERMISSIONS)));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new RootFolderEvaluator(serviceRegistry, cmisConnector,
|
||||
new ParentActionEvaluator(new PermissionActionEvaluator(serviceRegistry, Action.CAN_GET_FOLDER_PARENT,
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new ParentActionEvaluator(cmisConnector,
|
||||
new PermissionActionEvaluator(serviceRegistry, Action.CAN_GET_OBJECT_PARENTS,
|
||||
PermissionService.READ_PERMISSIONS)));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new RootFolderEvaluator(serviceRegistry, new ParentActionEvaluator(
|
||||
cmisConnector, new PermissionActionEvaluator(serviceRegistry, Action.CAN_GET_FOLDER_PARENT,
|
||||
PermissionService.READ_PERMISSIONS)), false));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new PermissionActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_DESCENDANTS, PermissionService.READ_CHILDREN));
|
||||
// Is CAN_MOVE_OBJECT correct mapping?
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new RootFolderEvaluator(serviceRegistry, cmisConnector,
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new RootFolderEvaluator(serviceRegistry,
|
||||
new PermissionActionEvaluator(serviceRegistry, Action.CAN_MOVE_OBJECT, PermissionService.DELETE_NODE),
|
||||
false));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_APPLY_POLICY, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_APPLIED_POLICIES, true));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_REMOVE_POLICY, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new PermissionActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_CHILDREN, PermissionService.READ_CHILDREN));
|
||||
@@ -250,7 +239,7 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping,
|
||||
Action.CAN_CREATE_FOLDER, PermissionService.CREATE_CHILDREN));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new PermissionActionEvaluator(serviceRegistry,
|
||||
Action.CAN_CREATE_RELATIONSHIP, PermissionService.CREATE_ASSOCIATIONS));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new RootFolderEvaluator(serviceRegistry, cmisConnector,
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new RootFolderEvaluator(serviceRegistry,
|
||||
new PermissionActionEvaluator(serviceRegistry, Action.CAN_DELETE_TREE, PermissionService.DELETE_NODE),
|
||||
false));
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new PermissionActionEvaluator(serviceRegistry, Action.CAN_GET_ACL,
|
||||
@@ -258,37 +247,37 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping,
|
||||
registerEvaluator(BaseTypeId.CMIS_FOLDER, new PermissionActionEvaluator(serviceRegistry, Action.CAN_APPLY_ACL,
|
||||
PermissionService.CHANGE_PERMISSIONS));
|
||||
|
||||
registerEvaluator(BaseTypeId.CMIS_RELATIONSHIP, new FixedValueActionEvaluator<AssociationRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_RELATIONSHIP, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_DELETE_OBJECT, true));
|
||||
registerEvaluator(BaseTypeId.CMIS_RELATIONSHIP, new FixedValueActionEvaluator<AssociationRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_RELATIONSHIP, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_UPDATE_PROPERTIES, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_RELATIONSHIP, new FixedValueActionEvaluator<AssociationRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_RELATIONSHIP, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_PROPERTIES, true));
|
||||
registerEvaluator(BaseTypeId.CMIS_RELATIONSHIP, new FixedValueActionEvaluator<AssociationRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_RELATIONSHIP, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_ACL, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_RELATIONSHIP, new FixedValueActionEvaluator<AssociationRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_RELATIONSHIP, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_APPLY_ACL, false));
|
||||
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_DELETE_OBJECT, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_UPDATE_PROPERTIES, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_PROPERTIES, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_OBJECT_PARENTS, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_MOVE_OBJECT, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_ADD_OBJECT_TO_FOLDER, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_REMOVE_OBJECT_FROM_FOLDER, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator(serviceRegistry,
|
||||
Action.CAN_GET_OBJECT_RELATIONSHIPS, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
Action.CAN_GET_ACL, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator<NodeRef>(serviceRegistry,
|
||||
Action.CAN_APPLY_ACL, false));
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator(serviceRegistry, Action.CAN_GET_ACL,
|
||||
false));
|
||||
registerEvaluator(BaseTypeId.CMIS_POLICY, new FixedValueActionEvaluator(serviceRegistry, Action.CAN_APPLY_ACL,
|
||||
false));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -314,7 +303,7 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping,
|
||||
*/
|
||||
public CMISPropertyAccessor createDirectPropertyAccessor(String propertyId, QName propertyName)
|
||||
{
|
||||
return new DirectProperty(serviceRegistry, propertyId, propertyName);
|
||||
return new DirectProperty(serviceRegistry, cmisConnector, propertyId, propertyName);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -332,9 +321,9 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping,
|
||||
*
|
||||
* @param scope
|
||||
*/
|
||||
public Map<Action, CMISActionEvaluator<? extends Object>> getActionEvaluators(BaseTypeId scope)
|
||||
public Map<Action, CMISActionEvaluator> getActionEvaluators(BaseTypeId scope)
|
||||
{
|
||||
Map<Action, CMISActionEvaluator<? extends Object>> evaluators = actionEvaluators.get(scope);
|
||||
Map<Action, CMISActionEvaluator> evaluators = actionEvaluators.get(scope);
|
||||
if (evaluators == null)
|
||||
{
|
||||
evaluators = Collections.emptyMap();
|
||||
@@ -348,12 +337,12 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping,
|
||||
* @param scope
|
||||
* @param evaluator
|
||||
*/
|
||||
private void registerEvaluator(BaseTypeId scope, CMISActionEvaluator<? extends Object> evaluator)
|
||||
private void registerEvaluator(BaseTypeId scope, CMISActionEvaluator evaluator)
|
||||
{
|
||||
Map<Action, CMISActionEvaluator<? extends Object>> evaluators = actionEvaluators.get(scope);
|
||||
Map<Action, CMISActionEvaluator> evaluators = actionEvaluators.get(scope);
|
||||
if (evaluators == null)
|
||||
{
|
||||
evaluators = new LinkedHashMap<Action, CMISActionEvaluator<? extends Object>>();
|
||||
evaluators = new LinkedHashMap<Action, CMISActionEvaluator>();
|
||||
actionEvaluators.put(scope, evaluators);
|
||||
}
|
||||
if (evaluators.get(evaluator.getAction()) != null)
|
||||
|
Reference in New Issue
Block a user