diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml index f0833f33ec..384494786c 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml @@ -1079,6 +1079,7 @@ + @@ -1097,7 +1098,16 @@ http://www.alfresco.org/model/rendition/1.0 - + + + http://www.alfresco.org/model/recordsmanagement/1.0 + http://www.alfresco.org/model/rmcustom/1.0 + http://www.alfresco.org/model/recordsmanagementreport/1.0 + http://www.alfresco.org/model/recordableversion/1.0 + http://www.alfresco.org/model/dod5015/1.0 + + + diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-version-context.xml b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-version-context.xml index f2fa42e120..1b85cae998 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-version-context.xml +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-version-context.xml @@ -40,6 +40,7 @@ + diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java index 3bba5a30b4..6b67ff2c7b 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java @@ -197,14 +197,15 @@ public class RecordServiceImpl extends BaseBehaviourBean } /** record model URI's */ - public static final List RECORD_MODEL_URIS = Collections.unmodifiableList( - Arrays.asList( - RM_URI, - RM_CUSTOM_URI, - ReportModel.RMR_URI, - RecordableVersionModel.RMV_URI, - DOD5015Model.DOD_URI - )); + private List recordModelURIs; + + /** + * @param recordModelURIs namespaces specific to records + */ + public void setRecordModelURIs(List recordModelURIs) + { + this.recordModelURIs = recordModelURIs; + } /** non-record model URI's */ private static final String[] NON_RECORD_MODEL_URIS = new String[] @@ -269,6 +270,11 @@ public class RecordServiceImpl extends BaseBehaviourBean /** records management container type */ private RecordsManagementContainerType recordsManagementContainerType; + public RecordableVersionService getRecordableVersionService() + { + return recordableVersionService; + } + /** recordable version service */ private RecordableVersionService recordableVersionService; @@ -1733,7 +1739,7 @@ public class RecordServiceImpl extends BaseBehaviourBean else { // check the URI's - result = RECORD_MODEL_URIS.contains(property.getNamespaceURI()); + result = recordModelURIs.contains(property.getNamespaceURI()); // check the custom model if (!result && !ArrayUtils.contains(NON_RECORD_MODEL_URIS, property.getNamespaceURI())) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/version/RecordableVersionNodeServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/version/RecordableVersionNodeServiceImpl.java index c9ad59aecc..b14d27858b 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/version/RecordableVersionNodeServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/version/RecordableVersionNodeServiceImpl.java @@ -27,13 +27,12 @@ package org.alfresco.module.org_alfresco_module_rm.version; -import static org.alfresco.module.org_alfresco_module_rm.record.RecordServiceImpl.RECORD_MODEL_URIS; - import java.io.Serializable; import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Set; @@ -45,6 +44,7 @@ import org.alfresco.repo.version.Version2Model; import org.alfresco.repo.version.common.VersionUtil; import org.alfresco.service.cmr.repository.InvalidNodeRefException; import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.cmr.version.Version; import org.alfresco.service.namespace.QName; /** @@ -60,6 +60,17 @@ public class RecordableVersionNodeServiceImpl extends Node2ServiceImpl /** record service */ private RecordService recordService; + /** record model URI's */ + private List recordModelURIs; + + /** + * @param recordModelURIs namespaces specific to records + */ + public void setRecordModelURIs(List recordModelURIs) + { + this.recordModelURIs = recordModelURIs; + } + /** * @param recordService record service */ @@ -116,7 +127,7 @@ public class RecordableVersionNodeServiceImpl extends Node2ServiceImpl if (!PROP_RECORDABLE_VERSION_POLICY.equals(property) && !PROP_FILE_PLAN.equals(property) && (recordService.isRecordMetadataProperty(property) || - RECORD_MODEL_URIS.contains(property.getNamespaceURI()))) + recordModelURIs.contains(property.getNamespaceURI()))) { properties.remove(property); } @@ -208,6 +219,7 @@ public class RecordableVersionNodeServiceImpl extends Node2ServiceImpl NodeRef converted = VersionUtil.convertNodeRef(nodeRef); if (dbNodeService.hasAspect(converted, ASPECT_RECORDED_VERSION)) { + NodeRef record = (NodeRef)dbNodeService.getProperty(converted, PROP_RECORD_NODE_REF); if (record != null && dbNodeService.exists(record)) { @@ -244,7 +256,7 @@ public class RecordableVersionNodeServiceImpl extends Node2ServiceImpl { if (!ASPECT_VERSIONABLE.equals(aspect) && (recordService.isRecordMetadataAspect(aspect) || - RECORD_MODEL_URIS.contains(aspect.getNamespaceURI()))) + recordModelURIs.contains(aspect.getNamespaceURI()))) { result.remove(aspect); }