protected BandDefinition createRootBand(Report report) { BandDefinition rootReportBandDefinition = metadata.create(BandDefinition.class); rootReportBandDefinition.setPosition(0); rootReportBandDefinition.setName(ROOT_BAND_DEFINITION_NAME); rootReportBandDefinition.setReport(report); report.getBands().add(rootReportBandDefinition); return rootReportBandDefinition; }
@Override protected void initNewItem(Report report) { report.setReportType(ReportType.SIMPLE); BandDefinition rootDefinition = metadata.create(BandDefinition.class); rootDefinition.setName("Root"); rootDefinition.setPosition(0); report.setBands(new HashSet<>()); report.getBands().add(rootDefinition); rootDefinition.setReport(report); groupsDs.refresh(); if (groupsDs.getItemIds() != null) { UUID id = groupsDs.getItemIds().iterator().next(); report.setGroup(groupsDs.getItem(id)); } }
protected BandDefinition createDataBand(Report report, BandDefinition rootBandDefinition, String name, int bandDefPos) { BandDefinition bandDefinition = metadata.create(BandDefinition.class); bandDefinition.setParentBandDefinition(rootBandDefinition); bandDefinition.setOrientation(Orientation.HORIZONTAL); bandDefinition.setName(name); bandDefinition.setPosition(bandDefPos); bandDefinition.setReport(report); return bandDefinition; }
protected BandDefinition createHeaderBand(Report report, BandDefinition rootReportBandDefinition, int bandDefPos, ReportRegion reportRegion) { BandDefinition headerBandDefinition = metadata.create(BandDefinition.class); headerBandDefinition.setParentBandDefinition(rootReportBandDefinition); headerBandDefinition.setOrientation(Orientation.HORIZONTAL); headerBandDefinition.setName(reportRegion.getNameForHeaderBand()); headerBandDefinition.setPosition(bandDefPos); headerBandDefinition.setReport(report); return headerBandDefinition; }
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); } } }
@Override public void actionPerform(Component component) { BandDefinition parentDefinition = treeDs.getItem(); Report report = getItem(); // Use root band as parent if no items selected if (parentDefinition == null) { parentDefinition = report.getRootBandDefinition(); } if (parentDefinition.getChildrenBandDefinitions() == null) { parentDefinition.setChildrenBandDefinitions(new ArrayList<>()); } // orderBandDefinitions(parentDefinition); BandDefinition newBandDefinition = metadata.create(BandDefinition.class); newBandDefinition.setName("newBand" + (parentDefinition.getChildrenBandDefinitions().size() + 1)); newBandDefinition.setOrientation(Orientation.HORIZONTAL); newBandDefinition.setParentBandDefinition(parentDefinition); if (parentDefinition.getChildrenBandDefinitions() != null) { newBandDefinition.setPosition(parentDefinition.getChildrenBandDefinitions().size()); } else { newBandDefinition.setPosition(0); } newBandDefinition.setReport(report); parentDefinition.getChildrenBandDefinitions().add(newBandDefinition); treeDs.addItem(newBandDefinition); treeDs.refresh(); bandTree.expandTree(); bandTree.setSelected(newBandDefinition);//let's try and see if it increases usability bandTree.focus(); }