Merge remote-tracking branch 'remotes/origin/feature/APPS-455' into feature/APPS-460_ACForLegalHoldFlag_no

This commit is contained in:
Claudia Agache
2020-09-07 14:03:25 +03:00
4 changed files with 43 additions and 14 deletions

View File

@@ -1079,6 +1079,7 @@
<property name="dispositionService" ref="DispositionService"/>
<property name="recordableVersionService" ref="RecordableVersionService"/>
<property name="alwaysEditURIs" ref="recordService_alwaysEditURIs" />
<property name="recordModelURIs" ref="recordService_recordModelURIs" />
<property name="incompleteNodeTagger" ref="incompleteNodeTagger" />
<property name="freezeService" ref="FreezeService" />
<property name="namespaceService" ref="NamespaceService"/>
@@ -1097,7 +1098,16 @@
<value>http://www.alfresco.org/model/rendition/1.0</value>
</util:list>
<bean id="recordMetadataAspectBootstrap" class="org.alfresco.module.org_alfresco_module_rm.record.RecordMetadataBootstrap" init-method="init" abstract="true">
<!-- Defines a list of namespace URIs for record aspects -->
<util:list id="recordService_recordModelURIs" value-type="java.lang.String">
<value>http://www.alfresco.org/model/recordsmanagement/1.0</value>
<value>http://www.alfresco.org/model/rmcustom/1.0</value>
<value>http://www.alfresco.org/model/recordsmanagementreport/1.0</value>
<value>http://www.alfresco.org/model/recordableversion/1.0</value>
<value>http://www.alfresco.org/model/dod5015/1.0</value>
</util:list>
<bean id="recordMetadataAspectBootstrap" class="org.alfresco.module.org_alfresco_module_rm.record.RecordMetadataBootstrap" init-method="init" abstract="true">
<property name="recordService" ref="recordService"/>
<property name="namespaceService" ref="namespaceService"/>
</bean>

View File

@@ -40,6 +40,7 @@
<!-- extended version node service bean definition -->
<bean id="rm.versionNodeService" abstract="true" class="org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionNodeServiceImpl">
<property name="recordService" ref="RecordService" />
<property name="recordModelURIs" ref="recordService_recordModelURIs"/>
</bean>
<bean class="org.alfresco.util.BeanExtender">
<property name="beanName" value="versionNodeService" />

View File

@@ -197,14 +197,15 @@ public class RecordServiceImpl extends BaseBehaviourBean
}
/** record model URI's */
public static final List<String> RECORD_MODEL_URIS = Collections.unmodifiableList(
Arrays.asList(
RM_URI,
RM_CUSTOM_URI,
ReportModel.RMR_URI,
RecordableVersionModel.RMV_URI,
DOD5015Model.DOD_URI
));
private List<String> recordModelURIs;
/**
* @param recordModelURIs namespaces specific to records
*/
public void setRecordModelURIs(List<String> 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()))

View File

@@ -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<String> recordModelURIs;
/**
* @param recordModelURIs namespaces specific to records
*/
public void setRecordModelURIs(List<String> 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);
}