mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
RM-1099 (Refactor Transfer and Accession reports)
* Extended the ReportGenerator/ReportService so that additional properties can be passed to the report template git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@58442 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -18,6 +18,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.module.org_alfresco_module_rm.report;
|
package org.alfresco.module.org_alfresco_module_rm.report;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
|
|
||||||
@@ -28,7 +31,8 @@ import org.alfresco.service.namespace.QName;
|
|||||||
public interface ReportGenerator
|
public interface ReportGenerator
|
||||||
{
|
{
|
||||||
QName getReportType();
|
QName getReportType();
|
||||||
|
|
||||||
Report generateReport(NodeRef reportedUponNodeRef, String mimetype);
|
Report generateReport(NodeRef reportedUponNodeRef, String mimetype);
|
||||||
|
|
||||||
|
Report generateReport(NodeRef reportedUponNodeRef, String mimetype, Map<String, Serializable> properties);
|
||||||
}
|
}
|
||||||
|
@@ -18,6 +18,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.module.org_alfresco_module_rm.report;
|
package org.alfresco.module.org_alfresco_module_rm.report;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
@@ -62,6 +64,15 @@ public interface ReportService
|
|||||||
*/
|
*/
|
||||||
Report generateReport(QName reportType, NodeRef reportedUponNodeRef, String mimetype);
|
Report generateReport(QName reportType, NodeRef reportedUponNodeRef, String mimetype);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param reportType
|
||||||
|
* @param reportedUponNodeRef
|
||||||
|
* @param mimetype
|
||||||
|
* @param properties
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Report generateReport(QName reportType, NodeRef reportedUponNodeRef, String mimetype, Map<String, Serializable> properties);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* File report in the given destination. If the given node reference is a file plan node
|
* File report in the given destination. If the given node reference is a file plan node
|
||||||
* reference the report will be filed in the unfiled records container.
|
* reference the report will be filed in the unfiled records container.
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.module.org_alfresco_module_rm.report;
|
package org.alfresco.module.org_alfresco_module_rm.report;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -109,23 +110,40 @@ public class ReportServiceImpl extends ServiceBaseImpl
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.alfresco.module.org_alfresco_module_rm.report.ReportService#generateReport(org.alfresco.service.namespace.QName, org.alfresco.service.cmr.repository.NodeRef)
|
* @see org.alfresco.module.org_alfresco_module_rm.report.ReportService#generateReport(QName, NodeRef)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Report generateReport(QName reportType, NodeRef reportedUponNodeRef)
|
public Report generateReport(QName reportType, NodeRef reportedUponNodeRef)
|
||||||
{
|
{
|
||||||
|
ParameterCheck.mandatory("reportType", reportType);
|
||||||
|
ParameterCheck.mandatory("reportedUponNodeRef", reportedUponNodeRef);
|
||||||
|
|
||||||
return generateReport(reportType, reportedUponNodeRef, MimetypeMap.MIMETYPE_HTML);
|
return generateReport(reportType, reportedUponNodeRef, MimetypeMap.MIMETYPE_HTML);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.alfresco.module.org_alfresco_module_rm.report.ReportService#generateReport(org.alfresco.service.namespace.QName, org.alfresco.service.cmr.repository.NodeRef)
|
* @see org.alfresco.module.org_alfresco_module_rm.report.ReportService#generateReport(QName, NodeRef, String)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Report generateReport(QName reportType, NodeRef reportedUponNodeRef, String mimetype)
|
public Report generateReport(QName reportType, NodeRef reportedUponNodeRef, String mimetype)
|
||||||
{
|
{
|
||||||
ParameterCheck.mandatory("reportType", reportType);
|
ParameterCheck.mandatory("reportType", reportType);
|
||||||
ParameterCheck.mandatory("reportedUponNodeRef", reportedUponNodeRef);
|
ParameterCheck.mandatory("reportedUponNodeRef", reportedUponNodeRef);
|
||||||
ParameterCheck.mandatory("mimetype", mimetype);
|
ParameterCheck.mandatoryString("mimetype", mimetype);
|
||||||
|
|
||||||
|
return generateReport(reportType, reportedUponNodeRef, mimetype, new HashMap<String, Serializable>(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see org.alfresco.module.org_alfresco_module_rm.report.ReportService#generateReport(QName, NodeRef, String, Map)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Report generateReport(QName reportType, NodeRef reportedUponNodeRef, String mimetype, Map<String, Serializable> properties)
|
||||||
|
{
|
||||||
|
ParameterCheck.mandatory("reportType", reportType);
|
||||||
|
ParameterCheck.mandatory("reportedUponNodeRef", reportedUponNodeRef);
|
||||||
|
ParameterCheck.mandatoryString("mimetype", mimetype);
|
||||||
|
ParameterCheck.mandatory("properties", properties);
|
||||||
|
|
||||||
// get the generator
|
// get the generator
|
||||||
ReportGenerator generator = registry.get(reportType);
|
ReportGenerator generator = registry.get(reportType);
|
||||||
@@ -137,7 +155,7 @@ public class ReportServiceImpl extends ServiceBaseImpl
|
|||||||
}
|
}
|
||||||
|
|
||||||
// generate the report
|
// generate the report
|
||||||
return generator.generateReport(reportedUponNodeRef, mimetype);
|
return generator.generateReport(reportedUponNodeRef, mimetype, properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -29,6 +29,7 @@ import org.alfresco.service.cmr.repository.ContentReader;
|
|||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.namespace.NamespaceService;
|
import org.alfresco.service.namespace.NamespaceService;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.alfresco.util.ParameterCheck;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Roy Wetherall
|
* @author Roy Wetherall
|
||||||
@@ -37,60 +38,73 @@ import org.alfresco.service.namespace.QName;
|
|||||||
public abstract class BaseReportGenerator implements ReportGenerator
|
public abstract class BaseReportGenerator implements ReportGenerator
|
||||||
{
|
{
|
||||||
protected ReportService reportService;
|
protected ReportService reportService;
|
||||||
|
|
||||||
protected NamespaceService namespaceService;
|
protected NamespaceService namespaceService;
|
||||||
|
|
||||||
protected String reportTypeName;
|
protected String reportTypeName;
|
||||||
|
|
||||||
protected QName reportType;
|
protected QName reportType;
|
||||||
|
|
||||||
public void setReportService(ReportService reportService)
|
public void setReportService(ReportService reportService)
|
||||||
{
|
{
|
||||||
this.reportService = reportService;
|
this.reportService = reportService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setNamespaceService(NamespaceService namespaceService)
|
public void setNamespaceService(NamespaceService namespaceService)
|
||||||
{
|
{
|
||||||
this.namespaceService = namespaceService;
|
this.namespaceService = namespaceService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setReportTypeName(String reportTypeName)
|
public void setReportTypeName(String reportTypeName)
|
||||||
{
|
{
|
||||||
this.reportTypeName = reportTypeName;
|
this.reportTypeName = reportTypeName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public QName getReportType()
|
public QName getReportType()
|
||||||
{
|
{
|
||||||
return reportType;
|
return reportType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init()
|
public void init()
|
||||||
{
|
{
|
||||||
// convert type name to QName
|
// convert type name to QName
|
||||||
reportType = QName.createQName(reportTypeName, namespaceService);
|
reportType = QName.createQName(reportTypeName, namespaceService);
|
||||||
|
|
||||||
// register report generator
|
// register report generator
|
||||||
reportService.registerReportGenerator(this);
|
reportService.registerReportGenerator(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Report generateReport(NodeRef reportedUponNodeRef, String mimetype)
|
public Report generateReport(NodeRef reportedUponNodeRef, String mimetype)
|
||||||
{
|
{
|
||||||
|
ParameterCheck.mandatory("reportedUponNodeRef", reportedUponNodeRef);
|
||||||
|
ParameterCheck.mandatoryString("mimetype", mimetype);
|
||||||
|
|
||||||
|
return generateReport(reportedUponNodeRef, mimetype, new HashMap<String, Serializable>(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Report generateReport(NodeRef reportedUponNodeRef, String mimetype, Map<String, Serializable> properties)
|
||||||
|
{
|
||||||
|
ParameterCheck.mandatory("reportedUponNodeRef", reportedUponNodeRef);
|
||||||
|
ParameterCheck.mandatoryString("mimetype", mimetype);
|
||||||
|
ParameterCheck.mandatory("properties", properties);
|
||||||
|
|
||||||
String reportName = generateReportName(reportedUponNodeRef);
|
String reportName = generateReportName(reportedUponNodeRef);
|
||||||
Map<QName, Serializable> reportProperties = generateReportProperties(reportedUponNodeRef);
|
Map<QName, Serializable> reportProperties = generateReportProperties(reportedUponNodeRef);
|
||||||
ContentReader contentReader = generateReportContent(reportedUponNodeRef, mimetype);
|
ContentReader contentReader = generateReportContent(reportedUponNodeRef, mimetype, properties);
|
||||||
return new ReportInfo(reportType, reportName, reportProperties, contentReader);
|
return new ReportInfo(reportType, reportName, reportProperties, contentReader);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract String generateReportName(NodeRef reportedUponNodeRef);
|
protected abstract String generateReportName(NodeRef reportedUponNodeRef);
|
||||||
|
|
||||||
|
|
||||||
protected Map<QName, Serializable> generateReportProperties(NodeRef reportedUponNodeRef)
|
protected Map<QName, Serializable> generateReportProperties(NodeRef reportedUponNodeRef)
|
||||||
{
|
{
|
||||||
// default implementation
|
// default implementation
|
||||||
return new HashMap<QName, Serializable>(0);
|
return new HashMap<QName, Serializable>(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract ContentReader generateReportContent(NodeRef reportedUponNodeRef, String mimetype);
|
protected abstract ContentReader generateReportContent(NodeRef reportedUponNodeRef, String mimetype, Map<String, Serializable> properties);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -40,7 +40,7 @@ import org.springframework.extensions.surf.util.I18NUtil;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Declarative report generator.
|
* Declarative report generator.
|
||||||
*
|
*
|
||||||
* @author Roy Wetherall
|
* @author Roy Wetherall
|
||||||
* @since 2.1
|
* @since 2.1
|
||||||
*/
|
*/
|
||||||
@@ -48,35 +48,35 @@ public class DeclarativeReportGenerator extends BaseReportGenerator
|
|||||||
{
|
{
|
||||||
/** template lookup root */
|
/** template lookup root */
|
||||||
protected static final NodeRef TEMPLATE_ROOT = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, "rm_report_templates");
|
protected static final NodeRef TEMPLATE_ROOT = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, "rm_report_templates");
|
||||||
|
|
||||||
/** model keys */
|
/** model keys */
|
||||||
protected static final String KEY_NODE = "node";
|
protected static final String KEY_NODE = "node";
|
||||||
protected static final String KEY_CHILDREN = "children";
|
protected static final String KEY_CHILDREN = "children";
|
||||||
|
|
||||||
/** content service */
|
/** content service */
|
||||||
protected ContentService contentService;
|
protected ContentService contentService;
|
||||||
|
|
||||||
/** mimetype service */
|
/** mimetype service */
|
||||||
protected MimetypeService mimetypeService;
|
protected MimetypeService mimetypeService;
|
||||||
|
|
||||||
/** file folder service */
|
/** file folder service */
|
||||||
protected FileFolderService fileFolderService;
|
protected FileFolderService fileFolderService;
|
||||||
|
|
||||||
/** template service */
|
/** template service */
|
||||||
protected TemplateService templateService;
|
protected TemplateService templateService;
|
||||||
|
|
||||||
/** node service */
|
/** node service */
|
||||||
protected NodeService nodeService;
|
protected NodeService nodeService;
|
||||||
|
|
||||||
/** repository helper */
|
/** repository helper */
|
||||||
protected Repository repository;
|
protected Repository repository;
|
||||||
|
|
||||||
/** parameter processor component */
|
/** parameter processor component */
|
||||||
protected ParameterProcessorComponent parameterProcessorComponent;
|
protected ParameterProcessorComponent parameterProcessorComponent;
|
||||||
|
|
||||||
/** sys admin params */
|
/** sys admin params */
|
||||||
protected SysAdminParams sysAdminParams;
|
protected SysAdminParams sysAdminParams;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param mimetypeService mimetype service
|
* @param mimetypeService mimetype service
|
||||||
*/
|
*/
|
||||||
@@ -84,7 +84,7 @@ public class DeclarativeReportGenerator extends BaseReportGenerator
|
|||||||
{
|
{
|
||||||
this.mimetypeService = mimetypeService;
|
this.mimetypeService = mimetypeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param fileFolderService file folder service
|
* @param fileFolderService file folder service
|
||||||
*/
|
*/
|
||||||
@@ -92,7 +92,7 @@ public class DeclarativeReportGenerator extends BaseReportGenerator
|
|||||||
{
|
{
|
||||||
this.fileFolderService = fileFolderService;
|
this.fileFolderService = fileFolderService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param templateService template service
|
* @param templateService template service
|
||||||
*/
|
*/
|
||||||
@@ -100,7 +100,7 @@ public class DeclarativeReportGenerator extends BaseReportGenerator
|
|||||||
{
|
{
|
||||||
this.templateService = templateService;
|
this.templateService = templateService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param contentService content service
|
* @param contentService content service
|
||||||
*/
|
*/
|
||||||
@@ -108,7 +108,7 @@ public class DeclarativeReportGenerator extends BaseReportGenerator
|
|||||||
{
|
{
|
||||||
this.contentService = contentService;
|
this.contentService = contentService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param nodeService node service
|
* @param nodeService node service
|
||||||
*/
|
*/
|
||||||
@@ -116,7 +116,7 @@ public class DeclarativeReportGenerator extends BaseReportGenerator
|
|||||||
{
|
{
|
||||||
this.nodeService = nodeService;
|
this.nodeService = nodeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param parameterProcessorComponent parameter processor component
|
* @param parameterProcessorComponent parameter processor component
|
||||||
*/
|
*/
|
||||||
@@ -124,7 +124,7 @@ public class DeclarativeReportGenerator extends BaseReportGenerator
|
|||||||
{
|
{
|
||||||
this.parameterProcessorComponent = parameterProcessorComponent;
|
this.parameterProcessorComponent = parameterProcessorComponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param repository repository helper
|
* @param repository repository helper
|
||||||
*/
|
*/
|
||||||
@@ -132,7 +132,7 @@ public class DeclarativeReportGenerator extends BaseReportGenerator
|
|||||||
{
|
{
|
||||||
this.repository = repository;
|
this.repository = repository;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param sysAdminParams sys admin params
|
* @param sysAdminParams sys admin params
|
||||||
*/
|
*/
|
||||||
@@ -140,68 +140,71 @@ public class DeclarativeReportGenerator extends BaseReportGenerator
|
|||||||
{
|
{
|
||||||
this.sysAdminParams = sysAdminParams;
|
this.sysAdminParams = sysAdminParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.alfresco.module.org_alfresco_module_rm.report.generator.BaseReportGenerator#generateReportName(org.alfresco.service.cmr.repository.NodeRef)
|
* @see org.alfresco.module.org_alfresco_module_rm.report.generator.BaseReportGenerator#generateReportName(org.alfresco.service.cmr.repository.NodeRef)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected String generateReportName(NodeRef reportedUponNodeRef)
|
protected String generateReportName(NodeRef reportedUponNodeRef)
|
||||||
{
|
{
|
||||||
String reportTypeName = reportType.getPrefixedQName(namespaceService).getPrefixString().replace(":", "_");
|
String reportTypeName = reportType.getPrefixedQName(namespaceService).getPrefixString().replace(":", "_");
|
||||||
String value = I18NUtil.getMessage("report." + reportTypeName + ".name");
|
String value = I18NUtil.getMessage("report." + reportTypeName + ".name");
|
||||||
return parameterProcessorComponent.process(value, reportedUponNodeRef);
|
return parameterProcessorComponent.process(value, reportedUponNodeRef);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.alfresco.module.org_alfresco_module_rm.report.generator.BaseReportGenerator#generateReportContent(org.alfresco.service.cmr.repository.NodeRef, java.lang.String)
|
* @see org.alfresco.module.org_alfresco_module_rm.report.generator.BaseReportGenerator#generateReportContent(NodeRef, String, Map)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected ContentReader generateReportContent(NodeRef reportedUponNodeRef, String mimetype)
|
protected ContentReader generateReportContent(NodeRef reportedUponNodeRef, String mimetype, Map<String, Serializable> properties)
|
||||||
{
|
{
|
||||||
// get the template
|
// get the template
|
||||||
NodeRef reportTemplateNodeRef = getReportTemplate(mimetype);
|
NodeRef reportTemplateNodeRef = getReportTemplate(mimetype);
|
||||||
|
|
||||||
// get the model
|
// get the model
|
||||||
Map<String, Serializable> model = createTemplateModel(reportTemplateNodeRef, reportedUponNodeRef);
|
Map<String, Serializable> model = createTemplateModel(reportTemplateNodeRef, reportedUponNodeRef, properties);
|
||||||
|
|
||||||
// run the template
|
// run the template
|
||||||
String result = templateService.processTemplate("freemarker", reportTemplateNodeRef.toString(), model);
|
String result = templateService.processTemplate("freemarker", reportTemplateNodeRef.toString(), model);
|
||||||
|
|
||||||
// create the temp content
|
// create the temp content
|
||||||
ContentWriter contentWriter = contentService.getTempWriter();
|
ContentWriter contentWriter = contentService.getTempWriter();
|
||||||
contentWriter.setEncoding("UTF-8");
|
contentWriter.setEncoding("UTF-8");
|
||||||
contentWriter.setMimetype(mimetype);
|
contentWriter.setMimetype(mimetype);
|
||||||
contentWriter.putContent(result);
|
contentWriter.putContent(result);
|
||||||
|
|
||||||
// return the reader to the temp content
|
// return the reader to the temp content
|
||||||
return contentWriter.getReader();
|
return contentWriter.getReader();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Map<String, Serializable> createTemplateModel(NodeRef templateNodeRef, NodeRef reportedUponNodeRef)
|
protected Map<String, Serializable> createTemplateModel(NodeRef templateNodeRef, NodeRef reportedUponNodeRef, Map<String, Serializable> properties)
|
||||||
{
|
{
|
||||||
Map<String, Serializable> model = new HashMap<String, Serializable>();
|
Map<String, Serializable> model = new HashMap<String, Serializable>();
|
||||||
|
|
||||||
// build the default model
|
// build the default model
|
||||||
NodeRef person = repository.getPerson();
|
NodeRef person = repository.getPerson();
|
||||||
templateService.buildDefaultModel(person,
|
templateService.buildDefaultModel(person,
|
||||||
repository.getCompanyHome(),
|
repository.getCompanyHome(),
|
||||||
repository.getUserHome(person),
|
repository.getUserHome(person),
|
||||||
templateNodeRef,
|
templateNodeRef,
|
||||||
null);
|
null);
|
||||||
|
|
||||||
// put the reported upon node reference in the model
|
// put the reported upon node reference in the model
|
||||||
model.put(KEY_NODE, reportedUponNodeRef);
|
model.put(KEY_NODE, reportedUponNodeRef);
|
||||||
|
|
||||||
// context url's (handy for images and links)
|
// context url's (handy for images and links)
|
||||||
model.put("url", UrlUtil.getAlfrescoUrl(sysAdminParams));
|
model.put("url", UrlUtil.getAlfrescoUrl(sysAdminParams));
|
||||||
model.put(TemplateService.KEY_SHARE_URL, UrlUtil.getShareUrl(sysAdminParams));
|
model.put(TemplateService.KEY_SHARE_URL, UrlUtil.getShareUrl(sysAdminParams));
|
||||||
|
|
||||||
|
// add additional properties
|
||||||
|
model.put("properties", (Serializable) properties);
|
||||||
|
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get's the report template based on the type and mimetype.
|
* Get's the report template based on the type and mimetype.
|
||||||
*
|
*
|
||||||
* @param mimetype
|
* @param mimetype
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -212,24 +215,24 @@ public class DeclarativeReportGenerator extends BaseReportGenerator
|
|||||||
{
|
{
|
||||||
throw new AlfrescoRuntimeException("Unable to get report template, because the template root folder does not exist in the data dictionary.");
|
throw new AlfrescoRuntimeException("Unable to get report template, because the template root folder does not exist in the data dictionary.");
|
||||||
}
|
}
|
||||||
|
|
||||||
String reportTemplateName = getReportTemplateName(mimetype);
|
String reportTemplateName = getReportTemplateName(mimetype);
|
||||||
|
|
||||||
NodeRef reportTemplateNodeRef = fileFolderService.searchSimple(TEMPLATE_ROOT, reportTemplateName);
|
NodeRef reportTemplateNodeRef = fileFolderService.searchSimple(TEMPLATE_ROOT, reportTemplateName);
|
||||||
if (reportTemplateNodeRef == null)
|
if (reportTemplateNodeRef == null)
|
||||||
{
|
{
|
||||||
throw new AlfrescoRuntimeException("Unable to get report template, because report template " + reportTemplateName + " does not exist.");
|
throw new AlfrescoRuntimeException("Unable to get report template, because report template " + reportTemplateName + " does not exist.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// get localise template
|
// get localise template
|
||||||
return fileFolderService.getLocalizedSibling(reportTemplateNodeRef);
|
return fileFolderService.getLocalizedSibling(reportTemplateNodeRef);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the template name based on the type and mimetype.
|
* Gets the template name based on the type and mimetype.
|
||||||
*
|
*
|
||||||
* @param mimetype
|
* @param mimetype
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -237,14 +240,14 @@ public class DeclarativeReportGenerator extends BaseReportGenerator
|
|||||||
{
|
{
|
||||||
String typePrefixName = reportType.getPrefixedQName(namespaceService).getPrefixString().replace(":", "_");
|
String typePrefixName = reportType.getPrefixedQName(namespaceService).getPrefixString().replace(":", "_");
|
||||||
String extension = mimetypeService.getExtension(mimetype);
|
String extension = mimetypeService.getExtension(mimetype);
|
||||||
|
|
||||||
StringBuffer sb = new StringBuffer(128)
|
StringBuffer sb = new StringBuffer(128)
|
||||||
.append("report_")
|
.append("report_")
|
||||||
.append(typePrefixName)
|
.append(typePrefixName)
|
||||||
.append(".")
|
.append(".")
|
||||||
.append(extension)
|
.append(extension)
|
||||||
.append(".ftl");
|
.append(".ftl");
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user