mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Code refactored (FreezeService & RecordService)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@43618 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -30,6 +30,8 @@
|
||||
<property name="recordsManagementEventService" ref="recordsManagementEventService"/>
|
||||
<property name="publicAction" value="false"/>
|
||||
<property name="ownableService" ref="ownableService"/>
|
||||
<property name="freezeService" ref="freezeService"/>
|
||||
<property name="recordService" ref="recordService"/>
|
||||
</bean>
|
||||
|
||||
<bean id="rmProxyAction" init-method="registerAction" abstract="true">
|
||||
@@ -399,7 +401,6 @@
|
||||
|
||||
<bean id="freeze" class="org.alfresco.module.org_alfresco_module_rm.action.impl.FreezeAction" parent="rmAction" depends-on="rmExtendRetentionPeriodOrFreezeCapability">
|
||||
<property name="capability" ref="rmExtendRetentionPeriodOrFreezeCapability" />
|
||||
<property name="freezeService" ref="FreezeService" />
|
||||
</bean>
|
||||
|
||||
<!-- Unfreeze record -->
|
||||
@@ -427,7 +428,6 @@
|
||||
|
||||
<bean id="unfreeze" class="org.alfresco.module.org_alfresco_module_rm.action.impl.UnfreezeAction" parent="rmAction" depends-on="rmUnfreezeCapability">
|
||||
<property name="capability" ref="rmUnfreezeCapability" />
|
||||
<property name="freezeService" ref="FreezeService" />
|
||||
</bean>
|
||||
|
||||
<!-- Relinquish Hold Action-->
|
||||
@@ -445,7 +445,6 @@
|
||||
|
||||
<bean id="relinquishHold" class="org.alfresco.module.org_alfresco_module_rm.action.impl.RelinquishHoldAction" parent="rmAction" depends-on="rmUnfreezeCapability">
|
||||
<property name="capability" ref="rmUnfreezeCapability" />
|
||||
<property name="freezeService" ref="FreezeService" />
|
||||
</bean>
|
||||
|
||||
<!-- Edit hold reason -->
|
||||
@@ -473,7 +472,6 @@
|
||||
|
||||
<bean id="editHoldReason" class="org.alfresco.module.org_alfresco_module_rm.action.impl.EditHoldReasonAction" parent="rmAction" depends-on="rmViewUpdateReasonsForFreezeCapability">
|
||||
<property name="capability" ref="rmViewUpdateReasonsForFreezeCapability" />
|
||||
<property name="freezeService" ref="FreezeService" />
|
||||
</bean>
|
||||
|
||||
<!-- Edit review as of date -->
|
||||
|
@@ -905,6 +905,7 @@
|
||||
<value>
|
||||
<![CDATA[
|
||||
org.alfresco.module.org_alfresco_module_rm.record.RecordService.getRecordMetaDataAspects=RM_ALLOW
|
||||
org.alfresco.module.org_alfresco_module_rm.record.RecordService.isRecord=RM_ALLOW
|
||||
org.alfresco.module.org_alfresco_module_rm.record.RecordService.isDeclared=RM.Read.0
|
||||
org.alfresco.module.org_alfresco_module_rm.record.RecordService.createRecordFromDocument=RM_ALLOW
|
||||
org.alfresco.module.org_alfresco_module_rm.record.RecordService.getUnfiledRecordContainer=RM_ALLOW
|
||||
|
@@ -106,14 +106,6 @@ public interface RecordsManagementService
|
||||
*/
|
||||
boolean isRecordFolder(NodeRef nodeRef);
|
||||
|
||||
/**
|
||||
* Indicates whether the given node is a record or not.
|
||||
*
|
||||
* @param nodeRef node reference
|
||||
* @return boolean true if record, false otherwise
|
||||
*/
|
||||
boolean isRecord(NodeRef nodeRef);
|
||||
|
||||
/**
|
||||
* Indicates whether the given node is a transfer (container) or not.
|
||||
*
|
||||
@@ -495,4 +487,15 @@ public interface RecordsManagementService
|
||||
*/
|
||||
@Deprecated
|
||||
boolean hasFrozenChildren(NodeRef nodeRef);
|
||||
|
||||
/**
|
||||
* Indicates whether the given node is a record or not.
|
||||
*
|
||||
* @param nodeRef node reference
|
||||
* @return boolean true if record, false otherwise
|
||||
*
|
||||
* @deprecated As of 2.1, replaced by {@link RecordService#isRecord(NodeRef)}
|
||||
*/
|
||||
@Deprecated
|
||||
boolean isRecord(NodeRef nodeRef);
|
||||
}
|
||||
|
@@ -596,14 +596,6 @@ public class RecordsManagementServiceImpl implements RecordsManagementService,
|
||||
return instanceOf(nodeRef, TYPE_RECORD_FOLDER);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.RecordsManagementService#isRecord(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
public boolean isRecord(NodeRef nodeRef)
|
||||
{
|
||||
return this.nodeService.hasAspect(nodeRef, ASPECT_RECORD);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.RecordsManagementService#isTransfer(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@@ -1260,4 +1252,14 @@ public class RecordsManagementServiceImpl implements RecordsManagementService,
|
||||
{
|
||||
return serviceRegistry.getFreezeService().hasFrozenChildren(nodeRef);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.RecordsManagementService#isRecord(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public boolean isRecord(NodeRef nodeRef)
|
||||
{
|
||||
return serviceRegistry.getRecordService().isRecord(nodeRef);
|
||||
}
|
||||
}
|
||||
|
@@ -40,7 +40,9 @@ import org.alfresco.module.org_alfresco_module_rm.event.EventCompletionDetails;
|
||||
import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEvent;
|
||||
import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventType;
|
||||
import org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.vital.VitalRecordService;
|
||||
import org.alfresco.repo.action.executer.ActionExecuterAbstractBase;
|
||||
import org.alfresco.service.cmr.action.Action;
|
||||
@@ -114,6 +116,12 @@ public abstract class RMActionExecuterAbstractBase extends ActionExecuterAbstra
|
||||
/** Ownable service **/
|
||||
protected OwnableService ownableService;
|
||||
|
||||
/** Freeze Service */
|
||||
protected FreezeService freezeService;
|
||||
|
||||
/** Record Service */
|
||||
protected RecordService recordService;
|
||||
|
||||
protected LinkedList<AbstractCapability> capabilities = new LinkedList<AbstractCapability>();;
|
||||
|
||||
/** Default constructor */
|
||||
@@ -227,6 +235,26 @@ public abstract class RMActionExecuterAbstractBase extends ActionExecuterAbstra
|
||||
this.ownableService = ownableService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set freeze service
|
||||
*
|
||||
* @param freezeService freeze service
|
||||
*/
|
||||
public void setFreezeService(FreezeService freezeService)
|
||||
{
|
||||
this.freezeService = freezeService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set record service
|
||||
*
|
||||
* @param recordService record service
|
||||
*/
|
||||
public void setRecordService(RecordService recordService)
|
||||
{
|
||||
this.recordService = recordService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register with a single capability
|
||||
* @param capability
|
||||
|
@@ -56,15 +56,14 @@ public class DeclareRecordAction extends RMActionExecuterAbstractBase
|
||||
private static Log logger = LogFactory.getLog(DeclareRecordAction.class);
|
||||
|
||||
/**
|
||||
* @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#executeImpl(org.alfresco.service.cmr.action.Action,
|
||||
* org.alfresco.service.cmr.repository.NodeRef)
|
||||
* @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#executeImpl(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@Override
|
||||
protected void executeImpl(Action action, NodeRef actionedUponNodeRef)
|
||||
{
|
||||
if (recordsManagementService.isRecord(actionedUponNodeRef) == true)
|
||||
if (recordService.isRecord(actionedUponNodeRef) == true)
|
||||
{
|
||||
if (recordsManagementService.isRecordDeclared(actionedUponNodeRef) == false)
|
||||
if (recordService.isDeclared(actionedUponNodeRef) == false)
|
||||
{
|
||||
List<String> missingProperties = new ArrayList<String>(5);
|
||||
// Aspect not already defined - check mandatory properties then add
|
||||
@@ -98,8 +97,7 @@ public class DeclareRecordAction extends RMActionExecuterAbstractBase
|
||||
builder.append(" ");
|
||||
for (String missingProperty : missingProperties)
|
||||
{
|
||||
builder.append(missingProperty)
|
||||
.append(", ");
|
||||
builder.append(missingProperty).append(", ");
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
@@ -107,8 +105,7 @@ public class DeclareRecordAction extends RMActionExecuterAbstractBase
|
||||
/**
|
||||
* Helper method to check whether all the mandatory properties of the node have been set
|
||||
*
|
||||
* @param nodeRef
|
||||
* node reference
|
||||
* @param nodeRef node reference
|
||||
* @return boolean true if all mandatory properties are set, false otherwise
|
||||
*/
|
||||
private boolean mandatoryPropertiesSet(NodeRef nodeRef, List<String> missingProperties)
|
||||
@@ -193,9 +190,9 @@ public class DeclareRecordAction extends RMActionExecuterAbstractBase
|
||||
@Override
|
||||
protected boolean isExecutableImpl(NodeRef filePlanComponent, Map<String, Serializable> parameters, boolean throwException)
|
||||
{
|
||||
if (recordsManagementService.isRecord(filePlanComponent) == true)
|
||||
if (recordService.isRecord(filePlanComponent) == true)
|
||||
{
|
||||
if (recordsManagementService.isRecordDeclared(filePlanComponent) == false)
|
||||
if (recordService.isDeclared(filePlanComponent) == false)
|
||||
{
|
||||
// Aspect not already defined - check mandatory properties then add
|
||||
List<String> missingProperties = new ArrayList<String>(10);
|
||||
@@ -232,5 +229,4 @@ public class DeclareRecordAction extends RMActionExecuterAbstractBase
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -25,7 +25,6 @@ import java.util.Set;
|
||||
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.module.org_alfresco_module_rm.action.RMActionExecuterAbstractBase;
|
||||
import org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService;
|
||||
import org.alfresco.service.cmr.action.Action;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
@@ -45,19 +44,6 @@ public class EditHoldReasonAction extends RMActionExecuterAbstractBase
|
||||
/** Parameter names */
|
||||
public static final String PARAM_REASON = "reason";
|
||||
|
||||
/** Freeze Service */
|
||||
private FreezeService freezeService;
|
||||
|
||||
/**
|
||||
* Set freeze service
|
||||
*
|
||||
* @param freezeService freeze service
|
||||
*/
|
||||
public void setFreezeService(FreezeService freezeService)
|
||||
{
|
||||
this.freezeService = freezeService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#executeImpl(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@@ -110,14 +96,13 @@ public class EditHoldReasonAction extends RMActionExecuterAbstractBase
|
||||
@Override
|
||||
protected boolean isExecutableImpl(NodeRef filePlanComponent, Map<String, Serializable> parameters, boolean throwException)
|
||||
{
|
||||
QName nodeType = this.nodeService.getType(filePlanComponent);
|
||||
if (this.dictionaryService.isSubClass(nodeType, TYPE_HOLD) == true)
|
||||
if (freezeService.isHold(filePlanComponent) == true)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(throwException)
|
||||
if (throwException)
|
||||
{
|
||||
throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_HOLD_EDIT_TYPE, TYPE_HOLD.toString(), filePlanComponent.toString()));
|
||||
}
|
||||
|
@@ -25,7 +25,6 @@ import java.util.Set;
|
||||
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.module.org_alfresco_module_rm.action.RMActionExecuterAbstractBase;
|
||||
import org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService;
|
||||
import org.alfresco.service.cmr.action.Action;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
@@ -44,19 +43,6 @@ public class FreezeAction extends RMActionExecuterAbstractBase
|
||||
/** Parameter names */
|
||||
public static final String PARAM_REASON = "reason";
|
||||
|
||||
/** Freeze Service */
|
||||
private FreezeService freezeService;
|
||||
|
||||
/**
|
||||
* Set freeze service
|
||||
*
|
||||
* @param freezeService freeze service
|
||||
*/
|
||||
public void setFreezeService(FreezeService freezeService)
|
||||
{
|
||||
this.freezeService = freezeService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#executeImpl(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@@ -95,7 +81,7 @@ public class FreezeAction extends RMActionExecuterAbstractBase
|
||||
@Override
|
||||
protected boolean isExecutableImpl(NodeRef filePlanComponent, Map<String, Serializable> parameters, boolean throwException)
|
||||
{
|
||||
if (this.recordsManagementService.isRecord(filePlanComponent) == true ||
|
||||
if (this.recordService.isRecord(filePlanComponent) == true ||
|
||||
this.recordsManagementService.isRecordFolder(filePlanComponent) == true)
|
||||
{
|
||||
// Get the property values
|
||||
|
@@ -25,7 +25,6 @@ import java.util.Set;
|
||||
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.module.org_alfresco_module_rm.action.RMActionExecuterAbstractBase;
|
||||
import org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService;
|
||||
import org.alfresco.service.cmr.action.Action;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
@@ -41,19 +40,6 @@ public class RelinquishHoldAction extends RMActionExecuterAbstractBase
|
||||
/** I18N */
|
||||
private static final String MSG_NOT_HOLD_TYPE = "rm.action.not-hold-type";
|
||||
|
||||
/** Freeze Service */
|
||||
private FreezeService freezeService;
|
||||
|
||||
/**
|
||||
* Set freeze service
|
||||
*
|
||||
* @param freezeService freeze service
|
||||
*/
|
||||
public void setFreezeService(FreezeService freezeService)
|
||||
{
|
||||
this.freezeService = freezeService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#executeImpl(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@@ -87,14 +73,13 @@ public class RelinquishHoldAction extends RMActionExecuterAbstractBase
|
||||
@Override
|
||||
protected boolean isExecutableImpl(NodeRef filePlanComponent, Map<String, Serializable> parameters, boolean throwException)
|
||||
{
|
||||
QName nodeType = this.nodeService.getType(filePlanComponent);
|
||||
if (this.dictionaryService.isSubClass(nodeType, TYPE_HOLD) == true)
|
||||
if (freezeService.isHold(filePlanComponent) == true)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(throwException)
|
||||
if (throwException)
|
||||
{
|
||||
throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_NOT_HOLD_TYPE, TYPE_HOLD.toString(), filePlanComponent.toString()));
|
||||
}
|
||||
|
@@ -24,7 +24,6 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.alfresco.module.org_alfresco_module_rm.action.RMActionExecuterAbstractBase;
|
||||
import org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService;
|
||||
import org.alfresco.service.cmr.action.Action;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
@@ -36,19 +35,6 @@ import org.alfresco.service.namespace.QName;
|
||||
*/
|
||||
public class UnfreezeAction extends RMActionExecuterAbstractBase
|
||||
{
|
||||
/** Freeze Service */
|
||||
private FreezeService freezeService;
|
||||
|
||||
/**
|
||||
* Set freeze service
|
||||
*
|
||||
* @param freezeService freeze service
|
||||
*/
|
||||
public void setFreezeService(FreezeService freezeService)
|
||||
{
|
||||
this.freezeService = freezeService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#executeImpl(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@@ -75,7 +61,7 @@ public class UnfreezeAction extends RMActionExecuterAbstractBase
|
||||
@Override
|
||||
protected boolean isExecutableImpl(NodeRef filePlanComponent, Map<String, Serializable> parameters, boolean throwException)
|
||||
{
|
||||
return this.nodeService.hasAspect(filePlanComponent, ASPECT_FROZEN);
|
||||
return freezeService.isFrozen(filePlanComponent);
|
||||
}
|
||||
|
||||
}
|
@@ -39,6 +39,14 @@ public interface RecordService
|
||||
*/
|
||||
Set<QName> getRecordMetaDataAspects();
|
||||
|
||||
/**
|
||||
* Checks whether if the given node reference is a record or not
|
||||
*
|
||||
* @param nodeRef node reference to be checked
|
||||
* @return boolean true if the node reference is a record, false otherwise
|
||||
*/
|
||||
boolean isRecord(NodeRef nodeRef);
|
||||
|
||||
/**
|
||||
* Indicates whether the record is declared
|
||||
*
|
||||
|
@@ -158,6 +158,17 @@ public class RecordServiceImpl implements RecordService, RecordsManagementModel
|
||||
return recordMetaDataAspects;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.record.RecordService#isRecord(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@Override
|
||||
public boolean isRecord(NodeRef nodeRef)
|
||||
{
|
||||
ParameterCheck.mandatory("nodeRef", nodeRef);
|
||||
|
||||
return nodeService.hasAspect(nodeRef, ASPECT_RECORD);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.record.RecordService#isDeclared(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@@ -166,7 +177,7 @@ public class RecordServiceImpl implements RecordService, RecordsManagementModel
|
||||
{
|
||||
ParameterCheck.mandatory("record", record);
|
||||
|
||||
return (nodeService.hasAspect(record, ASPECT_DECLARED_RECORD));
|
||||
return nodeService.hasAspect(record, ASPECT_DECLARED_RECORD);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -54,10 +54,10 @@ public class FreezeServiceImplTest extends BaseRMTestCase
|
||||
@Override
|
||||
public void test(NodeRef result) throws Exception
|
||||
{
|
||||
assertTrue(rmService.isRecord(recordOne));
|
||||
assertTrue(rmService.isRecord(recordTwo));
|
||||
assertTrue(rmService.isRecord(recordThree));
|
||||
assertTrue(rmService.isRecord(recordFour));
|
||||
assertTrue(recordService.isRecord(recordOne));
|
||||
assertTrue(recordService.isRecord(recordTwo));
|
||||
assertTrue(recordService.isRecord(recordThree));
|
||||
assertTrue(recordService.isRecord(recordFour));
|
||||
assertTrue(rmService.isFilePlanComponent(recordOne));
|
||||
assertTrue(rmService.isFilePlanComponent(recordTwo));
|
||||
assertTrue(rmService.isFilePlanComponent(recordThree));
|
||||
|
@@ -51,6 +51,22 @@ public class RecordServiceImplTest extends BaseRMTestCase
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @see RecordService#isRecord(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
public void testIsRecord() throws Exception
|
||||
{
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @see RecordService#isDeclared(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
|
Reference in New Issue
Block a user