Class ReportWizard
java.lang.Object
io.jmix.reportsflowui.view.reportwizard.ReportWizard
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected DataSetFactoryprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected EntityTreeModelBuilderprotected ExtendedEntitiesprotected FetchPlansprotected Messagesprotected Metadataprotected MetadataToolsprotected ReportsPersistenceprotected ReportsPropertiesprotected ReportsSerializationprotected ReportsUtilsstatic final Stringprotected TemplateGenerator
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionbuildEntityTree(MetaClass metaClass) protected Set<BandDefinition>createBands(Report report, BandDefinition rootReportBandDefinition, ReportData reportData, ReportInputParameter mainParameter) protected BandDefinitioncreateDataBand(Report report, BandDefinition rootBandDefinition, String name, int bandDefPos) protected voidcreateDefaultFormats(Report report, ReportData reportData, ReportRegion reportRegion) protected ReportTemplatecreateDefaultTemplate(Report report, ReportData reportData) protected voidcreateEntityDataSet(ReportData reportData, ReportRegion reportRegion, BandDefinition dataBand, ReportInputParameter mainParameter, FetchPlan parameterFetchPlan) createFetchPlanByReportRegions(EntityTreeNode entityTreeRootNode, List<ReportRegion> reportRegions) protected BandDefinitioncreateHeaderBand(Report report, BandDefinition rootReportBandDefinition, int bandDefPos, ReportRegion reportRegion) protected voidcreateJpqlDataSet(ReportData reportData, ReportRegion reportRegion, BandDefinition dataBand) protected ReportInputParametercreateMainInputParameter(Report report, ReportData reportData) protected ReportInputParametercreateParameter(Report report, int position) protected ReportInputParametercreateParameters(ReportData reportData, Report report) protected ReportcreateReport(ReportData reportData, boolean isTmp) createReportRegionByFetchPlan(EntityTree entityTree, boolean isTabulated, FetchPlan fetchPlan, String collectionPropertyName) Create report region using fetch plan and whole entity model as entityTree param For creating tabulated report region for collection of entity (when used # in alias of dataset) fetch plan and parameters must to be non-nul values because otherwise necessary ReportRegion.regionPropertiesRootNode field value will be null.protected BandDefinitioncreateRootBand(Report report) protected FetchPlanBuilderensureParentFetchPlansExist(EntityTreeNode entityTreeNode, Map<EntityTreeNode, FetchPlanBuilder> fetchPlansForNodes) Search for fetch plan for parent node If does not exists - createDataSet it and add property to parent of parent fetch planbyte[]generateTemplate(ReportData reportData, TemplateFileType templateFileType) getEffectiveEntities(List<String> entitiesList) booleanisEntityAllowedForReportWizard(MetaClass effectiveMetaClass) booleanisPropertyAllowedForReportWizard(MetaClass metaClass, MetaProperty metaProperty) protected voiditerateFetchPlanAndCreatePropertiesForRegion(boolean scalarOnly, FetchPlan parentFetchPlan, Map<String, EntityTreeNode> allNodesAndHierarchicalPathsMap, List<RegionProperty> regionProperties, String pathFromParentFetchPlan, long propertyOrderNum) protected voidnodesToMap(EntityTreeNode node, Map<String, EntityTreeNode> allNodesAndHierarchicalPathsMap) toReport(ReportData reportData, boolean temporary) 
- 
Field Details- 
ROOT_BAND_DEFINITION_NAME- See Also:
 
- 
DEFAULT_SINGLE_ENTITY_NAME- See Also:
 
- 
DEFAULT_LIST_OF_ENTITIES_NAME- See Also:
 
- 
DEFAULT_SINGLE_ENTITY_ALIAS- See Also:
 
- 
DEFAULT_LIST_OF_ENTITIES_ALIAS- See Also:
 
- 
metadata
- 
reportsPersistence
- 
reportsUtils
- 
reportsSerialization
- 
reportsProperties
- 
extendedEntities
- 
dataSetFactory
- 
messages
- 
metadataTools
- 
templateGenerator
- 
entityTreeModelBuilderApiProvider
- 
fetchPlans
 
- 
- 
Constructor Details- 
ReportWizardpublic ReportWizard()
 
- 
- 
Method Details- 
toReport
- 
createBandsprotected Set<BandDefinition> createBands(Report report, BandDefinition rootReportBandDefinition, ReportData reportData, ReportInputParameter mainParameter) 
- 
createParameters
- 
createReport
- 
createJpqlDataSetprotected void createJpqlDataSet(ReportData reportData, ReportRegion reportRegion, BandDefinition dataBand) 
- 
createEntityDataSetprotected void createEntityDataSet(ReportData reportData, ReportRegion reportRegion, BandDefinition dataBand, ReportInputParameter mainParameter, FetchPlan parameterFetchPlan) 
- 
createRootBand
- 
createMainInputParameter
- 
createParameter
- 
createDefaultTemplate
- 
createDataBandprotected BandDefinition createDataBand(Report report, BandDefinition rootBandDefinition, String name, int bandDefPos) 
- 
createDefaultFormatsprotected void createDefaultFormats(Report report, ReportData reportData, ReportRegion reportRegion) 
- 
createHeaderBandprotected BandDefinition createHeaderBand(Report report, BandDefinition rootReportBandDefinition, int bandDefPos, ReportRegion reportRegion) 
- 
createFetchPlanByReportRegionspublic FetchPlan createFetchPlanByReportRegions(EntityTreeNode entityTreeRootNode, List<ReportRegion> reportRegions) 
- 
createReportRegionByFetchPlanpublic ReportRegion createReportRegionByFetchPlan(EntityTree entityTree, boolean isTabulated, @Nullable FetchPlan fetchPlan, @Nullable String collectionPropertyName) Create report region using fetch plan and whole entity model as entityTree param For creating tabulated report region for collection of entity (when used # in alias of dataset) fetch plan and parameters must to be non-nul values because otherwise necessary ReportRegion.regionPropertiesRootNode field value will be null. That value is determined by that fetch plan.- Parameters:
- entityTree- the whole entity tree model
- isTabulated- determine which region will be created
- fetchPlan- by that fetch plan the region will be created
- collectionPropertyName- must to be non-null for a tabulated region
- Returns:
- report region
 
- 
ensureParentFetchPlansExist@Nullable protected FetchPlanBuilder ensureParentFetchPlansExist(EntityTreeNode entityTreeNode, Map<EntityTreeNode, FetchPlanBuilder> fetchPlansForNodes) Search for fetch plan for parent node If does not exists - createDataSet it and add property to parent of parent fetch plan- Parameters:
- entityTreeNode- entity tree node
- fetchPlansForNodes- fetch plans for previous nodes
- Returns:
- fetch plan builder
 
- 
iterateFetchPlanAndCreatePropertiesForRegionprotected void iterateFetchPlanAndCreatePropertiesForRegion(boolean scalarOnly, FetchPlan parentFetchPlan, Map<String, EntityTreeNode> allNodesAndHierarchicalPathsMap, List<RegionProperty> regionProperties, @Nullable String pathFromParentFetchPlan, long propertyOrderNum) 
- 
nodesToMapprotected void nodesToMap(EntityTreeNode node, Map<String, EntityTreeNode> allNodesAndHierarchicalPathsMap) 
- 
isEntityAllowedForReportWizard
- 
isPropertyAllowedForReportWizard
- 
generateTemplatepublic byte[] generateTemplate(ReportData reportData, TemplateFileType templateFileType) throws TemplateGenerationException - Throws:
- TemplateGenerationException
 
- 
buildEntityTree
- 
getWizardBlackListedEntities
- 
getWizardWhiteListedEntities
- 
getEffectiveEntities
- 
getWizardBlackListedProperties
- 
getWizardPropertiesExcludedBlackList
 
-