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

@@ -49,7 +49,7 @@
<h2>${message("file.report.transferred.items")}</h2> <h2>${message("file.report.transferred.items")}</h2>
<div class="transferred-item"> <div class="transferred-item">
<#list properties.transferNodes as transferNode> <#list properties.transferNodes as transferNode>
<#if transferNode.folder> <#if transferNode.properties["isFolder"]>
<span class="nodeName"> <span class="nodeName">
${transferNode.properties["name"]?html} ${transferNode.properties["name"]?html}
</span> </span>
@@ -58,7 +58,18 @@
<#-- FIXME: Records --> <#-- FIXME: Records -->
</div> </div>
<#else> <#else>
<#-- FIXME: Records --> <div class="record">
<span class="nodeName">
${transferNode.properties["name"]?html}
</span>
(${message("file.report.unique.record.identifier")}: ${transferNode.properties["identifier"]?html})
<#if transferNode.properties["isDeclared"]>
${message("file.report.declared.by")}
${transferNode.properties["declaredBy"]?html}
${message("file.report.declared.on")}
${transferNode.properties["declaredOn"]?string(message("file.report.date.format"))?html}
</#if>
</div>
</#if> </#if>
</#list> </#list>
</div> </div>

View File

@@ -1,6 +1,8 @@
# File Report Template # File Report Template
file.report.acession.report=Accession Report file.report.acession.report=Accession Report
file.report.date.format=EEE MMM dd HH:mm:ss zzz yyyy file.report.date.format=EEE MMM dd HH:mm:ss zzz yyyy
file.report.declared.by=declared by
file.report.declared.on=on
file.report.destroyed=Destroyed file.report.destroyed=Destroyed
file.report.destroyed.records=Destroyed Records file.report.destroyed.records=Destroyed Records
file.report.destruction.report=Destruction Report file.report.destruction.report=Destruction Report
@@ -14,4 +16,5 @@ file.report.transferred.items=Transferred Items
file.report.performed.by=Performed By file.report.performed.by=Performed By
file.report.record=Record file.report.record=Record
file.report.record.folder=Record Folder file.report.record.folder=Record Folder
file.report.unique.folder.identifier=Unique Folder Identifier file.report.unique.folder.identifier=Unique Folder Identifier
file.report.unique.record.identifier=Unique Record Identifier

View File

@@ -34,21 +34,16 @@ public class TransferNode
/** Transfer node reference */ /** Transfer node reference */
private NodeRef nodeRef; private NodeRef nodeRef;
/** Transfer node type */
private boolean folder;
/** Transfer node properties */ /** Transfer node properties */
private Map<String, Serializable> properties; private Map<String, Serializable> properties;
/** /**
* @param nodeRef * @param nodeRef
* @param folder
* @param properties * @param properties
*/ */
public TransferNode(NodeRef nodeRef, boolean folder, Map<String, Serializable> properties) public TransferNode(NodeRef nodeRef, Map<String, Serializable> properties)
{ {
this.nodeRef = nodeRef; this.nodeRef = nodeRef;
this.folder = folder;
this.properties = properties; this.properties = properties;
} }
@@ -60,14 +55,6 @@ public class TransferNode
return this.nodeRef; return this.nodeRef;
} }
/**
* @return transfer node type
*/
public boolean isFolder()
{
return this.folder;
}
/** /**
* @return transfer node properties * @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.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -71,9 +72,8 @@ public class TransferReportAction extends BaseReportAction
for (ChildAssociationRef assoc : assocs) for (ChildAssociationRef assoc : assocs)
{ {
NodeRef childRef = assoc.getChildRef(); NodeRef childRef = assoc.getChildRef();
boolean isFolder = dictionaryService.isSubClass(nodeService.getType(childRef), ContentModel.TYPE_FOLDER); Map<String, Serializable> properties = getTransferNodeProperties(childRef);
Map<String, Serializable> properties = getTransferNodeProperties(childRef, isFolder); transferNodes.add(new TransferNode(childRef, properties));
transferNodes.add(new TransferNode(childRef, isFolder, properties));
} }
return transferNodes; return transferNodes;
} }
@@ -82,22 +82,29 @@ public class TransferReportAction extends BaseReportAction
* Helper method to get the properties of a transfer node * Helper method to get the properties of a transfer node
* *
* @param childRef Node reference * @param childRef Node reference
* @param isFolder Type of the transfer node
* @return Transfer node properties * @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); Map<String, Serializable> transferNodeProperties = new HashMap<String, Serializable>(3);
if (isFolder)
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); boolean isDeclared = nodeService.hasAspect(childRef, RecordsManagementModel.ASPECT_DECLARED_RECORD);
transferNodeProperties.put("name", properties.get(ContentModel.PROP_NAME)); String declaredBy = (String) properties.get(RecordsManagementModel.PROP_DECLARED_BY);
transferNodeProperties.put("identifier", properties.get(RecordsManagementModel.PROP_IDENTIFIER)); Date declaredOn = (Date) properties.get(RecordsManagementModel.PROP_DECLARED_AT);
} transferNodeProperties.put("isDeclared", isDeclared);
else transferNodeProperties.put("declaredBy", declaredBy);
{ transferNodeProperties.put("declaredOn", declaredOn);
// FIXME: Record
} }
return transferNodeProperties; return transferNodeProperties;
} }