RM-1099 (Refactor Transfer and Accession reports)

* Extended the report template/action for the case if the transfer node is a record

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@58510 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2013-12-02 23:12:55 +00:00
parent 5a03a9fe1e
commit cbc2f69012
4 changed files with 39 additions and 31 deletions

View File

@@ -34,21 +34,16 @@ public class TransferNode
/** Transfer node reference */
private NodeRef nodeRef;
/** Transfer node type */
private boolean folder;
/** Transfer node properties */
private Map<String, Serializable> properties;
/**
* @param nodeRef
* @param folder
* @param properties
*/
public TransferNode(NodeRef nodeRef, boolean folder, Map<String, Serializable> properties)
public TransferNode(NodeRef nodeRef, Map<String, Serializable> properties)
{
this.nodeRef = nodeRef;
this.folder = folder;
this.properties = properties;
}
@@ -60,14 +55,6 @@ public class TransferNode
return this.nodeRef;
}
/**
* @return transfer node type
*/
public boolean isFolder()
{
return this.folder;
}
/**
* @return transfer node properties
*/

View File

@@ -20,6 +20,7 @@ package org.alfresco.module.org_alfresco_module_rm.report.action;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -71,9 +72,8 @@ public class TransferReportAction extends BaseReportAction
for (ChildAssociationRef assoc : assocs)
{
NodeRef childRef = assoc.getChildRef();
boolean isFolder = dictionaryService.isSubClass(nodeService.getType(childRef), ContentModel.TYPE_FOLDER);
Map<String, Serializable> properties = getTransferNodeProperties(childRef, isFolder);
transferNodes.add(new TransferNode(childRef, isFolder, properties));
Map<String, Serializable> properties = getTransferNodeProperties(childRef);
transferNodes.add(new TransferNode(childRef, properties));
}
return transferNodes;
}
@@ -82,22 +82,29 @@ public class TransferReportAction extends BaseReportAction
* Helper method to get the properties of a transfer node
*
* @param childRef Node reference
* @param isFolder Type of the transfer node
* @return Transfer node properties
*/
private Map<String, Serializable> getTransferNodeProperties(NodeRef childRef, boolean isFolder)
private Map<String, Serializable> getTransferNodeProperties(NodeRef childRef)
{
Map<String, Serializable> transferNodeProperties = new HashMap<String, Serializable>(2);
if (isFolder)
Map<String, Serializable> transferNodeProperties = new HashMap<String, Serializable>(3);
Map<QName, Serializable> properties = nodeService.getProperties(childRef);
transferNodeProperties.put("name", properties.get(ContentModel.PROP_NAME));
transferNodeProperties.put("identifier", properties.get(RecordsManagementModel.PROP_IDENTIFIER));
boolean isFolder = dictionaryService.isSubClass(nodeService.getType(childRef), ContentModel.TYPE_FOLDER);
transferNodeProperties.put("isFolder", isFolder);
if (isFolder == false)
{
Map<QName, Serializable> properties = nodeService.getProperties(childRef);
transferNodeProperties.put("name", properties.get(ContentModel.PROP_NAME));
transferNodeProperties.put("identifier", properties.get(RecordsManagementModel.PROP_IDENTIFIER));
}
else
{
// FIXME: Record
boolean isDeclared = nodeService.hasAspect(childRef, RecordsManagementModel.ASPECT_DECLARED_RECORD);
String declaredBy = (String) properties.get(RecordsManagementModel.PROP_DECLARED_BY);
Date declaredOn = (Date) properties.get(RecordsManagementModel.PROP_DECLARED_AT);
transferNodeProperties.put("isDeclared", isDeclared);
transferNodeProperties.put("declaredBy", declaredBy);
transferNodeProperties.put("declaredOn", declaredOn);
}
return transferNodeProperties;
}