protected void setRelevantReferencesToReport(Report entity) { for (ReportValueFormat reportValueFormat : entity.getValuesFormats()) { reportValueFormat.setReport(entity); } for (BandDefinition bandDefinition : entity.getBands()) { bandDefinition.setReport(entity); } for (ReportInputParameter reportInputParameter : entity.getInputParameters()) { reportInputParameter.setReport(entity); } for (ReportScreen reportScreen : entity.getReportScreens()) { reportScreen.setReport(entity); } } }
protected void createDefaultFormats(Report report, ReportData reportData, ReportRegion reportRegion) { ArrayList<ReportValueFormat> formats = new ArrayList<>(); if (!reportData.getTemplateFileName().endsWith(".html")) { for (RegionProperty regionProperty : reportRegion.getRegionProperties()) { if (regionProperty.getEntityTreeNode().getWrappedMetaProperty().getJavaType().isAssignableFrom(Date.class)) { ReportValueFormat rvf = new ReportValueFormat(); rvf.setReport(report); rvf.setValueName(reportRegion.getNameForBand() + "." + regionProperty.getEntityTreeNode().getWrappedMetaProperty().getName()); rvf.setFormatString(messages.getMainMessage("dateTimeFormat")); AnnotatedElement annotatedElement = regionProperty.getEntityTreeNode().getWrappedMetaProperty().getAnnotatedElement(); if (annotatedElement != null && annotatedElement.isAnnotationPresent(Temporal.class)) { switch (annotatedElement.getAnnotation(Temporal.class).value()) { case TIME: rvf.setFormatString(messages.getMainMessage("timeFormat")); break; case DATE: rvf.setFormatString(messages.getMainMessage("dateFormat")); break; } } formats.add(rvf); } } } report.getValuesFormats().addAll(formats); }
@Override public void onBeforeDetach(Report entity, EntityManager entityManager) { if (persistence.getTools().isLoaded(entity, "xml") && StringUtils.isNotBlank(entity.getXml())) { Report reportFromXml = reportingApi.convertToReport(entity.getXml()); entity.setBands(reportFromXml.getBands()); entity.setInputParameters(reportFromXml.getInputParameters()); entity.setReportScreens(reportFromXml.getReportScreens()); entity.setRoles(reportFromXml.getRoles()); entity.setValuesFormats(reportFromXml.getValuesFormats()); entity.setValidationOn(reportFromXml.getValidationOn()); entity.setValidationScript(reportFromXml.getValidationScript()); setRelevantReferencesToReport(entity); sortRootChildrenBands(entity); } }