From c1aeeaa515d7ebe73e40106c6ccca5c931ff7806 Mon Sep 17 00:00:00 2001 From: mattcasters Date: Thu, 27 Aug 2026 17:04:31 +0200 Subject: [PATCH] issue #136 : read-only data vault models --- CHANGELOG.md | 7 + docs/ai-file-schemas/models/hdv.md | 2 +- docs/business-vault-overview.adoc | 4 +- docs/datavault-configuration.adoc | 10 +- docs/datavault-update-action.adoc | 2 + docs/dv-integration-modes.adoc | 2 + docs/feature-overview.adoc | 2 +- docs/help/dv-model-dialog.adoc | 3 +- ...date-resource-definition-group-action.adoc | 2 + .../catalog/ddl/CatalogTableDdlSupport.java | 4 +- .../catalog/discovery/PhysicalSourceRef.java | 2 +- ...RecordDefinitionCatalogRefreshSupport.java | 8 +- .../RecordDefinitionCatalogWriter.java | 12 +- .../RecordDefinitionDiscoveryService.java | 4 +- .../RecordDefinitionPhysicalRefSupport.java | 6 +- .../RecordDefinitionSchemaDiffSupport.java | 2 +- ...SourceFieldMetadataEquivalenceSupport.java | 2 +- .../harvest/SchemaHarvestApplyGuiSupport.java | 22 +- .../SchemaHarvestCatalogApplySupport.java | 10 +- .../SchemaHarvestConnectionBatcher.java | 10 +- .../harvest/SchemaHarvestFkDiffSupport.java | 4 +- .../SchemaHarvestModelCheckSupport.java | 18 +- .../catalog/harvest/SchemaHarvestModels.java | 2 +- .../catalog/harvest/SchemaHarvestService.java | 12 +- .../SchemaHarvestSourceModelGenerator.java | 10 +- .../harvest/SchemaHarvestSubjectResolver.java | 10 +- .../SchemaHarvestHistoryPublisher.java | 20 +- .../history/SchemaHarvestHistoryReader.java | 16 +- .../hopgui/LocalCatalogOfferSupport.java | 12 +- .../RecordOriginNavigationSupport.java | 10 +- .../DataCatalogRecordListFilter.java | 2 +- .../QualityHistoryBrowserDialog.java | 6 +- .../QualityHistoryFindingsDialog.java | 2 +- ...ordDefinitionCatalogRefreshGuiSupport.java | 8 +- .../RecordDefinitionDetailsPanel.java | 42 ++-- ...freshRecordDefinitionFromSourceDialog.java | 8 +- .../SchemaHarvestChangesDialog.java | 6 +- .../SchemaHarvestHistoryBrowserDialog.java | 12 +- .../SchemaHarvestHistoryGuiSupport.java | 14 +- .../SchemaHarvestSubjectHistoryDialog.java | 8 +- .../importmenu/DataCatalogImportContext.java | 2 +- .../importmenu/DataCatalogImportMenu.java | 6 +- .../RecordDefinitionPreviewRunner.java | 10 +- .../RecordDefinitionPreviewSupport.java | 10 +- .../impl/file/RecordDefinitionDocument.java | 10 +- .../edw/catalog/metadata/DataCatalogMeta.java | 4 +- .../DataCatalogMetaObjectFactory.java | 4 +- .../DataCatalogMetaSearchableAnalyser.java | 2 +- .../quality/CatalogQualitySubjectSupport.java | 8 +- .../catalog/smoke/CatalogRegistrySmoke.java | 16 +- .../catalog/spi/DataCatalogPluginFactory.java | 6 +- .../RecordDefinitionDataInput.java | 4 +- .../RecordDefinitionDataInputMeta.java | 2 +- .../RecordDefinitionDataInputSupport.java | 12 +- .../recordddl/RecordDefinitionDdlData.java | 2 +- .../RecordDefinitionInputData.java | 2 +- .../recordoutput/RecordDefinitionOutput.java | 12 +- .../RecordDefinitionOutputData.java | 2 +- .../RecordDefinitionOutputFieldSupport.java | 2 +- .../RecordDefinitionOutputMeta.java | 6 +- .../versioning/CatalogVersionGuiSupport.java | 2 +- .../versioning/CatalogVersionService.java | 10 +- .../versioning/CatalogVersionStore.java | 6 +- ...sterDataCatalogMetadataExtensionPoint.java | 4 +- ...DefinitionGroupMetadataExtensionPoint.java | 2 +- .../edw/datavault/ai/DvAiContextBuilder.java | 10 +- .../edw/datavault/ai/DvAiProposalApplier.java | 2 +- .../datavault/ai/DvAiProposalValidator.java | 2 +- .../ai/DvAiStructuralProposalSupport.java | 2 +- .../ai/SourceToVaultAiContextBuilder.java | 2 +- .../ai/businessvault/BvAiAdvisorService.java | 4 +- .../ai/businessvault/BvAiContextBuilder.java | 4 +- .../ai/businessvault/BvAiProposalApplier.java | 2 +- .../businessvault/BvAiProposalValidator.java | 2 +- .../ai/dimensional/DmAiAdvisorService.java | 4 +- .../ai/dimensional/DmAiContextBuilder.java | 4 +- .../ai/dimensional/DmAiProposalApplier.java | 2 +- .../ai/dimensional/DmAiProposalValidator.java | 2 +- .../ai/pipeline/PipelineAiContextBuilder.java | 4 +- .../pipeline/PipelineAiProposalApplier.java | 6 +- .../pipeline/PipelineAiProposalValidator.java | 4 +- .../ai/workflow/WorkflowAiContextBuilder.java | 4 +- .../workflow/WorkflowAiProposalApplier.java | 6 +- .../workflow/WorkflowAiProposalValidator.java | 4 +- .../ArchitectureExportService.java | 4 +- .../datavault/catalog/BvCatalogPublisher.java | 12 +- .../catalog/CatalogDvSourceMapper.java | 6 +- .../catalog/CatalogModelRegistrySupport.java | 8 +- .../datavault/catalog/DmCatalogPublisher.java | 12 +- .../datavault/catalog/DvCatalogPublisher.java | 12 +- .../catalog/DvLegacySourceMigrator.java | 8 +- .../catalog/DvSourceCatalogMapper.java | 8 +- .../catalog/DvSourceCatalogService.java | 10 +- .../catalog/DvSourceFieldSupport.java | 10 +- .../catalog/smoke/DvCatalogPublishSmoke.java | 16 +- .../ArchitectureExportCommand.java | 6 +- .../executionmap/ExecutionMapCommand.java | 4 +- .../executionmap/ExecutionMapService.java | 2 +- .../command/svg/SvgExportService.java | 12 +- .../config/ElkLayoutConfigOptionPlugin.java | 16 +- .../ExecutionMapConfigOptionPlugin.java | 4 +- .../config/HopAiConfigOptionPlugin.java | 12 +- .../edw/datavault/dbt/DbtImportOptions.java | 2 +- .../edw/datavault/dbt/DbtImportService.java | 6 +- .../edw/datavault/dbt/DbtProjectParser.java | 2 +- .../executionmap/ExecutionMapContext.java | 2 +- .../executionmap/ExecutionMapCrawler.java | 2 +- .../ExecutionMapDatasetCatalogSupport.java | 2 +- .../executionmap/ExecutionMapLineStyle.java | 2 +- .../executionmap/ExecutionMapNodeColors.java | 2 +- .../executionmap/ExecutionMapPersistence.java | 4 +- .../executionmap/ModelDatasetResolver.java | 4 +- .../executionmap/ModelPipelineResolver.java | 2 +- .../executionmap/PipelineCrawler.java | 6 +- .../PipelineDatasetCatalogResolver.java | 2 +- .../executionmap/PipelineDatasetResolver.java | 4 +- .../ReferencedObjectResolver.java | 10 +- .../executionmap/WorkflowCrawler.java | 6 +- .../ModelTableLayoutPreviewSupport.java | 8 +- .../ModelUpdateWorkflowClipboardSupport.java | 8 +- .../StandardProjectElementsOfferSupport.java | 16 +- .../hopgui/ai/BvAiAdvisorDialog.java | 32 +-- .../hopgui/ai/DmAiAdvisorDialog.java | 32 +-- .../hopgui/ai/DvAiAdvisorDialog.java | 32 +-- .../hopgui/ai/DvAiCatalogSourceSelector.java | 8 +- .../hopgui/ai/DvAiProposalReviewDialog.java | 10 +- .../hopgui/ai/HopAiProposalReviewDialog.java | 8 +- .../hopgui/ai/HopAiTranscriptPanel.java | 2 +- .../ai/ModelAiProposalReviewDialog.java | 6 +- .../hopgui/ai/PipelineAiAdvisorDialog.java | 30 +-- .../hopgui/ai/WorkflowAiAdvisorDialog.java | 30 +-- .../coaching/AddCoachingSourcesDialog.java | 12 +- .../coaching/CoachingCanvasDropSupport.java | 6 +- .../CoachingHubBusinessKeySupport.java | 2 +- .../coaching/CoachingImportSupport.java | 4 +- .../coaching/CoachingMappingApplier.java | 2 +- .../CoachingMappingDialogSupport.java | 2 +- .../coaching/CoachingTableTypeDialog.java | 10 +- .../GenericSourceTargetMappingDialog.java | 4 +- .../hopgui/coaching/ModelCoachPanel.java | 16 +- .../ExecutionMapGenerationDialog.java | 6 +- .../executionmap/ExecutionMapGuiPlugin.java | 6 +- .../BusinessVaultBvNavigationSupport.java | 10 +- .../BusinessVaultDvNavigationSupport.java | 12 +- .../BusinessVaultModelCanvasSvgRenderer.java | 2 +- .../BusinessVaultModelPainter.java | 4 +- .../BusinessVaultModelSvgPainter.java | 2 +- .../HopBusinessVaultFileType.java | 14 +- ...HopGuiBusinessVaultBvReferenceContext.java | 4 +- .../HopGuiBusinessVaultContext.java | 2 +- ...HopGuiBusinessVaultDvReferenceContext.java | 4 +- .../HopGuiBusinessVaultGraph.java | 74 +++---- .../HopGuiBusinessVaultModelDialog.java | 10 +- .../HopGuiBusinessVaultNoteContext.java | 4 +- .../HopGuiBusinessVaultTableContext.java | 4 +- .../HopGuiBvScd2TableDialog.java | 38 ++-- .../businessvault/HopGuiBvTableDialog.java | 40 ++-- .../businessvault/HopGuiDbtImportDialog.java | 18 +- .../businessvault/HopGuiDbtImportSupport.java | 10 +- .../BusinessVaultClipboardPasteSupport.java | 2 +- .../HopGuiBusinessVaultClipboardDelegate.java | 16 +- .../HopGuiBusinessVaultSnapshotUndo.java | 2 +- .../DimensionalModelCanvasSvgRenderer.java | 2 +- .../dimensional/DimensionalModelPainter.java | 4 +- .../DimensionalModelSvgPainter.java | 2 +- .../DmDimensionAliasNavigationSupport.java | 10 +- .../DmSourceDateGeneratorGuiSupport.java | 16 +- .../DmSourcePipelineGuiSupport.java | 8 +- .../DmSourcePipelineOpenSupport.java | 4 +- .../DmSourceRecordDefinitionGuiSupport.java | 18 +- .../dimensional/DmSourceSqlGuiSupport.java | 4 +- .../dimensional/HopDimensionalFileType.java | 16 +- .../dimensional/HopGuiDimensionalContext.java | 2 +- .../HopGuiDimensionalModelDialog.java | 10 +- .../HopGuiDimensionalModelGraph.java | 70 +++--- .../HopGuiDimensionalNoteContext.java | 4 +- .../HopGuiDimensionalTableContext.java | 4 +- .../HopGuiDmDatabaseImportSupport.java | 12 +- .../HopGuiDmRangeDimensionDialog.java | 22 +- .../DimensionalClipboardPasteSupport.java | 2 +- .../HopGuiDimensionalClipboardDelegate.java | 16 +- .../HopGuiDimensionalSnapshotUndo.java | 2 +- .../ExecutionMapBreadcrumbBar.java | 6 +- .../ExecutionMapDatasetDetailsViewer.java | 6 +- .../executionmap/ExecutionMapDiffViewer.java | 2 +- .../ExecutionMapNavigationSupport.java | 26 +-- .../ExecutionMapReadOnlyInteractions.java | 2 +- .../ExecutionMapSnapshotViewer.java | 8 +- .../executionmap/HopExecutionMapFileType.java | 6 +- .../executionmap/HopGuiExecutionMapGraph.java | 32 +-- .../HopGuiExecutionMapNodeContext.java | 4 +- .../lineageview/HopGuiLineageViewGraph.java | 60 +++--- .../HopGuiLineageViewNodeContext.java | 4 +- .../HopGuiLineageViewSearchable.java | 2 +- .../lineageview/HopLineageViewFileType.java | 8 +- .../LineageViewReadOnlyInteractions.java | 2 +- .../LoadRunDurationOverviewPainter.java | 4 +- .../LoadRunDurationPreviewSupport.java | 4 +- .../file/metrics/ModelLoadDurationPane.java | 4 +- .../modelgraph/DmTableDisplaySupport.java | 2 +- .../file/modelgraph/HopGuiModelGraphBase.java | 18 +- .../ModelDialogValidationSupport.java | 14 +- .../modelgraph/ModelGraphSnapshotUndo.java | 4 +- .../sourcemodel/HopGuiSourceJsonContext.java | 4 +- .../sourcemodel/HopGuiSourceModelContext.java | 2 +- .../sourcemodel/HopGuiSourceModelGraph.java | 64 +++--- .../HopGuiSourceModelImportSupport.java | 12 +- .../sourcemodel/HopGuiSourceNoteContext.java | 4 +- .../HopGuiSourcePipelineContext.java | 4 +- .../HopGuiSourceQueryComposeSupport.java | 12 +- .../sourcemodel/HopGuiSourceQueryContext.java | 4 +- .../HopGuiSourceRelationshipContext.java | 4 +- .../sourcemodel/HopGuiSourceTableContext.java | 4 +- .../sourcemodel/HopSourceModelFileType.java | 14 +- .../sourcemodel/SourceDataTypeMappingTab.java | 16 +- .../SourceModelCanvasSvgRenderer.java | 2 +- .../file/sourcemodel/SourceModelPainter.java | 6 +- .../sourcemodel/SourceModelSvgPainter.java | 2 +- .../HopGuiSourceModelClipboardDelegate.java | 12 +- .../HopGuiSourceModelSnapshotUndo.java | 2 +- .../hopgui/file/vault/BasePainter.java | 2 +- .../DataVaultModelCanvasSvgRenderer.java | 2 +- .../file/vault/DataVaultModelPainter.java | 4 +- .../vault/DvCatalogSourceSelectionLine.java | 8 +- .../vault/DvCustomPipelinesTabSupport.java | 4 +- .../hopgui/file/vault/DvHubDialog.java | 32 +-- .../hopgui/file/vault/DvLinkDialog.java | 42 ++-- .../file/vault/DvLinkHubSourceDialog.java | 10 +- .../vault/DvLinkSatelliteSourceDialog.java | 10 +- .../vault/DvLinkedTableNavigationSupport.java | 10 +- .../hopgui/file/vault/DvNoteDialog.java | 10 +- .../hopgui/file/vault/DvNoteStyle.java | 2 +- .../file/vault/DvReferenceTableDialog.java | 36 ++-- .../hopgui/file/vault/DvSatelliteDialog.java | 38 ++-- .../file/vault/DvSourceComboSupport.java | 6 +- .../vault/HopGuiDataVaultModelDialog.java | 12 +- .../HopGuiDvDimensionalPublishSupport.java | 12 +- .../hopgui/file/vault/HopGuiVaultContext.java | 2 +- .../hopgui/file/vault/HopGuiVaultGraph.java | 123 ++++++----- .../file/vault/HopGuiVaultNoteContext.java | 4 +- .../file/vault/HopGuiVaultTableContext.java | 4 +- .../hopgui/file/vault/HopVaultFileType.java | 14 +- .../file/vault/HubSourceKeyFieldDialog.java | 22 +- .../RecordSourceCatalogNavigationSupport.java | 8 +- .../vault/SatelliteSourceKeyFieldDialog.java | 24 +-- .../DataVaultClipboardPasteSupport.java | 2 +- .../HopGuiVaultClipboardDelegate.java | 16 +- .../delegates/HopGuiVaultSnapshotUndo.java | 2 +- .../hopgui/help/MarkdownHtmlRenderer.java | 2 +- .../hopgui/lineage/LineageTabSupport.java | 14 +- .../lineage/ReverseLineageBrowserDialog.java | 18 +- .../lineageview/LineageViewGuiPlugin.java | 2 +- .../lineageview/LineageViewLaunchSupport.java | 14 +- .../markdown/CommonMarkStyledTextVisitor.java | 6 +- .../metrics/UpdateRunLiveAnalysisDialog.java | 12 +- .../UpdateRunLiveDiagnosticsFormatter.java | 2 +- .../UpdateRunLiveWorkflowPaintSupport.java | 8 +- .../journey/EdwJourneyCreateSupport.java | 26 +-- .../journey/EdwJourneyDetailsPanel.java | 26 +-- .../perspective/journey/EdwJourneyIds.java | 2 +- .../journey/EdwJourneyNavigationSupport.java | 16 +- .../journey/EdwJourneyOpsDecorations.java | 2 +- .../journey/EdwJourneyOpsOverlayLoader.java | 12 +- .../journey/EdwJourneyPerspective.java | 8 +- .../journey/EdwJourneySnapshotBuilder.java | 14 +- .../journey/EdwJourneyTreeBuilder.java | 2 +- .../journey/EdwJourneyWorkflowScanner.java | 2 +- .../AcknowledgeValidationIssueDialog.java | 4 +- .../ResourceDefinitionIssueDialog.java | 24 +-- ...ourceDefinitionModelNavigationSupport.java | 6 +- ...esourceDefinitionValidationGuiSupport.java | 12 +- ...urceDefinitionValidationOptionsDialog.java | 20 +- ...urceDefinitionValidationResultsDialog.java | 26 +-- .../ValidationIssueGuiActions.java | 10 +- .../HopGuiBusinessVaultModelSearchable.java | 2 +- .../HopGuiDataVaultModelSearchable.java | 2 +- .../HopGuiDimensionalModelSearchable.java | 2 +- .../search/HopGuiSourceModelSearchable.java | 2 +- .../SourceToVaultGenerationSupport.java | 22 +- .../tovault/SourceToVaultReviewDialog.java | 24 +-- .../hopgui/widget/MarkdownStyledTextComp.java | 6 +- .../edw/datavault/impact/ImpactGraph.java | 2 +- .../datavault/impact/ImpactGraphBuilder.java | 2 +- .../jinja/BvSqlJinjaRenderSession.java | 2 +- .../datavault/jinja/BvSqlJinjaSupport.java | 4 +- .../edw/datavault/jinja/DbtJinjaBuiltins.java | 2 +- .../jinja/JinjaMacroLibraryLoader.java | 4 +- .../layout/BusinessVaultElkLayout.java | 2 +- .../layout/DimensionalElkLayout.java | 2 +- .../datavault/layout/DvPipelineElkLayout.java | 2 +- .../edw/datavault/layout/ElkGraphLayout.java | 26 +-- .../edw/datavault/layout/ElkLayoutDialog.java | 4 +- .../datavault/layout/ElkLayoutGuiSupport.java | 2 +- .../edw/datavault/layout/ElkLayoutValues.java | 2 +- .../edw/datavault/layout/SourceElkLayout.java | 2 +- .../edw/datavault/layout/VaultElkLayout.java | 2 +- .../lineage/DdlLineageExplainSupport.java | 4 +- .../lineage/DmModelLineageCollector.java | 2 +- .../lineage/DvModelLineageCollector.java | 2 +- .../lineage/LineageCatalogBaselineLoader.java | 8 +- .../lineage/LineageCatalogPublisher.java | 8 +- .../datavault/lineage/LineageDiffService.java | 2 +- .../lineage/ReverseLineageIndexBuilder.java | 2 +- .../lineageview/HopLineageViewDocument.java | 6 +- .../LineageBackendSelectionSupport.java | 2 +- .../LineageViewNavigationSupport.java | 14 +- .../lineageview/LineageViewOpsOverlay.java | 2 +- .../lineageview/LineageViewPersistence.java | 4 +- .../lineageview/LineageViewSeedSupport.java | 2 +- .../backend/LineageQueryServiceFactory.java | 2 +- .../LocalModelsLineageQueryService.java | 4 +- .../metadata/DataVaultConfiguration.java | 15 +- ...aVaultConfigurationSearchableAnalyser.java | 9 + .../datavault/metadata/DataVaultModel.java | 46 ++-- .../datavault/metadata/DataVaultSource.java | 2 +- .../metadata/DvConstraintDdlSupport.java | 2 +- .../DvDatabaseHubSourcePipelineBuilder.java | 4 +- .../DvDatabaseLinkSourcePipelineBuilder.java | 4 +- ...atabaseReferenceSourcePipelineBuilder.java | 4 +- ...atabaseSatelliteSourcePipelineBuilder.java | 4 +- .../DvFieldMappingValidationSupport.java | 4 +- .../metadata/DvGeneratedPipelineSupport.java | 2 +- .../hopper/edw/datavault/metadata/DvHub.java | 34 +-- .../metadata/DvIntegrationSupport.java | 15 ++ .../hopper/edw/datavault/metadata/DvLink.java | 23 +- .../DvModelBulkUpdateExecutionSupport.java | 6 +- .../metadata/DvModelLoadSupport.java | 2 +- .../metadata/DvOrphanHandlingSupport.java | 4 +- .../DvPipelineOrchestratorSupport.java | 12 +- .../DvReadOnlyExistingVaultSupport.java | 63 ++++++ .../DvReferenceDeleteInsertSupport.java | 2 +- .../datavault/metadata/DvReferenceTable.java | 9 +- .../edw/datavault/metadata/DvSatellite.java | 59 ++--- .../metadata/DvSourcePipelineBuilder.java | 4 +- .../DvSourcePipelineBuilderFactory.java | 4 +- .../metadata/DvSourcePreviewInputSupport.java | 24 +-- .../metadata/DvSpecialRecordSupport.java | 2 +- .../edw/datavault/metadata/DvTableBase.java | 3 +- .../DvTargetUnicodeCapabilitySupport.java | 2 +- .../metadata/DvUpdateWorkflowSupport.java | 4 +- .../GeneratedPipelineMetadataSupport.java | 4 +- .../edw/datavault/metadata/IDvSource.java | 8 +- .../ModelConfigurationExtractSupport.java | 12 +- .../metadata/ModelConfigurationResolver.java | 6 +- ...dSourceIndicatorDatabaseImportSection.java | 2 +- .../RecordSourceIndicatorImportSection.java | 4 +- .../metadata/SourceFieldInputOptions.java | 2 +- .../BusinessVaultBvReferenceSupport.java | 6 +- .../BusinessVaultConfiguration.java | 10 +- ...inessVaultDerivativeValidationSupport.java | 2 +- .../BusinessVaultDvModelResolver.java | 6 +- .../BusinessVaultDvReferenceSupport.java | 6 +- .../businessvault/BusinessVaultModel.java | 12 +- .../businessvault/BvBusinessTable.java | 2 +- .../businessvault/BvDerivativeRef.java | 2 +- .../businessvault/BvDvTableReference.java | 2 +- .../BvGeneratedPipelineSupport.java | 2 +- .../businessvault/BvPitPipelineSupport.java | 16 +- .../metadata/businessvault/BvPitTable.java | 2 +- .../businessvault/BvPitValidationSupport.java | 4 +- .../BvScd2FieldMappingValidationSupport.java | 2 +- .../businessvault/BvScd2PipelineSupport.java | 38 ++-- .../metadata/businessvault/BvScd2Table.java | 6 +- .../businessvault/BvSqlModelPathSupport.java | 4 +- .../metadata/businessvault/BvSqlRef.java | 2 +- .../businessvault/BvSqlRefResolver.java | 2 +- .../businessvault/BvSqlValidationSupport.java | 4 +- .../BvSqlViewPipelineSupport.java | 4 +- .../metadata/businessvault/BvTableBase.java | 10 +- .../metadata/businessvault/IBvTable.java | 2 +- .../coaching/BvCoachingModelAdapter.java | 2 +- .../coaching/DmCoachingModelAdapter.java | 2 +- .../coaching/DvCoachingModelAdapter.java | 4 +- .../DvCompositeHubSourcePipelineBuilder.java | 4 +- .../DvCompositeLinkSourcePipelineBuilder.java | 4 +- ...mpositeSatelliteSourcePipelineBuilder.java | 4 +- .../metadata/composite/DvCompositeSource.java | 4 +- .../DvCompositeSourcePipelineBuilder.java | 10 +- .../DvCompositeSourcePreviewSupport.java | 2 +- .../composite/DvCompositeSourceResolver.java | 2 +- .../metadata/database/DvDatabaseSource.java | 4 +- .../DvDatabaseSourceImportSupport.java | 18 +- .../DvDatabaseSourceLiveSchemaSupport.java | 2 +- .../DvDatabaseSourcePipelineBuilder.java | 14 +- .../DvDatabaseSourcePreviewSupport.java | 2 +- .../ImportDatabaseTablesCatalogDialog.java | 6 +- .../ImportDatabaseTablesOptionsDialog.java | 8 +- .../DataTypeMappingMetaEditor.java | 4 +- .../DataTypeMappingPipelineSupport.java | 6 +- .../datatypemapping/PhysicalSourceField.java | 2 +- .../SourceDataTypeMappingPublishSupport.java | 2 +- .../SourceDataTypeMappingSupport.java | 2 +- ...DataTypeMappingMetadataExtensionPoint.java | 2 +- .../dimensional/DimensionalConfiguration.java | 12 +- .../dimensional/DimensionalModel.java | 10 +- .../DmAccumulatingSnapshotFact.java | 2 +- .../metadata/dimensional/DmAggregateFact.java | 2 +- .../metadata/dimensional/DmBridge.java | 2 +- .../DmDateGeneratorConfiguration.java | 2 +- .../metadata/dimensional/DmDimension.java | 6 +- .../metadata/dimensional/DmFact.java | 2 +- .../metadata/dimensional/DmFactlessFact.java | 2 +- .../metadata/dimensional/DmJunkDimension.java | 2 +- .../metadata/dimensional/DmLayoutSupport.java | 2 +- .../dimensional/DmModelLoadSupport.java | 4 +- .../dimensional/DmPeriodicSnapshotFact.java | 2 +- .../DmSourceFieldResolutionSupport.java | 2 +- .../dimensional/DmSourcePipelineSupport.java | 2 +- .../DmSourceRecordDefinitionSupport.java | 16 +- .../metadata/dimensional/DmTableBase.java | 8 +- .../dimensional/DmValidationSupport.java | 2 +- .../DmDatabaseTableImportSupport.java | 4 +- .../ImportDmDatabaseTablesOptionsDialog.java | 8 +- .../DmAccumulatingSnapshotLoadBuilder.java | 10 +- .../pipeline/DmBridgeLoadBuilder.java | 8 +- .../pipeline/DmCombinationLookupBuilder.java | 4 +- .../pipeline/DmDimensionLookupBuilder.java | 10 +- .../pipeline/DmFactDimensionJoinBuilder.java | 16 +- .../DmFactJunkDimensionJoinBuilder.java | 4 +- .../pipeline/DmFactLikeLoadBuilder.java | 6 +- .../pipeline/DmGeneratedPipelineSupport.java | 2 +- .../pipeline/DmInsertUpdateBuilder.java | 6 +- .../pipeline/DmJunkDimensionBuilder.java | 14 +- .../pipeline/DmNumberRangeBuilder.java | 8 +- .../pipeline/DmPipelineBuilderSupport.java | 14 +- .../pipeline/DmScd2DimensionBuilder.java | 14 +- .../publish/DvPublishModelSupport.java | 6 +- .../publish/DvToDimensionalPublish.java | 2 +- .../file/CsvFileMetadataDiscovery.java | 6 +- .../file/DvCsvHubSourcePipelineBuilder.java | 6 +- .../file/DvCsvLinkSourcePipelineBuilder.java | 4 +- .../DvCsvReferenceSourcePipelineBuilder.java | 6 +- .../DvCsvSatelliteSourcePipelineBuilder.java | 4 +- .../datavault/metadata/file/DvCsvSource.java | 2 +- .../file/DvCsvSourceImportSupport.java | 24 +-- .../metadata/file/DvFileLocationSupport.java | 2 +- .../file/DvFileSourcePipelineBuilder.java | 16 +- .../DvParquetFileSourcePipelineBuilder.java | 10 +- .../DvParquetHubSourcePipelineBuilder.java | 6 +- .../DvParquetLinkSourcePipelineBuilder.java | 4 +- ...ParquetSatelliteSourcePipelineBuilder.java | 4 +- .../metadata/file/DvParquetSource.java | 2 +- .../file/DvParquetSourceImportSupport.java | 22 +- .../file/DvTextFileInputFieldSupport.java | 2 +- .../file/ImportCsvFileOptionsDialog.java | 8 +- .../file/ImportParquetFileOptionsDialog.java | 8 +- .../file/ParquetFileMetadataDiscovery.java | 2 +- .../DvIcebergHubSourcePipelineBuilder.java | 6 +- .../DvIcebergLinkSourcePipelineBuilder.java | 4 +- ...IcebergSatelliteSourcePipelineBuilder.java | 4 +- .../metadata/iceberg/DvIcebergSource.java | 4 +- .../iceberg/DvIcebergSourceImportSupport.java | 20 +- .../DvIcebergSourceLiveSchemaSupport.java | 6 +- .../DvIcebergSourcePipelineBuilder.java | 6 +- .../iceberg/IcebergConnectionSettings.java | 4 +- .../IcebergTableMetadataDiscovery.java | 4 +- .../iceberg/ImportIcebergTableDialog.java | 4 +- .../ImportIcebergTableOptionsDialog.java | 8 +- .../jinja/JinjaMacroLibraryMetaEditor.java | 6 +- ...njaMacroLibraryMetadataExtensionPoint.java | 2 +- .../json/DvJsonHubSourcePipelineBuilder.java | 6 +- .../json/DvJsonLinkSourcePipelineBuilder.java | 4 +- .../DvJsonSatelliteSourcePipelineBuilder.java | 4 +- .../datavault/metadata/json/DvJsonSource.java | 4 +- .../json/DvJsonSourcePipelineBuilder.java | 18 +- .../metadata/json/DvJsonSourceResolver.java | 2 +- .../lineage/FileFolderBackendSettings.java | 2 +- .../lineage/ILineageBackendSettings.java | 2 +- .../lineage/LocalModelsBackendSettings.java | 8 +- .../lineage/MarquezBackendSettings.java | 6 +- ...rLineageBackendMetadataExtensionPoint.java | 2 +- .../DvPipelineHubSourcePipelineBuilder.java | 6 +- .../DvPipelineLinkSourcePipelineBuilder.java | 4 +- ...ipelineSatelliteSourcePipelineBuilder.java | 4 +- .../metadata/pipeline/DvPipelineSource.java | 4 +- .../DvPipelineSourcePipelineBuilder.java | 16 +- .../pipeline/DvPipelineSourceSupport.java | 2 +- .../metadata/sourcemodel/SourceJson.java | 4 +- .../metadata/sourcemodel/SourceModel.java | 4 +- .../sourcemodel/SourceModelConfiguration.java | 2 +- .../sourcemodel/SourceModelLoadSupport.java | 2 +- .../metadata/sourcemodel/SourcePipeline.java | 4 +- .../metadata/sourcemodel/SourceQuery.java | 4 +- .../SourceQueryValidationSupport.java | 4 +- .../metadata/sourcemodel/SourceTable.java | 6 +- .../SourceTableLiveSchemaSupport.java | 2 +- .../SourceTableValidationSupport.java | 2 +- .../SourceJsonParentSampleSupport.java | 2 +- .../generate/SourceJsonPipelineGenerator.java | 14 +- .../generate/SourceJsonPreviewSupport.java | 4 +- .../SourcePipelineCatalogImportSupport.java | 6 +- .../SourceQueryPipelineGenerator.java | 20 +- .../generate/SourceQueryPreviewSupport.java | 2 +- .../generate/SourceTablePreviewSupport.java | 2 +- .../DatabaseSchemaImportSupport.java | 6 +- .../profile/SourceRelationshipProfiler.java | 4 +- .../publish/SourceJsonCatalogPublisher.java | 6 +- .../SourcePipelineCatalogPublisher.java | 6 +- .../publish/SourceQueryCatalogPublisher.java | 6 +- .../publish/SourceTableCatalogPublisher.java | 6 +- .../tovault/SourceToVaultApplySupport.java | 2 +- .../TargetTypeMappingMetaEditor.java | 6 +- .../TargetTypeMappingValidationSupport.java | 2 +- ...rgetTypeMappingMetadataExtensionPoint.java | 2 +- ...elConfigurationMetadataExtensionPoint.java | 4 +- .../ExecutionInfoAiContextBuilder.java | 2 +- .../ExecutionMetricsProfileResolver.java | 2 +- .../LoadRunMetricsCatalogPublisher.java | 12 +- .../metrics/MetadataMetricsResolver.java | 4 +- .../metrics/MetricsAiContextBuilder.java | 2 +- .../WorkflowLoadOverviewPublisher.java | 12 +- .../WorkflowOverviewMetricsResolver.java | 2 +- .../live/UpdateRunLiveMetricsExtractor.java | 6 +- .../metrics/live/UpdateRunLiveMonitor.java | 2 +- .../UpdateRunLiveStagingPipelineSupport.java | 2 +- .../metadata/ExecutionMetricsProfileMeta.java | 2 +- ...nMetricsProfileMetadataExtensionPoint.java | 2 +- .../OpenLineageDatasetLocationResolver.java | 8 +- .../openlineage/OpenLineageExportService.java | 4 +- .../openlineage/OpsLineageEnricher.java | 2 +- .../BaselineContractSupport.java | 8 +- .../HarvestBackedValidationSupport.java | 6 +- .../ModelContractValidationSupport.java | 8 +- .../RemediationProposalApplySupport.java | 27 ++- .../RemediationProposalSupport.java | 4 +- .../ResourceDefinitionGroupResolver.java | 8 +- ...urceDefinitionModelPersistenceSupport.java | 4 +- .../SchemaImpactSimulationService.java | 14 +- .../SchemaRemediationArtifactsSupport.java | 2 +- .../SchemaValidationReportFormatter.java | 4 +- .../SourceRecordValidationService.java | 12 +- .../SourceUsageIndexBuilder.java | 2 +- .../TargetSchemaValidationSupport.java | 8 +- .../ValidationAcknowledgementSupport.java | 6 +- .../ValidationIssueSupport.java | 4 +- .../ValidationReportFormatter.java | 4 +- .../DateDimensionGenerator.java | 4 +- .../DateDimensionGeneratorData.java | 4 +- .../transform/dvhashkey/DvHashKeyMeta.java | 6 +- .../iceberginput/IcebergTableInput.java | 4 +- .../iceberginput/IcebergTableInputData.java | 2 +- .../iceberginput/IcebergTableInputMeta.java | 4 +- .../junkdimension/JunkDimension.java | 4 +- .../junkdimension/JunkDimensionMeta.java | 4 +- .../SortedSchemaMergeData.java | 2 +- .../sourcemodelsql/SourceModelSqlSupport.java | 4 +- .../execute/SourceModelSqlExecutor.java | 12 +- .../generate/RelToPipelineGenerator.java | 36 ++-- .../jdbc/HopSourceModelJdbcConnection.java | 2 +- .../jdbc/HopSourceModelJdbcDriver.java | 4 +- .../sql/SourceModelSqlEngine.java | 2 +- .../ActionBeginVaultUpdate.java | 2 +- .../ActionBeginVaultUpdateDialog.java | 4 +- .../ActionBusinessVaultUpdate.java | 20 +- .../ActionDataVaultUpdate.java | 27 ++- .../ActionDataVaultUpdateDialog.java | 6 +- .../ActionDimensionalPublish.java | 10 +- .../ActionDimensionalUpdate.java | 20 +- .../endvaultupdate/ActionEndVaultUpdate.java | 16 +- .../ActionEndVaultUpdateDialog.java | 4 +- .../ActionExportArchitecture.java | 8 +- .../ActionExportDataLineage.java | 10 +- .../ActionExportDataLineageDialog.java | 4 +- .../ActionGenerateExecutionMap.java | 8 +- .../ActionHarvestSourceMetadata.java | 24 +-- .../importdbt/ActionImportDbtProject.java | 10 +- .../ActionImportDbtProjectDialog.java | 4 +- .../ActionUpdateResourceDefinitionGroup.java | 44 +++- .../ResourceGroupModelUpdatePlanner.java | 2 +- .../ResourceGroupModelValidationSupport.java | 4 +- .../ActionValidateResourceDefinitions.java | 16 +- ...tionValidateResourceDefinitionsDialog.java | 4 +- .../datavault/www/SourceModelDataServlet.java | 14 +- .../history/DataQualityHistoryPublisher.java | 10 +- .../history/DataQualityHistoryReader.java | 8 +- .../service/DataQualityMeasureService.java | 6 +- .../ActionEvaluateQualityGate.java | 16 +- .../ActionMeasureDataQuality.java | 18 +- .../vault/messages/messages_en_US.properties | 1 + .../messages/messages_en_US.properties | 7 +- .../messages/messages_en_US.properties | 1 + .../ddl/CatalogTableDdlSupportTest.java | 6 +- ...rdDefinitionCatalogRefreshSupportTest.java | 2 +- .../SchemaHarvestModelCheckSupportTest.java | 10 +- ...SchemaHarvestSourceModelGeneratorTest.java | 4 +- .../SchemaHarvestHistoryReaderBrowseTest.java | 12 +- .../RecordOriginNavigationSupportTest.java | 2 +- .../RecordDefinitionPreviewSupportTest.java | 10 +- ...ecordDefinitionDocumentCsvOptionsTest.java | 2 +- .../RecordDefinitionDocumentRowMetaTest.java | 8 +- .../CatalogVersionGuiSupportTest.java | 2 +- .../versioning/CatalogVersionServiceTest.java | 12 +- .../versioning/CatalogVersionStoreTest.java | 4 +- .../PipelineAiProposalApplierTest.java | 2 +- .../PipelineAiProposalValidatorTest.java | 4 +- .../architecture/ArchitectureExportTest.java | 9 +- .../catalog/BvCatalogPublisherTest.java | 18 +- .../CatalogDvSourceMapperIcebergTest.java | 2 +- .../catalog/DmCatalogPublisherTest.java | 18 +- .../catalog/DvCatalogPublisherTest.java | 18 +- .../DvSourceCatalogMapperOriginTest.java | 6 +- .../catalog/DvSourceFieldSupportTest.java | 8 +- .../catalog/RetailCatalogListSourcesTest.java | 10 +- .../command/svg/SvgExportServiceTest.java | 2 +- .../datavault/dbt/DbtImportServiceTest.java | 2 +- .../executionmap/ExecutionMapCrawlerTest.java | 6 +- ...ExecutionMapDatasetCatalogSupportTest.java | 2 +- .../ExecutionMapSerializationTest.java | 2 +- .../executionmap/PipelineCrawlerTest.java | 6 +- .../PipelineDatasetCatalogResolverTest.java | 6 +- .../PipelineDatasetResolverTest.java | 8 +- .../ModelTableLayoutPreviewSupportTest.java | 2 +- ...delUpdateWorkflowClipboardSupportTest.java | 2 +- ...andardProjectElementsOfferSupportTest.java | 2 +- ...DmDimensionAliasNavigationSupportTest.java | 2 +- .../executionmap/ExecutionMapI18nTest.java | 2 +- .../ExecutionMapNavigationSupportTest.java | 12 +- .../HopLineageViewFileTypeTest.java | 2 +- .../file/lineageview/LineageViewI18nTest.java | 2 +- .../modelgraph/DmTableDisplaySupportTest.java | 2 +- .../ModelDialogValidationSupportTest.java | 2 +- .../ModelGraphConnectionGeometryTest.java | 2 +- .../vault/DvCustomPipelinesTabI18nTest.java | 2 +- .../file/vault/LoadFromSourceI18nTest.java | 2 +- ...UpdateRunLiveWorkflowPaintSupportTest.java | 2 +- .../journey/EdwJourneyCreateSupportTest.java | 2 +- .../EdwJourneyNavigationSupportTest.java | 2 +- .../EdwJourneySnapshotBuilderTest.java | 2 +- .../hopgui/tovault/SourceToVaultI18nTest.java | 2 +- .../impact/ImpactGraphBuilderTest.java | 12 +- .../lineage/BvModelLineageCollectorTest.java | 2 +- .../lineage/DdlLineageExplainSupportTest.java | 2 +- .../lineage/DmModelLineageCollectorTest.java | 2 +- .../lineage/DvModelLineageCollectorTest.java | 2 +- .../LineageCatalogBaselineLoaderTest.java | 12 +- .../lineage/LineageCatalogPublisherTest.java | 16 +- .../ReverseLineageIndexBuilderTest.java | 4 +- .../LineageBackendSelectionSupportTest.java | 2 +- .../LineageViewNavigationSupportTest.java | 2 +- .../LineageViewPersistenceTest.java | 2 +- .../LocalModelsLineageQueryServiceTest.java | 2 +- .../metadata/DataVaultConfigurationTest.java | 6 + .../DvCrossModelReferenceValidationTest.java | 2 +- .../metadata/DvHubUpdatePipelineTest.java | 16 +- .../metadata/DvIntegrationSupportTest.java | 16 +- ...atelliteDependentChildKeyPipelineTest.java | 6 +- .../metadata/DvLinkUpdatePipelineTest.java | 6 +- .../metadata/DvOrphanHandlingSupportTest.java | 4 +- .../DvReadOnlyExistingVaultSupportTest.java | 201 ++++++++++++++++++ .../DvRecordSourceValidationTest.java | 2 +- .../DvReferenceDeleteInsertSupportTest.java | 2 +- .../metadata/DvReferenceTableTest.java | 2 +- .../DvReferenceUpdatePipelineTest.java | 2 +- .../ModelConfigurationResolverTest.java | 4 +- .../ModelConfigurationTestSupport.java | 6 +- .../ModelFilenameNotSerializedTest.java | 2 +- .../RetailDataVaultModelCheckTest.java | 12 +- .../BusinessVaultDvModelResolverTest.java | 6 +- .../businessvault/BusinessVaultModelTest.java | 2 +- .../businessvault/BvBusinessTableTest.java | 2 +- .../BvPitPipelineSupportTest.java | 4 +- .../BvPitSnapshotSpineSupportTest.java | 2 +- .../businessvault/BvPitTableTest.java | 2 +- .../businessvault/BvPitVault1FixtureTest.java | 8 +- .../BvScd2FieldMappingDialogSupportTest.java | 2 +- .../BvScd2FieldMappingValidationTest.java | 2 +- .../BvScd2MultiSatelliteFixtureTest.java | 16 +- .../BvScd2PipelineSupportTest.java | 20 +- .../businessvault/BvScd2TableTest.java | 2 +- .../BvSqlViewPipelineSupportTest.java | 6 +- .../ModelCoachingConfigurationTest.java | 2 +- .../DataTypeMappingCatalogPipelineTest.java | 6 +- ...CatalogMappingStreamFieldsSupportTest.java | 4 +- ...urceDataTypeMappingPublishSupportTest.java | 2 +- .../dimensional/DimensionalModelTest.java | 2 +- .../dimensional/DmBasicStarPipelineTest.java | 8 +- .../dimensional/DmCatalogPipelineTest.java | 8 +- .../DmCrossModelAliasPipelineTest.java | 2 +- .../DmCrossModelAliasValidationTest.java | 2 +- .../DmDateGeneratorSourceTest.java | 6 +- .../DmDateRolePlayingPipelineTest.java | 8 +- .../DmDimensionResolutionSupportTest.java | 2 +- .../dimensional/DmGoldenFixtureTest.java | 6 +- .../DmJunkDimensionPipelineTest.java | 2 +- .../DmScd2DimensionPipelineTest.java | 14 +- .../DmSourceRecordDefinitionSupportTest.java | 10 +- .../file/DvTextFileInputFieldSupportTest.java | 2 +- .../IcebergTableMetadataDiscoveryTest.java | 4 +- .../pipeline/DvPipelineSourceSupportTest.java | 2 +- .../HeadlessPipelineFieldSupportTest.java | 2 +- .../RetailSourceModelFixtureTest.java | 6 +- .../SourceJsonPipelineGeneratorTest.java | 10 +- ...ourcePipelineCatalogImportSupportTest.java | 4 +- .../SourceToVaultApplySupportTest.java | 2 +- .../SourceToVaultFeedAndHeuristicTest.java | 2 +- ...SourceToVaultRetailClassificationTest.java | 2 +- .../ExecutionMetricsProfileResolverTest.java | 2 +- .../LoadRunMetricsCatalogPublisherTest.java | 14 +- .../LoadRunMetricsDatabasePublishTest.java | 2 +- .../metrics/MetricsAiContextBuilderTest.java | 2 +- .../WorkflowLoadOverviewPublisherTest.java | 4 +- .../OpenLineageDmExportProbeTest.java | 2 +- .../OpenLineageSnapshotMapperTest.java | 2 +- .../HarvestBackedValidationSupportTest.java | 2 +- ...emediationTargetResolutionSupportTest.java | 2 +- .../SchemaImpactSimulationServiceTest.java | 12 +- .../SchemaValidationReportFormatterTest.java | 4 +- .../SourceUsageIndexBuilderTest.java | 2 +- .../ValidationAcknowledgementSupportTest.java | 4 +- .../DateDimensionGeneratorLogicTest.java | 2 +- .../SourceModelSqlSupportTest.java | 6 +- .../SourceModelSqlEngineTest.java | 6 +- .../SourceModelSqlPhaseBTest.java | 4 +- .../ActionGenerateExecutionMapTest.java | 2 +- .../importdbt/ActionImportDbtProjectTest.java | 2 +- ...ceDefinitionGroupReferencedObjectTest.java | 4 +- .../ResourceGroupModelUpdatePlannerTest.java | 2 +- .../DataQualityHistoryPublisherTest.java | 14 +- .../history/DataQualityHistoryReaderTest.java | 14 +- .../ActionMeasureDataQualityDefaultsTest.java | 2 +- 720 files changed, 3087 insertions(+), 2633 deletions(-) create mode 100644 src/main/java/org/hopper/edw/datavault/metadata/DvReadOnlyExistingVaultSupport.java create mode 100644 src/test/java/org/hopper/edw/datavault/metadata/DvReadOnlyExistingVaultSupportTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index d09ee13b..d4315220 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to Data Hopper EDW (formerly hop-datavault) are documented i ## Unreleased +### Read-only existing Data Vault models + +- Data Vault configuration checkbox **Read-only existing vault** documents an already-built raw vault so Business Vault and dimensional models can sit on top +- Data Vault Update, Generate DDL, and Debug are refused; Update resource definition group skips that `.hdv` and continues BV/DM +- Model check keeps referential integrity only (hash keys, parent hubs/links, names, attributes) and does not require record sources or load settings +- Use a dedicated configuration object; per-table **External read-only** remains the mixed-ownership mode + ### BV SCD2 does not read omitted satellite record-source columns (issue #138) - Generated SCD2 satellite `TableInput` SQL omits the vault record-source / source-indicator column when **Store record source indicator** is off on that satellite diff --git a/docs/ai-file-schemas/models/hdv.md b/docs/ai-file-schemas/models/hdv.md index 66acbcc8..0a0023be 100644 --- a/docs/ai-file-schemas/models/hdv.md +++ b/docs/ai-file-schemas/models/hdv.md @@ -25,7 +25,7 @@ Visual **raw Data Vault 2.0** model: hubs, links, satellites, physical **referen |---------|------| | `name_sync_with_filename` | Y/N — keep model name aligned with file basename | | `description` | Free text | -| `configuration` | Target DB, hash algorithm/type, load/record-source fields, bulk options, PK/FK flags | +| `configuration` | Target DB, hash algorithm/type, load/record-source fields, bulk options, PK/FK flags, optional `readOnlyExistingVault` | | `coaching` | Optional coach-panel sources | | `tables` / `table` | Polymorphic vault objects | | `notes` / `note` | Canvas documentation only | diff --git a/docs/business-vault-overview.adoc b/docs/business-vault-overview.adoc index bfa68eea..75d5e54e 100644 --- a/docs/business-vault-overview.adoc +++ b/docs/business-vault-overview.adoc @@ -77,7 +77,9 @@ Business Vault **reads** hub and satellite history from the Data Vault target da When raw vault tables are loaded outside Hop (dbt, SQL, custom ETL), set **Integration mode** to **External read-only** on the DV table. Business Vault SCD2 generation still works as long as the `.hdv` metadata accurately describes the warehouse tables. -See link:dv-integration-modes.adoc[Data Vault integration modes]. +To document a **whole** existing raw vault and only build Business Vault and dimensional layers in Hop, enable **Read-only existing vault** on a dedicated Data Vault configuration instead. Model the hubs, links, and satellites (hash keys, parents, attributes, table names) without record sources; Hop will not load or alter those tables. + +See link:dv-integration-modes.adoc[Data Vault integration modes] and link:datavault-configuration.adoc[Data Vault configuration]. == Sample models diff --git a/docs/datavault-configuration.adoc b/docs/datavault-configuration.adoc index 8caf548d..015b51f3 100644 --- a/docs/datavault-configuration.adoc +++ b/docs/datavault-configuration.adoc @@ -39,7 +39,10 @@ Target database and hashing strategy. |Option |Description |Target database -|The Hop database connection (DatabaseMeta) where Data Vault tables are created and loaded. Used for DDL generation, SQL quoting, and all generated pipelines that write to the vault. +|The Hop database connection where Data Vault tables live. Hop-managed models create and load tables here. Read-only existing vaults only read from this connection (Business Vault and dimensional loads). + +|Read-only existing vault +|When enabled, every `.hdv` that uses this configuration **documents** an already-built raw vault. Hop refuses Data Vault Update, Generate DDL, and Debug. Model check keeps referential integrity only (hash keys, parent hubs/links, names, attributes). Use a **dedicated** configuration object — do not share it with Hop-managed models. Mixed tables in one file still use per-table link:dv-integration-modes.adoc[External read-only]. |Hash algorithm |Algorithm for surrogate hash keys (MD5, SHA-256, SHA-1, SHA-512). Affects computation and maximum key length. @@ -285,8 +288,9 @@ There is no longer a separate per-table "configuration picker" metadata referenc == How the configuration affects daily work -* The target database connection is required for **Generate DDL**, **Debug**, and the **Data Vault Update** action. Business Vault SCD2 generation also reads satellite history from this connection when a `.hbv` model links to the `.hdv` file. -* Tables marked **External read-only** do not require Hop to load data, but the target database name must still be set so downstream features can resolve the connection. See link:dv-integration-modes.adoc[Data Vault integration modes]. +* The target database connection is required for **Generate DDL**, **Debug**, and the **Data Vault Update** action on Hop-managed models. Business Vault SCD2 generation also reads satellite history from this connection when a `.hbv` model links to the `.hdv` file. +* **Read-only existing vault** refuses those load/DDL actions. The target database name must still be set so Business Vault and dimensional models can read the documented tables. See link:dv-integration-modes.adoc[Data Vault integration modes]. +* Tables marked **External read-only** do not require Hop to load data, but the target database name must still be set so downstream features can resolve the connection. * Hash algorithm and data type directly influence storage size and join performance. * Naming settings (LOAD_DATE, RECORD_SOURCE, etc.) should be agreed early with consumers of the Data Vault. * Unknown and invalid sentinel settings matter when downstream facts or links must reference "missing" or "bad" keys. diff --git a/docs/datavault-update-action.adoc b/docs/datavault-update-action.adoc index ad6ce98d..7cea3613 100644 --- a/docs/datavault-update-action.adoc +++ b/docs/datavault-update-action.adoc @@ -8,6 +8,8 @@ toc::[] The **Data Vault Update** workflow action is the main way to load a complete Data Vault model in Apache Hop. You point it at a saved Data Vault Model (`.hdv` file), choose a pipeline run configuration, and the action takes care of the rest. +If the model's Data Vault configuration has **Read-only existing vault** enabled, the action **fails immediately** after loading the model. Hop will not generate DDL, insert sentinels, or run load pipelines. Document the `.hdv` for Business Vault and dimensional layers instead; use **Update resource definition group** to skip that Data Vault job and continue BV/DM. + At runtime the action: * Loads the model from the `.hdv` file. diff --git a/docs/dv-integration-modes.adoc b/docs/dv-integration-modes.adoc index 543e2914..7b214061 100644 --- a/docs/dv-integration-modes.adoc +++ b/docs/dv-integration-modes.adoc @@ -6,6 +6,8 @@ toc::[] Every hub, link, and satellite in a `.hdv` model has an **integration mode** that controls how Hop treats the physical table in the warehouse. +To document an **entire** existing raw vault (Hop must not load or alter any table) use **Read-only existing vault** on the Data Vault configuration instead of setting External read-only on every card. See link:datavault-configuration.adoc[Data Vault configuration]. That flag refuses Data Vault Update, Generate DDL, and Debug, and model check keeps referential integrity only so Business Vault and dimensional models can sit on top. Per-table External read-only remains the mixed-ownership mode (Hop still runs Update and skips those tables). + Integration mode is set on the **Options** tab of the hub, link, or satellite dialog (combo: *Hop managed*, *External read-only*, *Custom pipelines*). == Why integration modes exist diff --git a/docs/feature-overview.adoc b/docs/feature-overview.adoc index 74be229b..53e90b7d 100644 --- a/docs/feature-overview.adoc +++ b/docs/feature-overview.adoc @@ -302,7 +302,7 @@ image::images/search-panel-model-results.png[Search panel — Data Vault model m === Raw Data Vault (`.hdv`) -Visual modeler for hubs, links, and satellites with embedded configuration (target database, hashing, sentinels, column names, pipeline options). Toolbar actions: **Edit model**, **Import sources**, **Check model**, **Generate DDL**, **Debug**, optional **AI Help**. +Visual modeler for hubs, links, and satellites with embedded configuration (target database, hashing, sentinels, column names, pipeline options). Toolbar actions: **Edit model**, **Import sources**, **Check model**, **Generate DDL**, **Debug**, optional **AI Help**. A configuration **Read-only existing vault** checkbox documents an already-built vault so Business Vault and dimensional models can sit on top without Hop loading or altering those tables. **Data Vault Update** workflow action validates (optionally), generates DDL, stages update pipelines, and runs them in parallel with a shared load timestamp. diff --git a/docs/help/dv-model-dialog.adoc b/docs/help/dv-model-dialog.adoc index f5358f03..ec52461a 100644 --- a/docs/help/dv-model-dialog.adoc +++ b/docs/help/dv-model-dialog.adoc @@ -20,7 +20,8 @@ There is one target database per configuration. Table dialogs can still override Target database and hashing strategy. -- **Target database** — Hop connection where vault tables are created and loaded (DDL, quoting, generated pipelines). Required for Generate DDL, Debug, and Data Vault Update. +- **Target database** — Hop connection where vault tables live. Hop-managed models create and load here; read-only existing vaults only read from it (Business Vault and dimensional loads). Required for Generate DDL, Debug, and Data Vault Update on Hop-managed models. +- **Read-only existing vault** — Documents an already-built raw vault. Hop refuses Data Vault Update, Generate DDL, and Debug. Model check keeps referential integrity only. Use a dedicated configuration; do not share it with Hop-managed models. - **Data catalog connection** — Optional catalog used when resolving `DV_SOURCE` feeds for this model. - **Hash algorithm** — Surrogate key algorithm (MD5, SHA-256, SHA-1, SHA-512). - **Hash key data type** — Physical storage: HEX (default), STRING, or BINARY. BINARY needs Hop 2.19.0+ for correct sort order. diff --git a/docs/update-resource-definition-group-action.adoc b/docs/update-resource-definition-group-action.adoc index e7dc165e..1285302a 100644 --- a/docs/update-resource-definition-group-action.adoc +++ b/docs/update-resource-definition-group-action.adoc @@ -16,6 +16,8 @@ The **Update resource definition group** workflow action loads every Data Vault Each model runs through the same update path as the dedicated **Data Vault Update** / **Business Vault Update** / **Dimensional Update** actions (model check options, DDL policy, parallel pipeline copies, optional catalog publish). +If a listed `.hdv` uses a **read-only existing vault** configuration, that Data Vault job is **skipped** (logged) so Business Vault and dimensional updates still run. A standalone Data Vault Update action pointed at the same file still errors. + Optionally the action **manages vault update metrics** for the whole wave: it assigns `DV_WORKFLOW_EXECUTION_ID` at the start (Begin-style) and publishes a workflow load overview at the end (End-style). You do not need separate Begin/End Vault Update actions or hand-wired per-model hops for a standard multi-layer load. Retail example workflows `run-retail-update.hwf` and `run-retail-update-models.hwf` use this action with group **`retail-sources`**. diff --git a/src/main/java/org/hopper/edw/catalog/ddl/CatalogTableDdlSupport.java b/src/main/java/org/hopper/edw/catalog/ddl/CatalogTableDdlSupport.java index c79f2c2a..ca572cfb 100644 --- a/src/main/java/org/hopper/edw/catalog/ddl/CatalogTableDdlSupport.java +++ b/src/main/java/org/hopper/edw/catalog/ddl/CatalogTableDdlSupport.java @@ -16,8 +16,6 @@ package org.hopper.edw.catalog.ddl; import java.util.List; -import org.hopper.edw.catalog.model.PhysicalTableRef; -import org.hopper.edw.catalog.model.RecordDefinition; import org.apache.hop.core.Const; import org.apache.hop.core.database.Database; import org.apache.hop.core.database.DatabaseMeta; @@ -27,6 +25,8 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.hopper.edw.catalog.model.PhysicalTableRef; +import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.hopper.edw.datavault.metadata.DvDdlSupport; import org.hopper.edw.datavault.metadata.SourceField; diff --git a/src/main/java/org/hopper/edw/catalog/discovery/PhysicalSourceRef.java b/src/main/java/org/hopper/edw/catalog/discovery/PhysicalSourceRef.java index 1c3c2740..513deb42 100644 --- a/src/main/java/org/hopper/edw/catalog/discovery/PhysicalSourceRef.java +++ b/src/main/java/org/hopper/edw/catalog/discovery/PhysicalSourceRef.java @@ -17,13 +17,13 @@ import java.util.regex.Pattern; import org.apache.commons.vfs2.FileObject; -import org.hopper.edw.catalog.model.PhysicalIcebergTableRef; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.i18n.BaseMessages; +import org.hopper.edw.catalog.model.PhysicalIcebergTableRef; /** Resolved physical location used for record-definition schema discovery. */ public final class PhysicalSourceRef { diff --git a/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionCatalogRefreshSupport.java b/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionCatalogRefreshSupport.java index 901a7b8e..804f6e6a 100644 --- a/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionCatalogRefreshSupport.java +++ b/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionCatalogRefreshSupport.java @@ -17,18 +17,18 @@ import java.util.Date; import java.util.List; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.model.CatalogCustomProperty; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordOrigin; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.iceberg.IcebergConnectionSettings; import org.hopper.edw.datavault.metadata.iceberg.IcebergTableMetadataDiscovery; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Re-discovers physical source schemas and refreshes catalog record-definition contracts. */ public final class RecordDefinitionCatalogRefreshSupport { diff --git a/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionCatalogWriter.java b/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionCatalogWriter.java index c381ca6c..e5cc1ebe 100644 --- a/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionCatalogWriter.java +++ b/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionCatalogWriter.java @@ -17,6 +17,12 @@ import java.util.Date; import org.apache.commons.vfs2.FileObject; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.model.DvCsvFormatRecord; import org.hopper.edw.catalog.model.PhysicalTableRef; import org.hopper.edw.catalog.model.RecordDefinition; @@ -24,10 +30,6 @@ import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.catalog.model.RecordOrigin; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; -import org.apache.hop.core.vfs.HopVfs; import org.hopper.edw.datavault.catalog.CatalogModelRegistrySupport; import org.hopper.edw.datavault.catalog.DvSourceCatalogMapper; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; @@ -44,8 +46,6 @@ import org.hopper.edw.datavault.metadata.file.DvParquetSource; import org.hopper.edw.datavault.metadata.file.IDvFileBasedSource; import org.hopper.edw.datavault.metadata.iceberg.DvIcebergSource; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Persists discovered record definitions to a data catalog connection. */ public final class RecordDefinitionCatalogWriter { diff --git a/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionDiscoveryService.java b/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionDiscoveryService.java index b082f6b9..5d6982df 100644 --- a/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionDiscoveryService.java +++ b/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionDiscoveryService.java @@ -28,6 +28,8 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceImportSupport; @@ -41,8 +43,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourcePipelineCatalogPublisher; import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceQueryCatalogPublisher; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Discovers field layouts from physical database tables and file sources. */ public final class RecordDefinitionDiscoveryService { diff --git a/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionPhysicalRefSupport.java b/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionPhysicalRefSupport.java index b64b6170..e19e094d 100644 --- a/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionPhysicalRefSupport.java +++ b/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionPhysicalRefSupport.java @@ -15,16 +15,16 @@ */ package org.hopper.edw.catalog.discovery; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.catalog.model.DvSourceRecord; import org.hopper.edw.catalog.model.PhysicalFileRef; import org.hopper.edw.catalog.model.PhysicalIcebergTableRef; import org.hopper.edw.catalog.model.PhysicalTableRef; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; import org.hopper.edw.datavault.metadata.DvSourceType; -import org.apache.hop.i18n.BaseMessages; /** Builds physical discovery references from catalog record definitions. */ public final class RecordDefinitionPhysicalRefSupport { diff --git a/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionSchemaDiffSupport.java b/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionSchemaDiffSupport.java index c6bea304..b570741c 100644 --- a/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionSchemaDiffSupport.java +++ b/src/main/java/org/hopper/edw/catalog/discovery/RecordDefinitionSchemaDiffSupport.java @@ -22,9 +22,9 @@ import java.util.Map; import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.SourceFieldPrimaryKeySupport; -import org.apache.hop.i18n.BaseMessages; /** Compares stored catalog field contracts against freshly discovered source fields. */ public final class RecordDefinitionSchemaDiffSupport { diff --git a/src/main/java/org/hopper/edw/catalog/discovery/SourceFieldMetadataEquivalenceSupport.java b/src/main/java/org/hopper/edw/catalog/discovery/SourceFieldMetadataEquivalenceSupport.java index a3db5c63..f58fa222 100644 --- a/src/main/java/org/hopper/edw/catalog/discovery/SourceFieldMetadataEquivalenceSupport.java +++ b/src/main/java/org/hopper/edw/catalog/discovery/SourceFieldMetadataEquivalenceSupport.java @@ -20,10 +20,10 @@ import org.apache.hop.core.Const; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.datavault.metadata.DvDataTypeSupport; import org.hopper.edw.datavault.metadata.DvSqlStringTypeSupport; import org.hopper.edw.datavault.metadata.SourceField; -import org.apache.hop.i18n.BaseMessages; /** * Compares {@link SourceField} length/precision using Hop value-meta semantics. diff --git a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestApplyGuiSupport.java b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestApplyGuiSupport.java index e9ed0834..0a494979 100644 --- a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestApplyGuiSupport.java +++ b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestApplyGuiSupport.java @@ -15,22 +15,11 @@ */ package org.hopper.edw.catalog.harvest; -import org.hopper.edw.catalog.harvest.SchemaHarvestCatalogApplySupport.ApplyOptions; -import org.hopper.edw.catalog.harvest.SchemaHarvestCatalogApplySupport.ApplyResult; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; -import org.hopper.edw.catalog.harvest.SchemaHarvestSourceModelGenerator.GenerateOptions; -import org.hopper.edw.catalog.harvest.SchemaHarvestSourceModelGenerator.GenerateResult; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HistoryConnection; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.Const; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.dialog.EnterSelectionDialog; @@ -40,6 +29,17 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.harvest.SchemaHarvestCatalogApplySupport.ApplyOptions; +import org.hopper.edw.catalog.harvest.SchemaHarvestCatalogApplySupport.ApplyResult; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; +import org.hopper.edw.catalog.harvest.SchemaHarvestSourceModelGenerator.GenerateOptions; +import org.hopper.edw.catalog.harvest.SchemaHarvestSourceModelGenerator.GenerateResult; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HistoryConnection; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; /** * GUI entry points for applying harvest results to catalog contracts and generating .hsm models. diff --git a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestCatalogApplySupport.java b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestCatalogApplySupport.java index 5b38b2c3..24c7c8b6 100644 --- a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestCatalogApplySupport.java +++ b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestCatalogApplySupport.java @@ -21,6 +21,11 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import org.apache.hop.core.Const; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogRefreshSupport; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.DiscoveryStatus; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; @@ -34,13 +39,8 @@ import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordOrigin; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.Const; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.hopper.edw.datavault.metadata.SourceField; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Applies harvested DISCOVERED field layouts and/or foreign keys onto working-tree catalog source diff --git a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestConnectionBatcher.java b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestConnectionBatcher.java index 6925682f..9c87dd5b 100644 --- a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestConnectionBatcher.java +++ b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestConnectionBatcher.java @@ -21,10 +21,6 @@ import java.util.Locale; import java.util.Map; import java.util.Objects; -import org.hopper.edw.catalog.discovery.PhysicalSourceRef; -import org.hopper.edw.catalog.discovery.RecordDefinitionDiscoveryService; -import org.hopper.edw.catalog.discovery.RecordDefinitionPhysicalRefSupport; -import org.hopper.edw.catalog.model.RecordDefinition; import org.apache.hop.core.Const; import org.apache.hop.core.database.Database; import org.apache.hop.core.database.DatabaseMeta; @@ -34,10 +30,14 @@ import org.apache.hop.core.logging.SimpleLoggingObject; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.discovery.PhysicalSourceRef; +import org.hopper.edw.catalog.discovery.RecordDefinitionDiscoveryService; +import org.hopper.edw.catalog.discovery.RecordDefinitionPhysicalRefSupport; +import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceImportSupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Discovers live field layouts for harvest subjects, batching all DATABASE subjects that share a diff --git a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestFkDiffSupport.java b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestFkDiffSupport.java index b3a9d4b6..8e8828d5 100644 --- a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestFkDiffSupport.java +++ b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestFkDiffSupport.java @@ -20,12 +20,12 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import org.apache.hop.core.Const; +import org.apache.hop.core.util.Utils; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestChange; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedForeignKey; import org.hopper.edw.catalog.model.CatalogSourceField; -import org.apache.hop.core.Const; -import org.apache.hop.core.util.Utils; import org.hopper.edw.datavault.metadata.database.DiscoveredForeignKey; /** Compares catalog (or empty) FK contracts to live discovered foreign keys. */ diff --git a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestModelCheckSupport.java b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestModelCheckSupport.java index 7e98b5aa..3fd2b531 100644 --- a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestModelCheckSupport.java +++ b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestModelCheckSupport.java @@ -20,14 +20,6 @@ import java.util.List; import java.util.Locale; import java.util.Map; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.DiscoveryStatus; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestSubjectResult; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HistoryConnection; import org.apache.hop.core.Const; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; @@ -37,11 +29,19 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.DiscoveryStatus; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestSubjectResult; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HistoryConnection; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.hopper.edw.datavault.metadata.DvModelCheckCache; import org.hopper.edw.datavault.metadata.DvModelCheckOptions; import org.hopper.edw.datavault.metadata.SourceField; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Warms {@link DvModelCheckCache} with DISCOVERED field layouts from a schema harvest so detailed diff --git a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestModels.java b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestModels.java index 641aa497..7e80287f 100644 --- a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestModels.java +++ b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestModels.java @@ -22,9 +22,9 @@ import lombok.Builder; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; +import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; import org.hopper.edw.datavault.metadata.SourceField; /** Immutable-ish domain types for schema metadata harvesting (observation only). */ diff --git a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestService.java b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestService.java index d9d31620..6603223e 100644 --- a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestService.java +++ b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestService.java @@ -20,6 +20,12 @@ import java.util.List; import java.util.Map; import java.util.UUID; +import org.apache.hop.core.Const; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.logging.ILogChannel; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.discovery.RecordDefinitionPhysicalRefSupport; import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.BaselineMode; @@ -34,16 +40,10 @@ import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedForeignKey; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.versioning.CatalogVersionService; -import org.apache.hop.core.Const; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.logging.ILogChannel; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.resourcedefinition.ParallelValidationSupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Orchestrates schema metadata harvesting: resolve subjects → connection-batched discovery → diff diff --git a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestSourceModelGenerator.java b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestSourceModelGenerator.java index 764c9659..f0798a1b 100644 --- a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestSourceModelGenerator.java +++ b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestSourceModelGenerator.java @@ -22,16 +22,16 @@ import java.util.Locale; import java.util.Map; import java.util.Set; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.DiscoveryStatus; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestSubjectResult; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedForeignKey; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.DiscoveryStatus; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestSubjectResult; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedForeignKey; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; import org.hopper.edw.datavault.metadata.SourceField; diff --git a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestSubjectResolver.java b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestSubjectResolver.java index 7b7e6534..a41ba75c 100644 --- a/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestSubjectResolver.java +++ b/src/main/java/org/hopper/edw/catalog/harvest/SchemaHarvestSubjectResolver.java @@ -20,20 +20,20 @@ import java.util.List; import java.util.Locale; import java.util.Map; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.hopper.edw.datavault.resourcedefinition.SourceUsage; import org.hopper.edw.datavault.resourcedefinition.SourceUsageIndexBuilder; import org.hopper.edw.datavault.resourcedefinition.ValidationModels; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Resolves harvest subjects from a resource definition group. */ public final class SchemaHarvestSubjectResolver { diff --git a/src/main/java/org/hopper/edw/catalog/harvest/history/SchemaHarvestHistoryPublisher.java b/src/main/java/org/hopper/edw/catalog/harvest/history/SchemaHarvestHistoryPublisher.java index 48780635..70af7ae6 100644 --- a/src/main/java/org/hopper/edw/catalog/harvest/history/SchemaHarvestHistoryPublisher.java +++ b/src/main/java/org/hopper/edw/catalog/harvest/history/SchemaHarvestHistoryPublisher.java @@ -17,16 +17,6 @@ import java.nio.file.Path; import java.util.Date; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestChange; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestSubjectResult; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedForeignKey; -import org.hopper.edw.catalog.model.PhysicalTableRef; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.Const; import org.apache.hop.core.RowMetaAndData; import org.apache.hop.core.database.Database; @@ -43,6 +33,16 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestChange; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestSubjectResult; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedForeignKey; +import org.hopper.edw.catalog.model.PhysicalTableRef; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.model.RecordDefinitionType; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; /** * Persists schema harvest results to OPS tables. Immutable: existing {@code harvest_run_id} is diff --git a/src/main/java/org/hopper/edw/catalog/harvest/history/SchemaHarvestHistoryReader.java b/src/main/java/org/hopper/edw/catalog/harvest/history/SchemaHarvestHistoryReader.java index 9666b551..3901fbbd 100644 --- a/src/main/java/org/hopper/edw/catalog/harvest/history/SchemaHarvestHistoryReader.java +++ b/src/main/java/org/hopper/edw/catalog/harvest/history/SchemaHarvestHistoryReader.java @@ -21,6 +21,14 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import org.apache.hop.core.database.Database; +import org.apache.hop.core.database.DatabaseMeta; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.logging.LoggingObject; +import org.apache.hop.core.row.IRowMeta; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.DiscoveryStatus; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestChange; @@ -33,14 +41,6 @@ import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.database.Database; -import org.apache.hop.core.database.DatabaseMeta; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.logging.LoggingObject; -import org.apache.hop.core.row.IRowMeta; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Loads persisted schema harvest runs from OPS tables for schema-gate reuse (no second live diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/LocalCatalogOfferSupport.java b/src/main/java/org/hopper/edw/catalog/hopgui/LocalCatalogOfferSupport.java index 7d99891c..80c376a3 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/LocalCatalogOfferSupport.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/LocalCatalogOfferSupport.java @@ -16,14 +16,8 @@ package org.hopper.edw.catalog.hopgui; import java.util.List; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.config.DataVaultConfig; -import org.hopper.edw.datavault.config.DataVaultConfigSingleton; -import org.hopper.edw.datavault.metadata.DataVaultConfiguration; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.api.IHopMetadataSerializer; @@ -32,6 +26,12 @@ import org.apache.hop.ui.core.metadata.MetadataManager; import org.apache.hop.ui.hopgui.HopGui; import org.eclipse.swt.SWT; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.datavault.config.DataVaultConfig; +import org.hopper.edw.datavault.config.DataVaultConfigSingleton; +import org.hopper.edw.datavault.metadata.DataVaultConfiguration; +import org.hopper.edw.datavault.metadata.DataVaultModel; /** Offers to create a local file-based data catalog when a project has none yet. */ public final class LocalCatalogOfferSupport { diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/navigation/RecordOriginNavigationSupport.java b/src/main/java/org/hopper/edw/catalog/hopgui/navigation/RecordOriginNavigationSupport.java index 2cb16578..b23932ef 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/navigation/RecordOriginNavigationSupport.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/navigation/RecordOriginNavigationSupport.java @@ -17,11 +17,15 @@ import java.nio.file.Files; import java.nio.file.Path; -import org.hopper.edw.catalog.model.RecordOrigin; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.ui.hopgui.HopGui; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; +import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; +import org.hopper.edw.catalog.model.RecordOrigin; import org.hopper.edw.datavault.catalog.DvSourceCatalogMapper; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.hopgui.file.businessvault.HopGuiBusinessVaultGraph; @@ -31,10 +35,6 @@ import org.hopper.edw.datavault.hopgui.file.sourcemodel.HopSourceModelFileType; import org.hopper.edw.datavault.hopgui.file.vault.HopGuiVaultGraph; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.ui.hopgui.HopGui; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; -import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; /** * Opens the originating source model, DV, business vault, or dimensional model for a catalog record diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/DataCatalogRecordListFilter.java b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/DataCatalogRecordListFilter.java index 648a26f3..e60cb439 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/DataCatalogRecordListFilter.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/DataCatalogRecordListFilter.java @@ -16,9 +16,9 @@ package org.hopper.edw.catalog.hopgui.perspective; import java.util.List; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.catalog.model.RecordDefinitionQuery; import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.apache.hop.i18n.BaseMessages; /** Quick filters for the data catalog record tree. */ public enum DataCatalogRecordListFilter { diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/QualityHistoryBrowserDialog.java b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/QualityHistoryBrowserDialog.java index 7fa204cc..2d9d1b3a 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/QualityHistoryBrowserDialog.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/QualityHistoryBrowserDialog.java @@ -22,9 +22,6 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.i18n.BaseMessages; -import org.hopper.edw.quality.history.DataQualityHistoryReader; -import org.hopper.edw.quality.history.DataQualityHistoryReader.FindingEntry; -import org.hopper.edw.quality.history.DataQualityHistoryReader.SubjectHistoryEntry; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.ErrorDialog; import org.apache.hop.ui.core.gui.GuiResource; @@ -42,6 +39,9 @@ import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; +import org.hopper.edw.quality.history.DataQualityHistoryReader; +import org.hopper.edw.quality.history.DataQualityHistoryReader.FindingEntry; +import org.hopper.edw.quality.history.DataQualityHistoryReader.SubjectHistoryEntry; /** * TableView dialog listing recent quality profile snapshots for a subject. Double-click a row to diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/QualityHistoryFindingsDialog.java b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/QualityHistoryFindingsDialog.java index 63726c43..1f23e332 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/QualityHistoryFindingsDialog.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/QualityHistoryFindingsDialog.java @@ -19,7 +19,6 @@ import org.apache.hop.core.Const; import org.apache.hop.core.variables.IVariables; import org.apache.hop.i18n.BaseMessages; -import org.hopper.edw.quality.history.DataQualityHistoryReader.FindingEntry; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.gui.GuiResource; import org.apache.hop.ui.core.gui.WindowProperty; @@ -35,6 +34,7 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; +import org.hopper.edw.quality.history.DataQualityHistoryReader.FindingEntry; /** Read-only TableView of findings for one quality run. */ public final class QualityHistoryFindingsDialog { diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/RecordDefinitionCatalogRefreshGuiSupport.java b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/RecordDefinitionCatalogRefreshGuiSupport.java index 5d749cdb..3785d6df 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/RecordDefinitionCatalogRefreshGuiSupport.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/RecordDefinitionCatalogRefreshGuiSupport.java @@ -16,10 +16,6 @@ package org.hopper.edw.catalog.hopgui.perspective; import java.util.Date; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogRefreshSupport; -import org.hopper.edw.catalog.discovery.RecordDefinitionPhysicalRefSupport; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.IVariables; import org.apache.hop.i18n.BaseMessages; @@ -29,6 +25,10 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogRefreshSupport; +import org.hopper.edw.catalog.discovery.RecordDefinitionPhysicalRefSupport; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; /** GUI workflow for refreshing a catalog record definition from its physical source. */ public final class RecordDefinitionCatalogRefreshGuiSupport { diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/RecordDefinitionDetailsPanel.java b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/RecordDefinitionDetailsPanel.java index 9b430ee4..b90f6819 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/RecordDefinitionDetailsPanel.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/RecordDefinitionDetailsPanel.java @@ -21,33 +21,12 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.hopper.edw.catalog.discovery.RecordDefinitionPhysicalRefSupport; -import org.hopper.edw.catalog.hopgui.navigation.RecordOriginNavigationSupport; -import org.hopper.edw.catalog.hopgui.preview.RecordDefinitionPreviewRunner; -import org.hopper.edw.catalog.hopgui.preview.RecordDefinitionPreviewSupport; -import org.hopper.edw.catalog.model.CatalogCustomProperty; -import org.hopper.edw.catalog.model.CatalogSourceField; -import org.hopper.edw.catalog.model.DvCsvFormatRecord; -import org.hopper.edw.catalog.model.DvSourceRecord; -import org.hopper.edw.catalog.model.PhysicalFileRef; -import org.hopper.edw.catalog.model.PhysicalIcebergTableRef; -import org.hopper.edw.catalog.model.PhysicalTableRef; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.hopper.edw.catalog.model.RecordOrigin; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.Const; import org.apache.hop.core.Props; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; -import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; -import org.hopper.edw.datavault.metadata.CsvFieldOptions; -import org.hopper.edw.datavault.metadata.DvSourceDeliveryType; -import org.hopper.edw.datavault.metadata.SourceField; -import org.hopper.edw.datavault.metadata.SourceFieldInputOptions; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.ErrorDialog; @@ -70,6 +49,27 @@ import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.catalog.discovery.RecordDefinitionPhysicalRefSupport; +import org.hopper.edw.catalog.hopgui.navigation.RecordOriginNavigationSupport; +import org.hopper.edw.catalog.hopgui.preview.RecordDefinitionPreviewRunner; +import org.hopper.edw.catalog.hopgui.preview.RecordDefinitionPreviewSupport; +import org.hopper.edw.catalog.model.CatalogCustomProperty; +import org.hopper.edw.catalog.model.CatalogSourceField; +import org.hopper.edw.catalog.model.DvCsvFormatRecord; +import org.hopper.edw.catalog.model.DvSourceRecord; +import org.hopper.edw.catalog.model.PhysicalFileRef; +import org.hopper.edw.catalog.model.PhysicalIcebergTableRef; +import org.hopper.edw.catalog.model.PhysicalTableRef; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionType; +import org.hopper.edw.catalog.model.RecordOrigin; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; +import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; +import org.hopper.edw.datavault.metadata.CsvFieldOptions; +import org.hopper.edw.datavault.metadata.DvSourceDeliveryType; +import org.hopper.edw.datavault.metadata.SourceField; +import org.hopper.edw.datavault.metadata.SourceFieldInputOptions; /** Detail view for a selected record definition. */ public class RecordDefinitionDetailsPanel { diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/RefreshRecordDefinitionFromSourceDialog.java b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/RefreshRecordDefinitionFromSourceDialog.java index d7e1c568..d2564708 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/RefreshRecordDefinitionFromSourceDialog.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/RefreshRecordDefinitionFromSourceDialog.java @@ -15,10 +15,6 @@ */ package org.hopper.edw.catalog.hopgui.perspective; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogRefreshSupport; -import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -31,6 +27,10 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogRefreshSupport; +import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** Shows schema drift and asks whether to refresh the catalog contract from the live source. */ public final class RefreshRecordDefinitionFromSourceDialog { diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestChangesDialog.java b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestChangesDialog.java index 725f8c6e..f1dca3fc 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestChangesDialog.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestChangesDialog.java @@ -16,9 +16,6 @@ package org.hopper.edw.catalog.hopgui.perspective; import java.util.List; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestChange; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; import org.apache.hop.core.Const; import org.apache.hop.core.variables.IVariables; import org.apache.hop.i18n.BaseMessages; @@ -39,6 +36,9 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestChange; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; /** Drill-down: field changes and expected vs discovered field snapshots for one harvest subject. */ public final class SchemaHarvestChangesDialog { diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestHistoryBrowserDialog.java b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestHistoryBrowserDialog.java index c2e304bc..1cf3dd82 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestHistoryBrowserDialog.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestHistoryBrowserDialog.java @@ -18,12 +18,6 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestChange; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestRunSummary; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestSubjectSummary; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.Const; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.util.Utils; @@ -51,6 +45,12 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestChange; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestRunSummary; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestSubjectSummary; +import org.hopper.edw.catalog.model.RecordDefinitionKey; /** * Group-scoped schema harvest browser: harvest runs (master) and subjects (detail) with filters. diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestHistoryGuiSupport.java b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestHistoryGuiSupport.java index 501e6876..f2794042 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestHistoryGuiSupport.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestHistoryGuiSupport.java @@ -16,13 +16,6 @@ package org.hopper.edw.catalog.hopgui.perspective; import java.util.List; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestRunSummary; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestSubjectSummary; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HistoryConnection; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.quality.CatalogQualitySubjectSupport; import org.apache.hop.core.Const; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; @@ -35,6 +28,13 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestRunSummary; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestSubjectSummary; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HistoryConnection; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.quality.CatalogQualitySubjectSupport; /** Opens schema harvest history browsers from group editor or catalog detail panel. */ public final class SchemaHarvestHistoryGuiSupport { diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestSubjectHistoryDialog.java b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestSubjectHistoryDialog.java index 71cd23e7..868ee2ae 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestSubjectHistoryDialog.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/SchemaHarvestSubjectHistoryDialog.java @@ -17,10 +17,6 @@ import java.text.SimpleDateFormat; import java.util.List; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestChange; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestSubjectSummary; import org.apache.hop.core.Const; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.util.Utils; @@ -44,6 +40,10 @@ import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestChange; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestSubjectSummary; /** Subject-level timeline of schema harvest results. Double-click opens changes + fields. */ public final class SchemaHarvestSubjectHistoryDialog { diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/importmenu/DataCatalogImportContext.java b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/importmenu/DataCatalogImportContext.java index d36fde11..6990a5d3 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/importmenu/DataCatalogImportContext.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/importmenu/DataCatalogImportContext.java @@ -17,10 +17,10 @@ import lombok.Getter; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.hopgui.HopGui; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.metadata.DataVaultModel; /** Runtime context passed to data catalog import actions. */ @Getter diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/importmenu/DataCatalogImportMenu.java b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/importmenu/DataCatalogImportMenu.java index 777d7477..c2fa2195 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/perspective/importmenu/DataCatalogImportMenu.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/perspective/importmenu/DataCatalogImportMenu.java @@ -17,16 +17,16 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; import org.apache.hop.core.Const; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionType; -import org.hopper.edw.datavault.hopgui.GuiBusySupport; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.hopgui.HopGui; import org.apache.hop.ui.hopgui.context.GuiContextUtil; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; +import org.hopper.edw.datavault.hopgui.GuiBusySupport; +import org.hopper.edw.datavault.metadata.DataVaultModel; /** Shows the import menu for the Data Catalog perspective. */ public final class DataCatalogImportMenu { diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/preview/RecordDefinitionPreviewRunner.java b/src/main/java/org/hopper/edw/catalog/hopgui/preview/RecordDefinitionPreviewRunner.java index 01ec32c8..0b30b1fe 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/preview/RecordDefinitionPreviewRunner.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/preview/RecordDefinitionPreviewRunner.java @@ -15,14 +15,9 @@ */ package org.hopper.edw.catalog.hopgui.preview; -import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.Props; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; -import org.hopper.edw.datavault.metadata.DvSourcePreviewInputSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.Pipeline; @@ -33,6 +28,11 @@ import org.apache.hop.ui.core.dialog.ErrorDialog; import org.apache.hop.ui.pipeline.dialog.PipelinePreviewProgressDialog; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; +import org.hopper.edw.datavault.metadata.DvSourcePreviewInputSupport; /** Runs a record-definition preview using the standard Hop transform preview flow. */ public final class RecordDefinitionPreviewRunner { diff --git a/src/main/java/org/hopper/edw/catalog/hopgui/preview/RecordDefinitionPreviewSupport.java b/src/main/java/org/hopper/edw/catalog/hopgui/preview/RecordDefinitionPreviewSupport.java index f0efe9dd..3b5eca67 100644 --- a/src/main/java/org/hopper/edw/catalog/hopgui/preview/RecordDefinitionPreviewSupport.java +++ b/src/main/java/org/hopper/edw/catalog/hopgui/preview/RecordDefinitionPreviewSupport.java @@ -15,6 +15,11 @@ */ package org.hopper.edw.catalog.hopgui.preview; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; import org.hopper.edw.catalog.model.DvCsvFormatRecord; import org.hopper.edw.catalog.model.DvSourceRecord; @@ -23,9 +28,6 @@ import org.hopper.edw.catalog.model.PhysicalTableRef; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.catalog.CatalogDvSourceMapper; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -33,8 +35,6 @@ import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.IDvSource; import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Builds preview pipelines from catalog record definitions. */ public final class RecordDefinitionPreviewSupport { diff --git a/src/main/java/org/hopper/edw/catalog/impl/file/RecordDefinitionDocument.java b/src/main/java/org/hopper/edw/catalog/impl/file/RecordDefinitionDocument.java index 8076c953..49747638 100644 --- a/src/main/java/org/hopper/edw/catalog/impl/file/RecordDefinitionDocument.java +++ b/src/main/java/org/hopper/edw/catalog/impl/file/RecordDefinitionDocument.java @@ -23,6 +23,11 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.logging.LogChannel; +import org.apache.hop.core.row.IRowMeta; +import org.apache.hop.core.row.RowMeta; +import org.apache.hop.core.util.Utils; import org.hopper.edw.catalog.model.CatalogCustomProperty; import org.hopper.edw.catalog.model.DvSourceRecord; import org.hopper.edw.catalog.model.PhysicalFileRef; @@ -34,11 +39,6 @@ import org.hopper.edw.catalog.model.RecordDefinitionValidationAcknowledgement; import org.hopper.edw.catalog.model.RecordOrigin; import org.hopper.edw.catalog.util.RowMetaCatalogSupport; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.logging.LogChannel; -import org.apache.hop.core.row.IRowMeta; -import org.apache.hop.core.row.RowMeta; -import org.apache.hop.core.util.Utils; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.hopper.edw.quality.model.RecordQualityRuleBinding; diff --git a/src/main/java/org/hopper/edw/catalog/metadata/DataCatalogMeta.java b/src/main/java/org/hopper/edw/catalog/metadata/DataCatalogMeta.java index 570c667b..ea7ad06b 100644 --- a/src/main/java/org/hopper/edw/catalog/metadata/DataCatalogMeta.java +++ b/src/main/java/org/hopper/edw/catalog/metadata/DataCatalogMeta.java @@ -17,13 +17,13 @@ import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.spi.IDataCatalog; import org.apache.hop.metadata.api.HopMetadata; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.HopMetadataPropertyType; import org.apache.hop.metadata.api.IHopMetadata; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.spi.IDataCatalog; /** * Hop metadata connection to an external data catalog. Plugin-specific options are stored in the diff --git a/src/main/java/org/hopper/edw/catalog/metadata/DataCatalogMetaObjectFactory.java b/src/main/java/org/hopper/edw/catalog/metadata/DataCatalogMetaObjectFactory.java index 5f6738dc..e939d51c 100644 --- a/src/main/java/org/hopper/edw/catalog/metadata/DataCatalogMetaObjectFactory.java +++ b/src/main/java/org/hopper/edw/catalog/metadata/DataCatalogMetaObjectFactory.java @@ -16,10 +16,10 @@ package org.hopper.edw.catalog.metadata; import java.util.List; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.spi.IDataCatalog; import org.apache.hop.core.exception.HopException; import org.apache.hop.metadata.api.IHopMetadataObjectFactory; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.spi.IDataCatalog; /** * Instantiates {@link IDataCatalog} implementations from a persisted type id (same pattern as diff --git a/src/main/java/org/hopper/edw/catalog/metadata/DataCatalogMetaSearchableAnalyser.java b/src/main/java/org/hopper/edw/catalog/metadata/DataCatalogMetaSearchableAnalyser.java index b335e563..02f688f4 100644 --- a/src/main/java/org/hopper/edw/catalog/metadata/DataCatalogMetaSearchableAnalyser.java +++ b/src/main/java/org/hopper/edw/catalog/metadata/DataCatalogMetaSearchableAnalyser.java @@ -17,13 +17,13 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.spi.IDataCatalog; import org.apache.hop.core.search.BaseMetadataSearchableAnalyser; import org.apache.hop.core.search.ISearchQuery; import org.apache.hop.core.search.ISearchResult; import org.apache.hop.core.search.ISearchable; import org.apache.hop.core.search.ISearchableAnalyser; import org.apache.hop.core.search.SearchableAnalyserPlugin; +import org.hopper.edw.catalog.spi.IDataCatalog; @SearchableAnalyserPlugin( id = "DataCatalogMetaSearchableAnalyser", diff --git a/src/main/java/org/hopper/edw/catalog/quality/CatalogQualitySubjectSupport.java b/src/main/java/org/hopper/edw/catalog/quality/CatalogQualitySubjectSupport.java index f151e43c..dbd0cf63 100644 --- a/src/main/java/org/hopper/edw/catalog/quality/CatalogQualitySubjectSupport.java +++ b/src/main/java/org/hopper/edw/catalog/quality/CatalogQualitySubjectSupport.java @@ -17,16 +17,16 @@ import java.util.ArrayList; import java.util.List; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.model.PhysicalTableRef; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordDefinitionQuery; import org.hopper.edw.catalog.model.RecordDefinitionRef; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Loads catalog record definitions that can be measured for data quality. */ public final class CatalogQualitySubjectSupport { diff --git a/src/main/java/org/hopper/edw/catalog/smoke/CatalogRegistrySmoke.java b/src/main/java/org/hopper/edw/catalog/smoke/CatalogRegistrySmoke.java index a97abdee..eeac591e 100644 --- a/src/main/java/org/hopper/edw/catalog/smoke/CatalogRegistrySmoke.java +++ b/src/main/java/org/hopper/edw/catalog/smoke/CatalogRegistrySmoke.java @@ -18,14 +18,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.List; -import org.hopper.edw.catalog.metadata.DataCatalogMetaObjectFactory; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.model.RecordDefinitionQuery; -import org.hopper.edw.catalog.model.RecordDefinitionRef; -import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.LogChannel; @@ -36,6 +28,14 @@ import org.apache.hop.core.row.value.ValueMetaString; import org.apache.hop.core.variables.Variables; import org.apache.hop.metadata.serializer.json.JsonMetadataProvider; +import org.hopper.edw.catalog.metadata.DataCatalogMetaObjectFactory; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.model.RecordDefinitionQuery; +import org.hopper.edw.catalog.model.RecordDefinitionRef; +import org.hopper.edw.catalog.model.RecordDefinitionType; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; /** * Manual smoke runner for catalog CRUD. Invoked from {@code diff --git a/src/main/java/org/hopper/edw/catalog/spi/DataCatalogPluginFactory.java b/src/main/java/org/hopper/edw/catalog/spi/DataCatalogPluginFactory.java index a86a2404..3009c3a2 100644 --- a/src/main/java/org/hopper/edw/catalog/spi/DataCatalogPluginFactory.java +++ b/src/main/java/org/hopper/edw/catalog/spi/DataCatalogPluginFactory.java @@ -15,13 +15,13 @@ */ package org.hopper.edw.catalog.spi; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.metadata.DataCatalogMetaObjectFactory; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.metadata.DataCatalogMetaObjectFactory; /** * Creates connected {@link IDataCatalog} instances from {@link DataCatalogMeta} connections using diff --git a/src/main/java/org/hopper/edw/catalog/transform/recorddatainput/RecordDefinitionDataInput.java b/src/main/java/org/hopper/edw/catalog/transform/recorddatainput/RecordDefinitionDataInput.java index 25669c51..d460283e 100644 --- a/src/main/java/org/hopper/edw/catalog/transform/recorddatainput/RecordDefinitionDataInput.java +++ b/src/main/java/org/hopper/edw/catalog/transform/recorddatainput/RecordDefinitionDataInput.java @@ -19,14 +19,12 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; -import org.hopper.edw.catalog.model.RecordDefinition; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.row.RowDataUtil; import org.apache.hop.core.row.RowMeta; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.DvSourcePreviewInputSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.pipeline.Pipeline; import org.apache.hop.pipeline.PipelineMeta; @@ -35,6 +33,8 @@ import org.apache.hop.pipeline.transform.ITransform; import org.apache.hop.pipeline.transform.RowAdapter; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.datavault.metadata.DvSourcePreviewInputSupport; /** * Streams actual data rows from a catalog record definition using the same source pipeline builders diff --git a/src/main/java/org/hopper/edw/catalog/transform/recorddatainput/RecordDefinitionDataInputMeta.java b/src/main/java/org/hopper/edw/catalog/transform/recorddatainput/RecordDefinitionDataInputMeta.java index ce25e2d6..dcc8726b 100644 --- a/src/main/java/org/hopper/edw/catalog/transform/recorddatainput/RecordDefinitionDataInputMeta.java +++ b/src/main/java/org/hopper/edw/catalog/transform/recorddatainput/RecordDefinitionDataInputMeta.java @@ -18,7 +18,6 @@ import java.util.List; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.model.RecordDefinition; import org.apache.hop.core.CheckResult; import org.apache.hop.core.ICheckResult; import org.apache.hop.core.annotations.Transform; @@ -32,6 +31,7 @@ import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.BaseTransformMeta; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.catalog.model.RecordDefinition; /** * Reads actual data rows from a catalog record definition (same source path as catalog Preview diff --git a/src/main/java/org/hopper/edw/catalog/transform/recorddatainput/RecordDefinitionDataInputSupport.java b/src/main/java/org/hopper/edw/catalog/transform/recorddatainput/RecordDefinitionDataInputSupport.java index c8503ffd..02e4d7dd 100644 --- a/src/main/java/org/hopper/edw/catalog/transform/recorddatainput/RecordDefinitionDataInputSupport.java +++ b/src/main/java/org/hopper/edw/catalog/transform/recorddatainput/RecordDefinitionDataInputSupport.java @@ -15,19 +15,19 @@ */ package org.hopper.edw.catalog.transform.recorddatainput; -import org.hopper.edw.catalog.hopgui.preview.RecordDefinitionPreviewSupport; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.hopgui.preview.RecordDefinitionPreviewSupport; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.hopper.edw.datavault.metadata.DvSourcePreviewInputSupport; import org.hopper.edw.datavault.metadata.SourceField; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Shared helpers for reading actual data rows from a catalog record definition. */ public final class RecordDefinitionDataInputSupport { diff --git a/src/main/java/org/hopper/edw/catalog/transform/recordddl/RecordDefinitionDdlData.java b/src/main/java/org/hopper/edw/catalog/transform/recordddl/RecordDefinitionDdlData.java index ffaefaa7..6ea13ee1 100644 --- a/src/main/java/org/hopper/edw/catalog/transform/recordddl/RecordDefinitionDdlData.java +++ b/src/main/java/org/hopper/edw/catalog/transform/recordddl/RecordDefinitionDdlData.java @@ -16,10 +16,10 @@ package org.hopper.edw.catalog.transform.recordddl; import java.util.List; -import org.hopper.edw.catalog.model.RecordDefinition; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.pipeline.transform.BaseTransformData; import org.apache.hop.pipeline.transform.ITransformData; +import org.hopper.edw.catalog.model.RecordDefinition; public class RecordDefinitionDdlData extends BaseTransformData implements ITransformData { diff --git a/src/main/java/org/hopper/edw/catalog/transform/recordinput/RecordDefinitionInputData.java b/src/main/java/org/hopper/edw/catalog/transform/recordinput/RecordDefinitionInputData.java index 2c4b9380..93cb255f 100644 --- a/src/main/java/org/hopper/edw/catalog/transform/recordinput/RecordDefinitionInputData.java +++ b/src/main/java/org/hopper/edw/catalog/transform/recordinput/RecordDefinitionInputData.java @@ -16,10 +16,10 @@ package org.hopper.edw.catalog.transform.recordinput; import java.util.List; -import org.hopper.edw.catalog.model.RecordDefinition; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.pipeline.transform.BaseTransformData; import org.apache.hop.pipeline.transform.ITransformData; +import org.hopper.edw.catalog.model.RecordDefinition; public class RecordDefinitionInputData extends BaseTransformData implements ITransformData { diff --git a/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutput.java b/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutput.java index 6f599e74..37d5fc4f 100644 --- a/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutput.java +++ b/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutput.java @@ -18,22 +18,22 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import org.hopper.edw.catalog.discovery.PhysicalSourceRef; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; -import org.hopper.edw.catalog.discovery.RecordDefinitionDiscoveryService; -import org.hopper.edw.catalog.discovery.RecordDefinitionWriteRequest; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.row.RowDataUtil; import org.apache.hop.core.row.RowMeta; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.DvSourceDeliveryType; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.pipeline.Pipeline; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.BaseTransform; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.catalog.discovery.PhysicalSourceRef; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; +import org.hopper.edw.catalog.discovery.RecordDefinitionDiscoveryService; +import org.hopper.edw.catalog.discovery.RecordDefinitionWriteRequest; +import org.hopper.edw.datavault.metadata.DvSourceDeliveryType; +import org.hopper.edw.datavault.metadata.SourceField; public class RecordDefinitionOutput extends BaseTransform { diff --git a/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutputData.java b/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutputData.java index 663bb92c..a0957f25 100644 --- a/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutputData.java +++ b/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutputData.java @@ -18,9 +18,9 @@ import java.util.ArrayList; import java.util.List; import org.apache.hop.core.row.IRowMeta; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.pipeline.transform.BaseTransformData; import org.apache.hop.pipeline.transform.ITransformData; +import org.hopper.edw.datavault.metadata.SourceField; public class RecordDefinitionOutputData extends BaseTransformData implements ITransformData { diff --git a/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutputFieldSupport.java b/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutputFieldSupport.java index f5797412..743708d2 100644 --- a/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutputFieldSupport.java +++ b/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutputFieldSupport.java @@ -22,12 +22,12 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; import org.hopper.edw.datavault.metadata.CsvFieldOptions; import org.hopper.edw.datavault.metadata.DvSourceDeliveryType; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.SourceFieldInputOptions; -import org.apache.hop.i18n.BaseMessages; /** Pure helpers for mapping stream rows to catalog {@link SourceField} definitions. */ public final class RecordDefinitionOutputFieldSupport { diff --git a/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutputMeta.java b/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutputMeta.java index baabd315..b9faeb53 100644 --- a/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutputMeta.java +++ b/src/main/java/org/hopper/edw/catalog/transform/recordoutput/RecordDefinitionOutputMeta.java @@ -18,7 +18,6 @@ import java.util.List; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.model.RecordDefinitionType; import org.apache.hop.core.CheckResult; import org.apache.hop.core.ICheckResult; import org.apache.hop.core.annotations.Transform; @@ -28,13 +27,14 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DvSourceDeliveryType; -import org.hopper.edw.datavault.metadata.DvSourceType; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.BaseTransformMeta; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.catalog.model.RecordDefinitionType; +import org.hopper.edw.datavault.metadata.DvSourceDeliveryType; +import org.hopper.edw.datavault.metadata.DvSourceType; @Transform( id = "RecordDefinitionOutput", diff --git a/src/main/java/org/hopper/edw/catalog/versioning/CatalogVersionGuiSupport.java b/src/main/java/org/hopper/edw/catalog/versioning/CatalogVersionGuiSupport.java index 50f54de5..02ea1914 100644 --- a/src/main/java/org/hopper/edw/catalog/versioning/CatalogVersionGuiSupport.java +++ b/src/main/java/org/hopper/edw/catalog/versioning/CatalogVersionGuiSupport.java @@ -18,7 +18,6 @@ import java.util.ArrayList; import java.util.Comparator; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; @@ -34,6 +33,7 @@ import org.apache.hop.ui.hopgui.HopGui; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; /** GUI entry points for tagging and listing catalog versions. */ public final class CatalogVersionGuiSupport { diff --git a/src/main/java/org/hopper/edw/catalog/versioning/CatalogVersionService.java b/src/main/java/org/hopper/edw/catalog/versioning/CatalogVersionService.java index 60ba988a..a794ced2 100644 --- a/src/main/java/org/hopper/edw/catalog/versioning/CatalogVersionService.java +++ b/src/main/java/org/hopper/edw/catalog/versioning/CatalogVersionService.java @@ -26,6 +26,11 @@ import java.util.Map; import java.util.Optional; import java.util.Set; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.impl.file.FileDataCatalog; import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; @@ -33,17 +38,12 @@ import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.catalog.spi.IDataCatalog; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.hopper.edw.datavault.resourcedefinition.SourceUsage; import org.hopper.edw.datavault.resourcedefinition.SourceUsageIndexBuilder; import org.hopper.edw.datavault.resourcedefinition.ValidationModels; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Creates and loads semantic catalog version tags for file-based data catalogs. Snapshots freeze diff --git a/src/main/java/org/hopper/edw/catalog/versioning/CatalogVersionStore.java b/src/main/java/org/hopper/edw/catalog/versioning/CatalogVersionStore.java index da9a0252..c458a151 100644 --- a/src/main/java/org/hopper/edw/catalog/versioning/CatalogVersionStore.java +++ b/src/main/java/org/hopper/edw/catalog/versioning/CatalogVersionStore.java @@ -30,13 +30,13 @@ import java.util.List; import java.util.Locale; import java.util.Optional; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.catalog.impl.file.FileDataCatalog; import org.hopper.edw.catalog.impl.file.RecordDefinitionDocument; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.i18n.BaseMessages; /** * File IO for catalog version manifests and immutable snapshot trees under a file catalog storage diff --git a/src/main/java/org/hopper/edw/catalog/xp/RegisterDataCatalogMetadataExtensionPoint.java b/src/main/java/org/hopper/edw/catalog/xp/RegisterDataCatalogMetadataExtensionPoint.java index 2fe82ee4..678ea07e 100644 --- a/src/main/java/org/hopper/edw/catalog/xp/RegisterDataCatalogMetadataExtensionPoint.java +++ b/src/main/java/org/hopper/edw/catalog/xp/RegisterDataCatalogMetadataExtensionPoint.java @@ -18,8 +18,6 @@ import java.net.URL; import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.extension.ExtensionPoint; import org.apache.hop.core.extension.ExtensionPointPluginType; @@ -30,6 +28,8 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.metadata.api.HopMetadata; import org.apache.hop.metadata.plugin.MetadataPluginType; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; /** * Registers {@link DataCatalogMeta} with Hop metadata after environment init (neo4j-style). Catalog diff --git a/src/main/java/org/hopper/edw/catalog/xp/RegisterResourceDefinitionGroupMetadataExtensionPoint.java b/src/main/java/org/hopper/edw/catalog/xp/RegisterResourceDefinitionGroupMetadataExtensionPoint.java index 2bd53f3f..e7d7eea6 100644 --- a/src/main/java/org/hopper/edw/catalog/xp/RegisterResourceDefinitionGroupMetadataExtensionPoint.java +++ b/src/main/java/org/hopper/edw/catalog/xp/RegisterResourceDefinitionGroupMetadataExtensionPoint.java @@ -18,7 +18,6 @@ import java.net.URL; import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.extension.ExtensionPoint; import org.apache.hop.core.extension.ExtensionPointPluginType; @@ -29,6 +28,7 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.metadata.api.HopMetadata; import org.apache.hop.metadata.plugin.MetadataPluginType; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; /** Registers {@link ResourceDefinitionGroupMeta} with Hop metadata after environment init. */ @ExtensionPoint( diff --git a/src/main/java/org/hopper/edw/datavault/ai/DvAiContextBuilder.java b/src/main/java/org/hopper/edw/datavault/ai/DvAiContextBuilder.java index 46f4d501..fedd3fc0 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/DvAiContextBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/ai/DvAiContextBuilder.java @@ -19,15 +19,17 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.ICheckResult; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.DataVaultConfiguration; @@ -41,8 +43,6 @@ import org.hopper.edw.datavault.metadata.SatelliteAttribute; import org.hopper.edw.datavault.metrics.ExecutionInfoAiContextBuilder; import org.hopper.edw.datavault.metrics.MetricsAiContextBuilder; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; /** Assembles redacted context for AI advisory calls. */ public final class DvAiContextBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/ai/DvAiProposalApplier.java b/src/main/java/org/hopper/edw/datavault/ai/DvAiProposalApplier.java index ae737817..268222d8 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/DvAiProposalApplier.java +++ b/src/main/java/org/hopper/edw/datavault/ai/DvAiProposalApplier.java @@ -21,13 +21,13 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultConfiguration; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvModelCheckOptions; import org.hopper.edw.datavault.metadata.DvNote; import org.hopper.edw.datavault.metadata.DvNoteType; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Previews and applies validated AI proposals to an open model. */ public final class DvAiProposalApplier { diff --git a/src/main/java/org/hopper/edw/datavault/ai/DvAiProposalValidator.java b/src/main/java/org/hopper/edw/datavault/ai/DvAiProposalValidator.java index d28fb8b5..149be01e 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/DvAiProposalValidator.java +++ b/src/main/java/org/hopper/edw/datavault/ai/DvAiProposalValidator.java @@ -20,9 +20,9 @@ import java.util.Set; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Validates AI proposals against the open model before the user applies them. */ public final class DvAiProposalValidator { diff --git a/src/main/java/org/hopper/edw/datavault/ai/DvAiStructuralProposalSupport.java b/src/main/java/org/hopper/edw/datavault/ai/DvAiStructuralProposalSupport.java index 35895c22..6c61c49a 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/DvAiStructuralProposalSupport.java +++ b/src/main/java/org/hopper/edw/datavault/ai/DvAiStructuralProposalSupport.java @@ -26,6 +26,7 @@ import org.apache.hop.core.json.HopJson; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.DataVaultModel; @@ -36,7 +37,6 @@ import org.hopper.edw.datavault.metadata.IDvTable; import org.hopper.edw.datavault.metadata.SatelliteAttribute; import org.hopper.edw.datavault.metadata.SourceField; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Parses, validates, and applies structural Data Vault modeling proposals. */ final class DvAiStructuralProposalSupport { diff --git a/src/main/java/org/hopper/edw/datavault/ai/SourceToVaultAiContextBuilder.java b/src/main/java/org/hopper/edw/datavault/ai/SourceToVaultAiContextBuilder.java index 42e2ab15..86a3c508 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/SourceToVaultAiContextBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/ai/SourceToVaultAiContextBuilder.java @@ -21,6 +21,7 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; @@ -29,7 +30,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultClassifier; import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultOptions; import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultProposal; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Compact source-model classification JSON for Data Vault AI Help. Discovers sibling {@code .hsm} diff --git a/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiAdvisorService.java b/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiAdvisorService.java index 407575bf..d3a8f976 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiAdvisorService.java +++ b/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiAdvisorService.java @@ -25,13 +25,13 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.pipeline.transforms.languagemodelchat.LanguageModelChatMeta; +import org.apache.hop.pipeline.transforms.languagemodelchat.internals.LanguageModelFacade; import org.hopper.edw.datavault.ai.DvAiLanguageModelFactory; import org.hopper.edw.datavault.ai.DvAiProposalParser; import org.hopper.edw.datavault.ai.DvAiResponse; import org.hopper.edw.datavault.ai.HopAiAdvisorEngine; import org.hopper.edw.datavault.ai.HopAiConfig; -import org.apache.hop.pipeline.transforms.languagemodelchat.LanguageModelChatMeta; -import org.apache.hop.pipeline.transforms.languagemodelchat.internals.LanguageModelFacade; /** Calls the configured LLM and parses Business Vault advisory responses. */ public final class BvAiAdvisorService { diff --git a/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiContextBuilder.java b/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiContextBuilder.java index af8157a6..ea16ef0d 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiContextBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiContextBuilder.java @@ -22,6 +22,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.ai.DvAiContextBuilder; import org.hopper.edw.datavault.ai.DvTargetLoadAiConfigurationSupport; import org.hopper.edw.datavault.metadata.DataVaultModel; @@ -36,8 +38,6 @@ import org.hopper.edw.datavault.metadata.businessvault.IBvTable; import org.hopper.edw.datavault.metrics.ExecutionInfoAiContextBuilder; import org.hopper.edw.datavault.metrics.MetricsAiContextBuilder; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; /** Assembles redacted context for Business Vault AI advisory calls. */ public final class BvAiContextBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiProposalApplier.java b/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiProposalApplier.java index 8588fe3c..b52d6b15 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiProposalApplier.java +++ b/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiProposalApplier.java @@ -22,6 +22,7 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.ai.DvAiProposal; import org.hopper.edw.datavault.ai.DvTargetLoadAiConfigurationSupport; import org.hopper.edw.datavault.metadata.DvNote; @@ -29,7 +30,6 @@ import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.IBvTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Previews and applies validated AI proposals to an open Business Vault model. */ public final class BvAiProposalApplier { diff --git a/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiProposalValidator.java b/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiProposalValidator.java index a4f8ac1f..9fa1b48b 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiProposalValidator.java +++ b/src/main/java/org/hopper/edw/datavault/ai/businessvault/BvAiProposalValidator.java @@ -19,10 +19,10 @@ import java.util.List; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.ai.DvAiProposal; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.IBvTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Validates AI proposals against the open Business Vault model before the user applies them. */ public final class BvAiProposalValidator { diff --git a/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiAdvisorService.java b/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiAdvisorService.java index 0a9503f7..0ee94d81 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiAdvisorService.java +++ b/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiAdvisorService.java @@ -25,13 +25,13 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.pipeline.transforms.languagemodelchat.LanguageModelChatMeta; +import org.apache.hop.pipeline.transforms.languagemodelchat.internals.LanguageModelFacade; import org.hopper.edw.datavault.ai.DvAiLanguageModelFactory; import org.hopper.edw.datavault.ai.DvAiProposalParser; import org.hopper.edw.datavault.ai.DvAiResponse; import org.hopper.edw.datavault.ai.HopAiAdvisorEngine; import org.hopper.edw.datavault.ai.HopAiConfig; -import org.apache.hop.pipeline.transforms.languagemodelchat.LanguageModelChatMeta; -import org.apache.hop.pipeline.transforms.languagemodelchat.internals.LanguageModelFacade; /** Calls the configured LLM and parses dimensional model advisory responses. */ public final class DmAiAdvisorService { diff --git a/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiContextBuilder.java b/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiContextBuilder.java index 2a59c93e..3ca4e1c6 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiContextBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiContextBuilder.java @@ -22,6 +22,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.ai.DvAiContextBuilder; import org.hopper.edw.datavault.ai.DvTargetLoadAiConfigurationSupport; import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; @@ -41,8 +43,6 @@ import org.hopper.edw.datavault.metadata.dimensional.IDmTable; import org.hopper.edw.datavault.metrics.ExecutionInfoAiContextBuilder; import org.hopper.edw.datavault.metrics.MetricsAiContextBuilder; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; /** Assembles redacted context for dimensional model AI advisory calls. */ public final class DmAiContextBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiProposalApplier.java b/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiProposalApplier.java index cdb738a1..41bfb63c 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiProposalApplier.java +++ b/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiProposalApplier.java @@ -22,6 +22,7 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.ai.DvAiProposal; import org.hopper.edw.datavault.ai.DvTargetLoadAiConfigurationSupport; import org.hopper.edw.datavault.metadata.DvNote; @@ -29,7 +30,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Previews and applies validated AI proposals to an open dimensional model. */ public final class DmAiProposalApplier { diff --git a/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiProposalValidator.java b/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiProposalValidator.java index 7cca869c..45e076b9 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiProposalValidator.java +++ b/src/main/java/org/hopper/edw/datavault/ai/dimensional/DmAiProposalValidator.java @@ -19,10 +19,10 @@ import java.util.List; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.ai.DvAiProposal; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Validates AI proposals against the open dimensional model before the user applies them. */ public final class DmAiProposalValidator { diff --git a/src/main/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiContextBuilder.java b/src/main/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiContextBuilder.java index 199482fa..9b8f27e4 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiContextBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiContextBuilder.java @@ -25,12 +25,12 @@ import org.apache.hop.core.plugins.TransformPluginType; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.ai.HopAiCheckResultsSerializer; -import org.hopper.edw.datavault.ai.HopAiTextUtil; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.datavault.ai.HopAiCheckResultsSerializer; +import org.hopper.edw.datavault.ai.HopAiTextUtil; public final class PipelineAiContextBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalApplier.java b/src/main/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalApplier.java index 5f6505c9..8f69af38 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalApplier.java +++ b/src/main/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalApplier.java @@ -21,14 +21,14 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.ai.HopAiProposal; -import org.hopper.edw.datavault.ai.HopAiProposalParamSupport; -import org.hopper.edw.datavault.ai.HopAiTransformPluginSupport; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.ITransformMeta; import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.ui.hopgui.HopGui; +import org.hopper.edw.datavault.ai.HopAiProposal; +import org.hopper.edw.datavault.ai.HopAiProposalParamSupport; +import org.hopper.edw.datavault.ai.HopAiTransformPluginSupport; /** Previews and applies validated AI proposals to an open pipeline. */ public final class PipelineAiProposalApplier { diff --git a/src/main/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalValidator.java b/src/main/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalValidator.java index 46e11810..be272139 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalValidator.java +++ b/src/main/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalValidator.java @@ -22,11 +22,11 @@ import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.plugins.TransformPluginType; import org.apache.hop.core.util.Utils; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; import org.hopper.edw.datavault.ai.HopAiProposal; import org.hopper.edw.datavault.ai.HopAiProposalParamSupport; import org.hopper.edw.datavault.ai.HopAiProposalValidation; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; /** Validates AI pipeline proposals against the open graph before the user applies them. */ public final class PipelineAiProposalValidator { diff --git a/src/main/java/org/hopper/edw/datavault/ai/workflow/WorkflowAiContextBuilder.java b/src/main/java/org/hopper/edw/datavault/ai/workflow/WorkflowAiContextBuilder.java index 32187b58..f17dca96 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/workflow/WorkflowAiContextBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/ai/workflow/WorkflowAiContextBuilder.java @@ -25,12 +25,12 @@ import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.ai.HopAiCheckResultsSerializer; -import org.hopper.edw.datavault.ai.HopAiTextUtil; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.workflow.WorkflowHopMeta; import org.apache.hop.workflow.WorkflowMeta; import org.apache.hop.workflow.action.ActionMeta; +import org.hopper.edw.datavault.ai.HopAiCheckResultsSerializer; +import org.hopper.edw.datavault.ai.HopAiTextUtil; public final class WorkflowAiContextBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/ai/workflow/WorkflowAiProposalApplier.java b/src/main/java/org/hopper/edw/datavault/ai/workflow/WorkflowAiProposalApplier.java index 8b99376a..73eb4f08 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/workflow/WorkflowAiProposalApplier.java +++ b/src/main/java/org/hopper/edw/datavault/ai/workflow/WorkflowAiProposalApplier.java @@ -21,13 +21,13 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.ai.HopAiActionPluginSupport; -import org.hopper.edw.datavault.ai.HopAiProposal; -import org.hopper.edw.datavault.ai.HopAiProposalParamSupport; import org.apache.hop.ui.hopgui.HopGui; import org.apache.hop.workflow.WorkflowHopMeta; import org.apache.hop.workflow.WorkflowMeta; import org.apache.hop.workflow.action.ActionMeta; +import org.hopper.edw.datavault.ai.HopAiActionPluginSupport; +import org.hopper.edw.datavault.ai.HopAiProposal; +import org.hopper.edw.datavault.ai.HopAiProposalParamSupport; /** Previews and applies validated AI proposals to an open workflow. */ public final class WorkflowAiProposalApplier { diff --git a/src/main/java/org/hopper/edw/datavault/ai/workflow/WorkflowAiProposalValidator.java b/src/main/java/org/hopper/edw/datavault/ai/workflow/WorkflowAiProposalValidator.java index 63aaf7b6..a2bf741e 100644 --- a/src/main/java/org/hopper/edw/datavault/ai/workflow/WorkflowAiProposalValidator.java +++ b/src/main/java/org/hopper/edw/datavault/ai/workflow/WorkflowAiProposalValidator.java @@ -22,11 +22,11 @@ import org.apache.hop.core.plugins.ActionPluginType; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.util.Utils; +import org.apache.hop.workflow.WorkflowMeta; +import org.apache.hop.workflow.action.ActionMeta; import org.hopper.edw.datavault.ai.HopAiProposal; import org.hopper.edw.datavault.ai.HopAiProposalParamSupport; import org.hopper.edw.datavault.ai.HopAiProposalValidation; -import org.apache.hop.workflow.WorkflowMeta; -import org.apache.hop.workflow.action.ActionMeta; /** Validates AI workflow proposals against the open graph before the user applies them. */ public final class WorkflowAiProposalValidator { diff --git a/src/main/java/org/hopper/edw/datavault/architecture/ArchitectureExportService.java b/src/main/java/org/hopper/edw/datavault/architecture/ArchitectureExportService.java index efd9d1b2..dc598d29 100644 --- a/src/main/java/org/hopper/edw/datavault/architecture/ArchitectureExportService.java +++ b/src/main/java/org/hopper/edw/datavault/architecture/ArchitectureExportService.java @@ -21,11 +21,12 @@ import java.util.List; import lombok.Getter; import org.apache.commons.vfs2.FileObject; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.hopper.edw.datavault.executionmap.CrawlOptions; import org.hopper.edw.datavault.executionmap.ExecutionMapCrawler; import org.hopper.edw.datavault.executionmap.ExecutionMapPersistence; @@ -42,7 +43,6 @@ import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Orchestrates architecture graph build and Draw.io export. */ public final class ArchitectureExportService { diff --git a/src/main/java/org/hopper/edw/datavault/catalog/BvCatalogPublisher.java b/src/main/java/org/hopper/edw/datavault/catalog/BvCatalogPublisher.java index f48401b7..158868d9 100644 --- a/src/main/java/org/hopper/edw/datavault/catalog/BvCatalogPublisher.java +++ b/src/main/java/org/hopper/edw/datavault/catalog/BvCatalogPublisher.java @@ -17,24 +17,24 @@ import java.util.Date; import lombok.Getter; +import org.apache.hop.core.database.DatabaseMeta; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.row.IRowMeta; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.model.PhysicalTableRef; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.catalog.model.RecordOrigin; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.database.DatabaseMeta; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.row.IRowMeta; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BvBusinessTable; import org.hopper.edw.datavault.metadata.businessvault.BvTableType; import org.hopper.edw.datavault.metadata.businessvault.IBvTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Publishes Business Vault target table record definitions to a configured data catalog. */ public final class BvCatalogPublisher { diff --git a/src/main/java/org/hopper/edw/datavault/catalog/CatalogDvSourceMapper.java b/src/main/java/org/hopper/edw/datavault/catalog/CatalogDvSourceMapper.java index 16eaea78..ca33ba2d 100644 --- a/src/main/java/org/hopper/edw/datavault/catalog/CatalogDvSourceMapper.java +++ b/src/main/java/org/hopper/edw/datavault/catalog/CatalogDvSourceMapper.java @@ -16,14 +16,14 @@ package org.hopper.edw.datavault.catalog; import java.util.List; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; import org.hopper.edw.catalog.model.DvCsvFormatRecord; import org.hopper.edw.catalog.model.DvSourceRecord; import org.hopper.edw.catalog.model.PhysicalTableRef; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvSourceDeliveryType; import org.hopper.edw.datavault.metadata.DvSourceType; diff --git a/src/main/java/org/hopper/edw/datavault/catalog/CatalogModelRegistrySupport.java b/src/main/java/org/hopper/edw/datavault/catalog/CatalogModelRegistrySupport.java index 7c7b8388..6a01e3d7 100644 --- a/src/main/java/org/hopper/edw/datavault/catalog/CatalogModelRegistrySupport.java +++ b/src/main/java/org/hopper/edw/datavault/catalog/CatalogModelRegistrySupport.java @@ -20,6 +20,10 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.model.CatalogCustomProperty; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; @@ -28,14 +32,10 @@ import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.catalog.model.RecordOrigin; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvModelLoadSupport; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Project-wide catalog index of DV / BV / DM model files for multi-model {@code ref()} resolution diff --git a/src/main/java/org/hopper/edw/datavault/catalog/DmCatalogPublisher.java b/src/main/java/org/hopper/edw/datavault/catalog/DmCatalogPublisher.java index 5af1bb40..2190afb2 100644 --- a/src/main/java/org/hopper/edw/datavault/catalog/DmCatalogPublisher.java +++ b/src/main/java/org/hopper/edw/datavault/catalog/DmCatalogPublisher.java @@ -17,22 +17,22 @@ import java.util.Date; import lombok.Getter; +import org.apache.hop.core.database.DatabaseMeta; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.row.IRowMeta; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.model.PhysicalTableRef; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.catalog.model.RecordOrigin; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.database.DatabaseMeta; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.row.IRowMeta; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.DmTableType; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Publishes dimensional model target table record definitions to a configured data catalog. */ public final class DmCatalogPublisher { diff --git a/src/main/java/org/hopper/edw/datavault/catalog/DvCatalogPublisher.java b/src/main/java/org/hopper/edw/datavault/catalog/DvCatalogPublisher.java index a0dcd494..f67efcb0 100644 --- a/src/main/java/org/hopper/edw/datavault/catalog/DvCatalogPublisher.java +++ b/src/main/java/org/hopper/edw/datavault/catalog/DvCatalogPublisher.java @@ -21,6 +21,12 @@ import java.util.Set; import java.util.TreeSet; import lombok.Getter; +import org.apache.hop.core.database.DatabaseMeta; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.row.IRowMeta; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.model.CatalogCustomProperty; import org.hopper.edw.catalog.model.PhysicalTableRef; import org.hopper.edw.catalog.model.RecordDefinition; @@ -28,11 +34,6 @@ import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.catalog.model.RecordOrigin; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.database.DatabaseMeta; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.row.IRowMeta; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.metadata.DataVaultConfiguration; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -41,7 +42,6 @@ import org.hopper.edw.datavault.metadata.DvSatellite; import org.hopper.edw.datavault.metadata.DvTableType; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Publishes Data Vault model target table record definitions to a configured data catalog. */ public final class DvCatalogPublisher { diff --git a/src/main/java/org/hopper/edw/datavault/catalog/DvLegacySourceMigrator.java b/src/main/java/org/hopper/edw/datavault/catalog/DvLegacySourceMigrator.java index 7e89a31d..959dda12 100644 --- a/src/main/java/org/hopper/edw/datavault/catalog/DvLegacySourceMigrator.java +++ b/src/main/java/org/hopper/edw/datavault/catalog/DvLegacySourceMigrator.java @@ -26,8 +26,6 @@ import java.util.List; import java.util.Map; import java.util.stream.Stream; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.LogChannel; @@ -35,14 +33,16 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.json.JsonMetadataProvider; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvSourceDeliveryType; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.IDvSource; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.json.JsonMetadataProvider; /** One-time migration of legacy {@code data-vault-source} Hop metadata JSON into the catalog. */ public final class DvLegacySourceMigrator { diff --git a/src/main/java/org/hopper/edw/datavault/catalog/DvSourceCatalogMapper.java b/src/main/java/org/hopper/edw/datavault/catalog/DvSourceCatalogMapper.java index 6111b3de..15f1a06c 100644 --- a/src/main/java/org/hopper/edw/datavault/catalog/DvSourceCatalogMapper.java +++ b/src/main/java/org/hopper/edw/datavault/catalog/DvSourceCatalogMapper.java @@ -17,6 +17,10 @@ import java.util.Date; import java.util.List; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.model.DvCsvFormatRecord; import org.hopper.edw.catalog.model.DvSourceRecord; import org.hopper.edw.catalog.model.PhysicalFileRef; @@ -26,9 +30,6 @@ import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.catalog.model.RecordOrigin; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvSourceType; @@ -42,7 +43,6 @@ import org.hopper.edw.datavault.metadata.file.IDvFileBasedSource; import org.hopper.edw.datavault.metadata.iceberg.DvIcebergLocationSupport; import org.hopper.edw.datavault.metadata.iceberg.DvIcebergSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Maps {@link DataVaultSource} to catalog {@link RecordDefinition} entries. */ public final class DvSourceCatalogMapper { diff --git a/src/main/java/org/hopper/edw/datavault/catalog/DvSourceCatalogService.java b/src/main/java/org/hopper/edw/datavault/catalog/DvSourceCatalogService.java index a85e94fa..cfadaa47 100644 --- a/src/main/java/org/hopper/edw/datavault/catalog/DvSourceCatalogService.java +++ b/src/main/java/org/hopper/edw/datavault/catalog/DvSourceCatalogService.java @@ -19,19 +19,19 @@ import java.util.Comparator; import java.util.Date; import java.util.List; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.api.IHopMetadataSerializer; import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordDefinitionQuery; import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.api.IHopMetadataSerializer; /** Resolves and persists Data Vault sources through the data catalog. */ public final class DvSourceCatalogService { diff --git a/src/main/java/org/hopper/edw/datavault/catalog/DvSourceFieldSupport.java b/src/main/java/org/hopper/edw/datavault/catalog/DvSourceFieldSupport.java index ccc886fc..ff01dc85 100644 --- a/src/main/java/org/hopper/edw/datavault/catalog/DvSourceFieldSupport.java +++ b/src/main/java/org/hopper/edw/datavault/catalog/DvSourceFieldSupport.java @@ -19,11 +19,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import org.hopper.edw.catalog.model.CatalogSourceField; -import org.hopper.edw.catalog.model.DvSourceRecord; -import org.hopper.edw.catalog.model.PhysicalTableRef; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionType; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.exception.HopPluginException; @@ -33,6 +28,11 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.hopper.edw.catalog.model.CatalogSourceField; +import org.hopper.edw.catalog.model.DvSourceRecord; +import org.hopper.edw.catalog.model.PhysicalTableRef; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.datavault.metadata.DvDataTypeSupport; import org.hopper.edw.datavault.metadata.SourceField; diff --git a/src/main/java/org/hopper/edw/datavault/catalog/smoke/DvCatalogPublishSmoke.java b/src/main/java/org/hopper/edw/datavault/catalog/smoke/DvCatalogPublishSmoke.java index fd45d0aa..0b1a5656 100644 --- a/src/main/java/org/hopper/edw/datavault/catalog/smoke/DvCatalogPublishSmoke.java +++ b/src/main/java/org/hopper/edw/datavault/catalog/smoke/DvCatalogPublishSmoke.java @@ -17,12 +17,6 @@ import java.nio.file.Files; import java.nio.file.Path; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.model.RecordDefinitionQuery; -import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.LogChannel; @@ -31,11 +25,17 @@ import org.apache.hop.core.variables.Variables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.json.JsonMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.model.RecordDefinitionQuery; +import org.hopper.edw.catalog.model.RecordDefinitionType; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.hopper.edw.datavault.catalog.DvCatalogPublisher; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.apache.hop.metadata.serializer.json.JsonMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/command/architecture/ArchitectureExportCommand.java b/src/main/java/org/hopper/edw/datavault/command/architecture/ArchitectureExportCommand.java index d11e2002..1066b27d 100644 --- a/src/main/java/org/hopper/edw/datavault/command/architecture/ArchitectureExportCommand.java +++ b/src/main/java/org/hopper/edw/datavault/command/architecture/ArchitectureExportCommand.java @@ -29,14 +29,14 @@ import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.architecture.ArchitectureExportService; -import org.hopper.edw.datavault.architecture.ArchitectureExportService.ExportResult; -import org.hopper.edw.datavault.architecture.ArchitectureViewType; import org.apache.hop.hop.Hop; import org.apache.hop.hop.plugin.HopCommand; import org.apache.hop.hop.plugin.IHopCommand; import org.apache.hop.metadata.api.IHasHopMetadataProvider; import org.apache.hop.metadata.serializer.multi.MultiMetadataProvider; +import org.hopper.edw.datavault.architecture.ArchitectureExportService; +import org.hopper.edw.datavault.architecture.ArchitectureExportService.ExportResult; +import org.hopper.edw.datavault.architecture.ArchitectureViewType; import picocli.CommandLine; /** diff --git a/src/main/java/org/hopper/edw/datavault/command/executionmap/ExecutionMapCommand.java b/src/main/java/org/hopper/edw/datavault/command/executionmap/ExecutionMapCommand.java index a6bc02fa..041a7426 100644 --- a/src/main/java/org/hopper/edw/datavault/command/executionmap/ExecutionMapCommand.java +++ b/src/main/java/org/hopper/edw/datavault/command/executionmap/ExecutionMapCommand.java @@ -26,13 +26,13 @@ import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.command.executionmap.ExecutionMapService.GenerateResult; -import org.hopper.edw.datavault.executionmap.CrawlOptions; import org.apache.hop.hop.Hop; import org.apache.hop.hop.plugin.HopCommand; import org.apache.hop.hop.plugin.IHopCommand; import org.apache.hop.metadata.api.IHasHopMetadataProvider; import org.apache.hop.metadata.serializer.multi.MultiMetadataProvider; +import org.hopper.edw.datavault.command.executionmap.ExecutionMapService.GenerateResult; +import org.hopper.edw.datavault.executionmap.CrawlOptions; import picocli.CommandLine; @Getter diff --git a/src/main/java/org/hopper/edw/datavault/command/executionmap/ExecutionMapService.java b/src/main/java/org/hopper/edw/datavault/command/executionmap/ExecutionMapService.java index 65deb30c..3bbb68cc 100644 --- a/src/main/java/org/hopper/edw/datavault/command/executionmap/ExecutionMapService.java +++ b/src/main/java/org/hopper/edw/datavault/command/executionmap/ExecutionMapService.java @@ -21,6 +21,7 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.executionmap.CrawlOptions; import org.hopper.edw.datavault.executionmap.ExecutionMapCrawler; import org.hopper.edw.datavault.executionmap.ExecutionMapDiffSupport; @@ -28,7 +29,6 @@ import org.hopper.edw.datavault.executionmap.ExecutionMapPersistence; import org.hopper.edw.datavault.executionmap.OpenLineageExportSupport; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Generates and persists Hop execution map documents. */ public final class ExecutionMapService { diff --git a/src/main/java/org/hopper/edw/datavault/command/svg/SvgExportService.java b/src/main/java/org/hopper/edw/datavault/command/svg/SvgExportService.java index 31fea2f6..bc617a1e 100644 --- a/src/main/java/org/hopper/edw/datavault/command/svg/SvgExportService.java +++ b/src/main/java/org/hopper/edw/datavault/command/svg/SvgExportService.java @@ -25,6 +25,12 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.PipelineSvgPainter; +import org.apache.hop.workflow.WorkflowMeta; +import org.apache.hop.workflow.WorkflowSvgPainter; import org.hopper.edw.datavault.executionmap.ExecutionMapPersistence; import org.hopper.edw.datavault.hopgui.file.businessvault.BusinessVaultModelSvgPainter; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; @@ -41,12 +47,6 @@ import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.PipelineSvgPainter; -import org.apache.hop.workflow.WorkflowMeta; -import org.apache.hop.workflow.WorkflowSvgPainter; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/config/ElkLayoutConfigOptionPlugin.java b/src/main/java/org/hopper/edw/datavault/config/ElkLayoutConfigOptionPlugin.java index 10260fa2..b70c17e0 100644 --- a/src/main/java/org/hopper/edw/datavault/config/ElkLayoutConfigOptionPlugin.java +++ b/src/main/java/org/hopper/edw/datavault/config/ElkLayoutConfigOptionPlugin.java @@ -25,14 +25,6 @@ import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.layout.ElkCrossingMinimization; -import org.hopper.edw.datavault.layout.ElkCycleBreaking; -import org.hopper.edw.datavault.layout.ElkLayeringStrategy; -import org.hopper.edw.datavault.layout.ElkLayout; -import org.hopper.edw.datavault.layout.ElkLayoutAlgorithm; -import org.hopper.edw.datavault.layout.ElkLayoutDirection; -import org.hopper.edw.datavault.layout.ElkLayoutValues; -import org.hopper.edw.datavault.layout.ElkNodePlacement; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHasHopMetadataProvider; import org.apache.hop.ui.core.dialog.ErrorDialog; @@ -46,6 +38,14 @@ import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.layout.ElkCrossingMinimization; +import org.hopper.edw.datavault.layout.ElkCycleBreaking; +import org.hopper.edw.datavault.layout.ElkLayeringStrategy; +import org.hopper.edw.datavault.layout.ElkLayout; +import org.hopper.edw.datavault.layout.ElkLayoutAlgorithm; +import org.hopper.edw.datavault.layout.ElkLayoutDirection; +import org.hopper.edw.datavault.layout.ElkLayoutValues; +import org.hopper.edw.datavault.layout.ElkNodePlacement; import picocli.CommandLine; @ConfigPlugin( diff --git a/src/main/java/org/hopper/edw/datavault/config/ExecutionMapConfigOptionPlugin.java b/src/main/java/org/hopper/edw/datavault/config/ExecutionMapConfigOptionPlugin.java index 793baf80..e4a5ad37 100644 --- a/src/main/java/org/hopper/edw/datavault/config/ExecutionMapConfigOptionPlugin.java +++ b/src/main/java/org/hopper/edw/datavault/config/ExecutionMapConfigOptionPlugin.java @@ -25,8 +25,6 @@ import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.executionmap.ExecutionMapLineStyle; -import org.hopper.edw.datavault.layout.ElkLayoutValues; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHasHopMetadataProvider; import org.apache.hop.ui.core.dialog.ErrorDialog; @@ -37,6 +35,8 @@ import org.apache.hop.ui.hopgui.perspective.configuration.tabs.ConfigPluginOptionsTab; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Control; +import org.hopper.edw.datavault.executionmap.ExecutionMapLineStyle; +import org.hopper.edw.datavault.layout.ElkLayoutValues; import picocli.CommandLine; @ConfigPlugin( diff --git a/src/main/java/org/hopper/edw/datavault/config/HopAiConfigOptionPlugin.java b/src/main/java/org/hopper/edw/datavault/config/HopAiConfigOptionPlugin.java index 073825f0..4f8d4e7a 100644 --- a/src/main/java/org/hopper/edw/datavault/config/HopAiConfigOptionPlugin.java +++ b/src/main/java/org/hopper/edw/datavault/config/HopAiConfigOptionPlugin.java @@ -27,12 +27,6 @@ import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.ai.DvAiProviderPreset; -import org.hopper.edw.datavault.ai.HopAiConfig; -import org.hopper.edw.datavault.ai.HopAiConfigSingleton; -import org.hopper.edw.datavault.ai.HopAiHealthCheckSupport; -import org.hopper.edw.datavault.ai.HopAiProviderSettings; -import org.hopper.edw.datavault.ai.HopAiProviderSettingsSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHasHopMetadataProvider; import org.apache.hop.metadata.api.IHopMetadataProvider; @@ -51,6 +45,12 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.ai.DvAiProviderPreset; +import org.hopper.edw.datavault.ai.HopAiConfig; +import org.hopper.edw.datavault.ai.HopAiConfigSingleton; +import org.hopper.edw.datavault.ai.HopAiHealthCheckSupport; +import org.hopper.edw.datavault.ai.HopAiProviderSettings; +import org.hopper.edw.datavault.ai.HopAiProviderSettingsSupport; import picocli.CommandLine; @ConfigPlugin( diff --git a/src/main/java/org/hopper/edw/datavault/dbt/DbtImportOptions.java b/src/main/java/org/hopper/edw/datavault/dbt/DbtImportOptions.java index 310f2095..68c7a3d3 100644 --- a/src/main/java/org/hopper/edw/datavault/dbt/DbtImportOptions.java +++ b/src/main/java/org/hopper/edw/datavault/dbt/DbtImportOptions.java @@ -20,8 +20,8 @@ import lombok.Getter; import lombok.Setter; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; @Getter @Setter diff --git a/src/main/java/org/hopper/edw/datavault/dbt/DbtImportService.java b/src/main/java/org/hopper/edw/datavault/dbt/DbtImportService.java index 97d75578..bf5d360b 100644 --- a/src/main/java/org/hopper/edw/datavault/dbt/DbtImportService.java +++ b/src/main/java/org/hopper/edw/datavault/dbt/DbtImportService.java @@ -23,6 +23,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.api.IHopMetadataSerializer; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; @@ -33,9 +36,6 @@ import org.hopper.edw.datavault.metadata.jinja.JinjaMacroDefinition; import org.hopper.edw.datavault.metadata.jinja.JinjaMacroLibraryMeta; import org.hopper.edw.datavault.metadata.jinja.JinjaMacroVar; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.api.IHopMetadataSerializer; /** Applies a {@link DbtProjectScan} to Business Vault model(s) and a Jinja macro library. */ public final class DbtImportService { diff --git a/src/main/java/org/hopper/edw/datavault/dbt/DbtProjectParser.java b/src/main/java/org/hopper/edw/datavault/dbt/DbtProjectParser.java index 5257107f..f9c3ee7f 100644 --- a/src/main/java/org/hopper/edw/datavault/dbt/DbtProjectParser.java +++ b/src/main/java/org/hopper/edw/datavault/dbt/DbtProjectParser.java @@ -21,8 +21,8 @@ import java.util.Map; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.businessvault.BvSqlTemplateParser; import org.apache.hop.i18n.BaseMessages; +import org.hopper.edw.datavault.metadata.businessvault.BvSqlTemplateParser; /** Scans a dbt-core project folder into {@link DbtProjectScan} drafts. */ public final class DbtProjectParser { diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapContext.java b/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapContext.java index c7faf6f6..08749dca 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapContext.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapContext.java @@ -28,6 +28,7 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapArtifactSnapshot; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapArtifactType; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; @@ -35,7 +36,6 @@ import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Mutable crawl state shared by workflow and pipeline crawlers. */ public final class ExecutionMapContext { diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapCrawler.java b/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapCrawler.java index 65ce5e2f..4752ad54 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapCrawler.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapCrawler.java @@ -21,9 +21,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapRootArtifactType; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Entry point for building a Hop execution map from a root workflow or pipeline. */ public final class ExecutionMapCrawler { diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapDatasetCatalogSupport.java b/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapDatasetCatalogSupport.java index 8e5707cd..14e55789 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapDatasetCatalogSupport.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapDatasetCatalogSupport.java @@ -15,9 +15,9 @@ */ package org.hopper.edw.datavault.executionmap; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.datavault.catalog.BvCatalogNamespaces; import org.hopper.edw.datavault.catalog.DmCatalogNamespaces; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapLineStyle.java b/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapLineStyle.java index 8fd74259..2d0f7eca 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapLineStyle.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapLineStyle.java @@ -15,10 +15,10 @@ */ package org.hopper.edw.datavault.executionmap; -import org.hopper.edw.datavault.config.DataVaultConfigSingleton; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IEnumHasCode; import org.apache.hop.metadata.api.IEnumHasCodeAndDescription; +import org.hopper.edw.datavault.config.DataVaultConfigSingleton; /** Edge drawing style for execution map graphs and SVG export. */ public enum ExecutionMapLineStyle implements IEnumHasCodeAndDescription { diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapNodeColors.java b/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapNodeColors.java index 51d19d3f..88f7b3f4 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapNodeColors.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapNodeColors.java @@ -17,9 +17,9 @@ import org.apache.hop.core.gui.IGc; import org.apache.hop.core.gui.IGc.EColor; +import org.apache.hop.ui.core.PropsUi; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; -import org.apache.hop.ui.core.PropsUi; /** Node fill colors for execution map painting. */ public final class ExecutionMapNodeColors { diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapPersistence.java b/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapPersistence.java index 6a576403..f871f4ab 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapPersistence.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/ExecutionMapPersistence.java @@ -18,11 +18,11 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.executionmap.HopExecutionMapFileType; import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/ModelDatasetResolver.java b/src/main/java/org/hopper/edw/datavault/executionmap/ModelDatasetResolver.java index 8646f6c7..de058d71 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/ModelDatasetResolver.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/ModelDatasetResolver.java @@ -17,9 +17,10 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.model.RecordDefinitionType; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; +import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.datavault.catalog.BvCatalogNamespaces; import org.hopper.edw.datavault.catalog.DmCatalogNamespaces; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; @@ -37,7 +38,6 @@ import org.hopper.edw.datavault.metadata.dimensional.IDmTable; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; -import org.apache.hop.pipeline.PipelineMeta; /** Adds dataset leaf nodes from DV/BV/DM model table and source metadata. */ public final class ModelDatasetResolver { diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/ModelPipelineResolver.java b/src/main/java/org/hopper/edw/datavault/executionmap/ModelPipelineResolver.java index 190a2876..1e808537 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/ModelPipelineResolver.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/ModelPipelineResolver.java @@ -19,6 +19,7 @@ import java.util.List; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvUpdateExecutionSupport; import org.hopper.edw.datavault.metadata.IDvTable; @@ -33,7 +34,6 @@ import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; -import org.apache.hop.pipeline.PipelineMeta; /** Resolves statically generated pipelines from DV/BV/DM models during crawl. */ public final class ModelPipelineResolver { diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/PipelineCrawler.java b/src/main/java/org/hopper/edw/datavault/executionmap/PipelineCrawler.java index c8f2649e..dad136c4 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/PipelineCrawler.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/PipelineCrawler.java @@ -19,13 +19,13 @@ import java.util.Map; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.ITransformMeta; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; /** Crawls a Hop pipeline and nested transform references. */ public final class PipelineCrawler { diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/PipelineDatasetCatalogResolver.java b/src/main/java/org/hopper/edw/datavault/executionmap/PipelineDatasetCatalogResolver.java index 99681938..5e357dee 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/PipelineDatasetCatalogResolver.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/PipelineDatasetCatalogResolver.java @@ -18,8 +18,8 @@ import java.util.Comparator; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.hopper.edw.catalog.model.RecordDefinitionType; import org.apache.hop.core.util.Utils; +import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/PipelineDatasetResolver.java b/src/main/java/org/hopper/edw/datavault/executionmap/PipelineDatasetResolver.java index 68b6ab3e..6e916cac 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/PipelineDatasetResolver.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/PipelineDatasetResolver.java @@ -19,13 +19,13 @@ import java.util.regex.Pattern; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.ITransformMeta; import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.apache.hop.pipeline.transforms.tableoutput.TableOutputMeta; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; /** Adds dataset leaf nodes from TableInput and TableOutput transforms in pipelines. */ public final class PipelineDatasetResolver { diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/ReferencedObjectResolver.java b/src/main/java/org/hopper/edw/datavault/executionmap/ReferencedObjectResolver.java index 9c30c5f0..a326ec3a 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/ReferencedObjectResolver.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/ReferencedObjectResolver.java @@ -19,6 +19,11 @@ import org.apache.hop.core.file.IHasFilename; import org.apache.hop.core.util.Utils; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.ITransformMeta; +import org.apache.hop.workflow.WorkflowMeta; +import org.apache.hop.workflow.action.IAction; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; @@ -31,11 +36,6 @@ import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.ITransformMeta; -import org.apache.hop.workflow.WorkflowMeta; -import org.apache.hop.workflow.action.IAction; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/executionmap/WorkflowCrawler.java b/src/main/java/org/hopper/edw/datavault/executionmap/WorkflowCrawler.java index 67d61bc9..c3129cdd 100644 --- a/src/main/java/org/hopper/edw/datavault/executionmap/WorkflowCrawler.java +++ b/src/main/java/org/hopper/edw/datavault/executionmap/WorkflowCrawler.java @@ -19,13 +19,13 @@ import java.util.Map; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; import org.apache.hop.workflow.WorkflowHopMeta; import org.apache.hop.workflow.WorkflowMeta; import org.apache.hop.workflow.action.ActionMeta; import org.apache.hop.workflow.action.IAction; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; /** Crawls a Hop workflow and its nested references. */ public final class WorkflowCrawler { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/ModelTableLayoutPreviewSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/ModelTableLayoutPreviewSupport.java index 280ba48b..8a8db639 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/ModelTableLayoutPreviewSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/ModelTableLayoutPreviewSupport.java @@ -26,6 +26,10 @@ import org.apache.hop.core.row.value.ValueMetaString; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.eclipse.swt.widgets.Shell; import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.IDvTable; @@ -34,10 +38,6 @@ import org.hopper.edw.datavault.metadata.businessvault.IBvTable; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.eclipse.swt.widgets.Shell; /** Previews the projected target table layout for DV, BV, and DM model tables. */ public final class ModelTableLayoutPreviewSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/ModelUpdateWorkflowClipboardSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/ModelUpdateWorkflowClipboardSupport.java index 21128dbb..ca6d43f8 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/ModelUpdateWorkflowClipboardSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/ModelUpdateWorkflowClipboardSupport.java @@ -23,10 +23,6 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.config.DvRunConfigurationSupport; -import org.hopper.edw.datavault.workflow.actions.businessvaultupdate.ActionBusinessVaultUpdate; -import org.hopper.edw.datavault.workflow.actions.datavaultupdate.ActionDataVaultUpdate; -import org.hopper.edw.datavault.workflow.actions.dimensionalupdate.ActionDimensionalUpdate; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.config.PipelineRunConfiguration; @@ -37,6 +33,10 @@ import org.apache.hop.workflow.action.ActionMeta; import org.apache.hop.workflow.action.IAction; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.config.DvRunConfigurationSupport; +import org.hopper.edw.datavault.workflow.actions.businessvaultupdate.ActionBusinessVaultUpdate; +import org.hopper.edw.datavault.workflow.actions.datavaultupdate.ActionDataVaultUpdate; +import org.hopper.edw.datavault.workflow.actions.dimensionalupdate.ActionDimensionalUpdate; /** Copies a model-update workflow action to the Hop workflow clipboard format. */ public final class ModelUpdateWorkflowClipboardSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/StandardProjectElementsOfferSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/StandardProjectElementsOfferSupport.java index c7e8d427..b1ae8aff 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/StandardProjectElementsOfferSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/StandardProjectElementsOfferSupport.java @@ -16,10 +16,16 @@ package org.hopper.edw.datavault.hopgui; import java.util.List; -import org.hopper.edw.catalog.hopgui.LocalCatalogOfferSupport; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadata; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.hopgui.HopGui; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; +import org.hopper.edw.catalog.hopgui.LocalCatalogOfferSupport; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.datavault.config.DataVaultConfig; import org.hopper.edw.datavault.config.DataVaultConfigSingleton; import org.hopper.edw.datavault.hopgui.file.businessvault.HopGuiBusinessVaultGraph; @@ -35,12 +41,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelConfiguration; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadata; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.hopgui.HopGui; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; /** * Offers to create the standard project catalog plus the four shared model-configuration metadata diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/ai/BvAiAdvisorDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/ai/BvAiAdvisorDialog.java index 741bde2c..e0199eea 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/ai/BvAiAdvisorDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/ai/BvAiAdvisorDialog.java @@ -20,22 +20,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.ai.DvAiAvailability; -import org.hopper.edw.datavault.ai.DvAiProposal; -import org.hopper.edw.datavault.ai.DvAiResponse; -import org.hopper.edw.datavault.ai.HopAiConfig; -import org.hopper.edw.datavault.ai.HopAiConfigSingleton; -import org.hopper.edw.datavault.ai.businessvault.BvAiAdvisorService; -import org.hopper.edw.datavault.ai.businessvault.BvAiContextBuilder; -import org.hopper.edw.datavault.ai.businessvault.BvAiConversationSession; -import org.hopper.edw.datavault.ai.businessvault.BvAiProposalApplier; -import org.hopper.edw.datavault.ai.businessvault.BvAiProposalValidator; -import org.hopper.edw.datavault.ai.businessvault.BvAiRequest; -import org.hopper.edw.datavault.ai.businessvault.BvAiScenario; -import org.hopper.edw.datavault.hopgui.EnumDialogSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.FormDataBuilder; @@ -58,6 +42,22 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.ai.DvAiAvailability; +import org.hopper.edw.datavault.ai.DvAiProposal; +import org.hopper.edw.datavault.ai.DvAiResponse; +import org.hopper.edw.datavault.ai.HopAiConfig; +import org.hopper.edw.datavault.ai.HopAiConfigSingleton; +import org.hopper.edw.datavault.ai.businessvault.BvAiAdvisorService; +import org.hopper.edw.datavault.ai.businessvault.BvAiContextBuilder; +import org.hopper.edw.datavault.ai.businessvault.BvAiConversationSession; +import org.hopper.edw.datavault.ai.businessvault.BvAiProposalApplier; +import org.hopper.edw.datavault.ai.businessvault.BvAiProposalValidator; +import org.hopper.edw.datavault.ai.businessvault.BvAiRequest; +import org.hopper.edw.datavault.ai.businessvault.BvAiScenario; +import org.hopper.edw.datavault.hopgui.EnumDialogSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.jspecify.annotations.NonNull; /** AI advisory dialog for the Business Vault modeler. */ diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/ai/DmAiAdvisorDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/ai/DmAiAdvisorDialog.java index cb3435d8..1de7a406 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/ai/DmAiAdvisorDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/ai/DmAiAdvisorDialog.java @@ -20,22 +20,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.ai.DvAiAvailability; -import org.hopper.edw.datavault.ai.DvAiProposal; -import org.hopper.edw.datavault.ai.DvAiResponse; -import org.hopper.edw.datavault.ai.HopAiConfig; -import org.hopper.edw.datavault.ai.HopAiConfigSingleton; -import org.hopper.edw.datavault.ai.dimensional.DmAiAdvisorService; -import org.hopper.edw.datavault.ai.dimensional.DmAiContextBuilder; -import org.hopper.edw.datavault.ai.dimensional.DmAiConversationSession; -import org.hopper.edw.datavault.ai.dimensional.DmAiProposalApplier; -import org.hopper.edw.datavault.ai.dimensional.DmAiProposalValidator; -import org.hopper.edw.datavault.ai.dimensional.DmAiRequest; -import org.hopper.edw.datavault.ai.dimensional.DmAiScenario; -import org.hopper.edw.datavault.hopgui.EnumDialogSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.FormDataBuilder; @@ -58,6 +42,22 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.ai.DvAiAvailability; +import org.hopper.edw.datavault.ai.DvAiProposal; +import org.hopper.edw.datavault.ai.DvAiResponse; +import org.hopper.edw.datavault.ai.HopAiConfig; +import org.hopper.edw.datavault.ai.HopAiConfigSingleton; +import org.hopper.edw.datavault.ai.dimensional.DmAiAdvisorService; +import org.hopper.edw.datavault.ai.dimensional.DmAiContextBuilder; +import org.hopper.edw.datavault.ai.dimensional.DmAiConversationSession; +import org.hopper.edw.datavault.ai.dimensional.DmAiProposalApplier; +import org.hopper.edw.datavault.ai.dimensional.DmAiProposalValidator; +import org.hopper.edw.datavault.ai.dimensional.DmAiRequest; +import org.hopper.edw.datavault.ai.dimensional.DmAiScenario; +import org.hopper.edw.datavault.hopgui.EnumDialogSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.jspecify.annotations.NonNull; /** AI advisory dialog for the dimensional modeler. */ diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/ai/DvAiAdvisorDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/ai/DvAiAdvisorDialog.java index 898a3227..1fcc8ad8 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/ai/DvAiAdvisorDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/ai/DvAiAdvisorDialog.java @@ -19,22 +19,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.ai.DvAiAdvisorService; -import org.hopper.edw.datavault.ai.DvAiAvailability; -import org.hopper.edw.datavault.ai.DvAiContextBuilder; -import org.hopper.edw.datavault.ai.DvAiConversationSession; -import org.hopper.edw.datavault.ai.DvAiProposal; -import org.hopper.edw.datavault.ai.DvAiProposalApplier; -import org.hopper.edw.datavault.ai.DvAiProposalValidator; -import org.hopper.edw.datavault.ai.DvAiRequest; -import org.hopper.edw.datavault.ai.DvAiResponse; -import org.hopper.edw.datavault.ai.DvAiScenario; -import org.hopper.edw.datavault.ai.HopAiConfig; -import org.hopper.edw.datavault.ai.HopAiConfigSingleton; -import org.hopper.edw.datavault.hopgui.EnumDialogSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.FormDataBuilder; @@ -57,6 +41,22 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.ai.DvAiAdvisorService; +import org.hopper.edw.datavault.ai.DvAiAvailability; +import org.hopper.edw.datavault.ai.DvAiContextBuilder; +import org.hopper.edw.datavault.ai.DvAiConversationSession; +import org.hopper.edw.datavault.ai.DvAiProposal; +import org.hopper.edw.datavault.ai.DvAiProposalApplier; +import org.hopper.edw.datavault.ai.DvAiProposalValidator; +import org.hopper.edw.datavault.ai.DvAiRequest; +import org.hopper.edw.datavault.ai.DvAiResponse; +import org.hopper.edw.datavault.ai.DvAiScenario; +import org.hopper.edw.datavault.ai.HopAiConfig; +import org.hopper.edw.datavault.ai.HopAiConfigSingleton; +import org.hopper.edw.datavault.hopgui.EnumDialogSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.DataVaultModel; import org.jspecify.annotations.NonNull; /** AI advisory dialog for the Data Vault modeler. */ diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/ai/DvAiCatalogSourceSelector.java b/src/main/java/org/hopper/edw/datavault/hopgui/ai/DvAiCatalogSourceSelector.java index 0c6ea967..681bf6bf 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/ai/DvAiCatalogSourceSelector.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/ai/DvAiCatalogSourceSelector.java @@ -22,10 +22,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.ai.DvAiContextBuilder; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.metadata.DataVaultConfiguration; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.dialog.EnterSelectionDialog; @@ -33,6 +29,10 @@ import org.apache.hop.ui.core.dialog.MessageBox; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.ai.DvAiContextBuilder; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.metadata.DataVaultConfiguration; +import org.hopper.edw.datavault.metadata.DataVaultModel; /** * Resolves the model catalog connection and lets the user pick record definitions for AI context. diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/ai/DvAiProposalReviewDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/ai/DvAiProposalReviewDialog.java index 20bbd0d3..861afb19 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/ai/DvAiProposalReviewDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/ai/DvAiProposalReviewDialog.java @@ -20,11 +20,6 @@ import java.util.List; import java.util.Map; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.ai.DvAiProposal; -import org.hopper.edw.datavault.ai.DvAiProposalApplier; -import org.hopper.edw.datavault.ai.DvAiProposalValidator; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.gui.WindowProperty; @@ -40,6 +35,11 @@ import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.ai.DvAiProposal; +import org.hopper.edw.datavault.ai.DvAiProposalApplier; +import org.hopper.edw.datavault.ai.DvAiProposalValidator; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** Review and selectively apply AI-proposed model changes. */ public class DvAiProposalReviewDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/ai/HopAiProposalReviewDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/ai/HopAiProposalReviewDialog.java index 438cced0..9c72b15c 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/ai/HopAiProposalReviewDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/ai/HopAiProposalReviewDialog.java @@ -21,10 +21,6 @@ import java.util.Map; import java.util.function.Function; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.ai.HopAiProposal; -import org.hopper.edw.datavault.ai.HopAiProposalValidation; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.gui.WindowProperty; @@ -40,6 +36,10 @@ import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.ai.HopAiProposal; +import org.hopper.edw.datavault.ai.HopAiProposalValidation; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** Review and selectively apply AI-proposed pipeline or workflow graph changes. */ public class HopAiProposalReviewDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/ai/HopAiTranscriptPanel.java b/src/main/java/org/hopper/edw/datavault/hopgui/ai/HopAiTranscriptPanel.java index fbdf355e..08beb5db 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/ai/HopAiTranscriptPanel.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/ai/HopAiTranscriptPanel.java @@ -16,7 +16,6 @@ package org.hopper.edw.datavault.hopgui.ai; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.hopgui.widget.MarkdownStyledTextComp; import org.apache.hop.ui.core.PropsUi; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.ScrolledComposite; @@ -28,6 +27,7 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.widget.MarkdownStyledTextComp; /** Scrollable conversation transcript used by Hop AI advisory dialogs. */ public final class HopAiTranscriptPanel { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/ai/ModelAiProposalReviewDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/ai/ModelAiProposalReviewDialog.java index 0ca7360a..ae53ff5b 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/ai/ModelAiProposalReviewDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/ai/ModelAiProposalReviewDialog.java @@ -21,9 +21,6 @@ import java.util.Map; import java.util.function.Function; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.ai.DvAiProposal; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.gui.WindowProperty; @@ -39,6 +36,9 @@ import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.ai.DvAiProposal; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** Review and selectively apply AI-proposed model changes (DV, BV, or DM). */ public class ModelAiProposalReviewDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/ai/PipelineAiAdvisorDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/ai/PipelineAiAdvisorDialog.java index 1b4df54a..6e79a2b3 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/ai/PipelineAiAdvisorDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/ai/PipelineAiAdvisorDialog.java @@ -20,21 +20,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.ai.DvAiAvailability; -import org.hopper.edw.datavault.ai.HopAiAdvisoryResponse; -import org.hopper.edw.datavault.ai.HopAiConfig; -import org.hopper.edw.datavault.ai.HopAiConfigSingleton; -import org.hopper.edw.datavault.ai.HopAiConversationSession; -import org.hopper.edw.datavault.ai.HopAiProposal; -import org.hopper.edw.datavault.ai.pipeline.PipelineAiAdvisorService; -import org.hopper.edw.datavault.ai.pipeline.PipelineAiContextBuilder; -import org.hopper.edw.datavault.ai.pipeline.PipelineAiProposalApplier; -import org.hopper.edw.datavault.ai.pipeline.PipelineAiProposalValidator; -import org.hopper.edw.datavault.ai.pipeline.PipelineAiRequest; -import org.hopper.edw.datavault.ai.pipeline.PipelineAiScenario; -import org.hopper.edw.datavault.hopgui.EnumDialogSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; @@ -59,6 +44,21 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.ai.DvAiAvailability; +import org.hopper.edw.datavault.ai.HopAiAdvisoryResponse; +import org.hopper.edw.datavault.ai.HopAiConfig; +import org.hopper.edw.datavault.ai.HopAiConfigSingleton; +import org.hopper.edw.datavault.ai.HopAiConversationSession; +import org.hopper.edw.datavault.ai.HopAiProposal; +import org.hopper.edw.datavault.ai.pipeline.PipelineAiAdvisorService; +import org.hopper.edw.datavault.ai.pipeline.PipelineAiContextBuilder; +import org.hopper.edw.datavault.ai.pipeline.PipelineAiProposalApplier; +import org.hopper.edw.datavault.ai.pipeline.PipelineAiProposalValidator; +import org.hopper.edw.datavault.ai.pipeline.PipelineAiRequest; +import org.hopper.edw.datavault.ai.pipeline.PipelineAiScenario; +import org.hopper.edw.datavault.hopgui.EnumDialogSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** AI advisory dialog for Apache Hop pipelines. */ public class PipelineAiAdvisorDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/ai/WorkflowAiAdvisorDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/ai/WorkflowAiAdvisorDialog.java index 13c8fe0b..f4b44f46 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/ai/WorkflowAiAdvisorDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/ai/WorkflowAiAdvisorDialog.java @@ -20,21 +20,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.ai.DvAiAvailability; -import org.hopper.edw.datavault.ai.HopAiAdvisoryResponse; -import org.hopper.edw.datavault.ai.HopAiConfig; -import org.hopper.edw.datavault.ai.HopAiConfigSingleton; -import org.hopper.edw.datavault.ai.HopAiConversationSession; -import org.hopper.edw.datavault.ai.HopAiProposal; -import org.hopper.edw.datavault.ai.workflow.WorkflowAiAdvisorService; -import org.hopper.edw.datavault.ai.workflow.WorkflowAiContextBuilder; -import org.hopper.edw.datavault.ai.workflow.WorkflowAiProposalApplier; -import org.hopper.edw.datavault.ai.workflow.WorkflowAiProposalValidator; -import org.hopper.edw.datavault.ai.workflow.WorkflowAiRequest; -import org.hopper.edw.datavault.ai.workflow.WorkflowAiScenario; -import org.hopper.edw.datavault.hopgui.EnumDialogSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.FormDataBuilder; @@ -59,6 +44,21 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.ai.DvAiAvailability; +import org.hopper.edw.datavault.ai.HopAiAdvisoryResponse; +import org.hopper.edw.datavault.ai.HopAiConfig; +import org.hopper.edw.datavault.ai.HopAiConfigSingleton; +import org.hopper.edw.datavault.ai.HopAiConversationSession; +import org.hopper.edw.datavault.ai.HopAiProposal; +import org.hopper.edw.datavault.ai.workflow.WorkflowAiAdvisorService; +import org.hopper.edw.datavault.ai.workflow.WorkflowAiContextBuilder; +import org.hopper.edw.datavault.ai.workflow.WorkflowAiProposalApplier; +import org.hopper.edw.datavault.ai.workflow.WorkflowAiProposalValidator; +import org.hopper.edw.datavault.ai.workflow.WorkflowAiRequest; +import org.hopper.edw.datavault.ai.workflow.WorkflowAiScenario; +import org.hopper.edw.datavault.hopgui.EnumDialogSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** AI advisory dialog for Apache Hop workflows. */ public class WorkflowAiAdvisorDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/AddCoachingSourcesDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/AddCoachingSourcesDialog.java index 95b16649..3c8efe82 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/AddCoachingSourcesDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/AddCoachingSourcesDialog.java @@ -15,15 +15,9 @@ */ package org.hopper.edw.datavault.hopgui.coaching; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.hopgui.GuiBusySupport; -import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; -import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.ErrorDialog; @@ -38,6 +32,12 @@ import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.hopgui.GuiBusySupport; +import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; +import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; /** Picks catalog record sources to add to the model coaching configuration. */ public class AddCoachingSourcesDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingCanvasDropSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingCanvasDropSupport.java index b399fc65..0b3e0da3 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingCanvasDropSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingCanvasDropSupport.java @@ -17,9 +17,6 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; -import org.hopper.edw.datavault.metadata.coaching.CoachingSourceResolver; -import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; import org.apache.hop.ui.hopgui.HopGui; import org.apache.hop.ui.hopgui.file.shared.HopGuiAbstractGraph; import org.eclipse.swt.dnd.DND; @@ -29,6 +26,9 @@ import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.widgets.Canvas; +import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; +import org.hopper.edw.datavault.metadata.coaching.CoachingSourceResolver; +import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; public final class CoachingCanvasDropSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingHubBusinessKeySupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingHubBusinessKeySupport.java index 381c1f21..3237b95b 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingHubBusinessKeySupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingHubBusinessKeySupport.java @@ -18,12 +18,12 @@ import java.util.List; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvHub; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.SourceFieldPrimaryKeySupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Seeds hub business keys from catalog source primary-key metadata. */ public final class CoachingHubBusinessKeySupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingImportSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingImportSupport.java index e387a2b8..96921513 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingImportSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingImportSupport.java @@ -15,13 +15,13 @@ */ package org.hopper.edw.datavault.hopgui.coaching; -import org.hopper.edw.catalog.hopgui.perspective.importmenu.DataCatalogImportMenu; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.ui.hopgui.HopGui; +import org.hopper.edw.catalog.hopgui.perspective.importmenu.DataCatalogImportMenu; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.coaching.DvCoachingModelAdapter; import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; -import org.apache.hop.ui.hopgui.HopGui; /** Opens catalog import flows from the coach panel without leaving the modeler. */ public final class CoachingImportSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingMappingApplier.java b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingMappingApplier.java index 28d2c156..29707906 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingMappingApplier.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingMappingApplier.java @@ -19,6 +19,7 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -30,7 +31,6 @@ import org.hopper.edw.datavault.metadata.coaching.CoachingSourceType; import org.hopper.edw.datavault.metadata.coaching.DvCoachingModelAdapter; import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Seeds DV table metadata from a coaching source before opening the table editor. */ public final class CoachingMappingApplier { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingMappingDialogSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingMappingDialogSupport.java index 24c017c5..734b2273 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingMappingDialogSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingMappingDialogSupport.java @@ -16,9 +16,9 @@ package org.hopper.edw.datavault.hopgui.coaching; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.ui.hopgui.HopGui; import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; -import org.apache.hop.ui.hopgui.HopGui; public final class CoachingMappingDialogSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingTableTypeDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingTableTypeDialog.java index faffd14e..e59ecd3c 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingTableTypeDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/CoachingTableTypeDialog.java @@ -17,11 +17,6 @@ import java.util.Arrays; import java.util.List; -import org.hopper.edw.datavault.metadata.coaching.BvCoachingModelAdapter; -import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; -import org.hopper.edw.datavault.metadata.coaching.DmCoachingModelAdapter; -import org.hopper.edw.datavault.metadata.coaching.DvCoachingModelAdapter; -import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -35,6 +30,11 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.metadata.coaching.BvCoachingModelAdapter; +import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; +import org.hopper.edw.datavault.metadata.coaching.DmCoachingModelAdapter; +import org.hopper.edw.datavault.metadata.coaching.DvCoachingModelAdapter; +import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; public class CoachingTableTypeDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/GenericSourceTargetMappingDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/GenericSourceTargetMappingDialog.java index 6cdb47fc..ca77e869 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/GenericSourceTargetMappingDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/GenericSourceTargetMappingDialog.java @@ -17,8 +17,6 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; -import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; import org.apache.hop.ui.core.dialog.ErrorDialog; import org.apache.hop.ui.core.widget.TextVar; import org.apache.hop.ui.hopgui.HopGui; @@ -28,6 +26,8 @@ import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; +import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; /** Applies coaching bindings then opens the modeler table editor for refinement. */ public class GenericSourceTargetMappingDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/ModelCoachPanel.java b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/ModelCoachPanel.java index 3d2cab70..c5b6752f 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/coaching/ModelCoachPanel.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/coaching/ModelCoachPanel.java @@ -19,14 +19,6 @@ import java.util.function.Supplier; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.GuiBusySupport; -import org.hopper.edw.datavault.hopgui.ModelCoachPanelAuditSupport; -import org.hopper.edw.datavault.metadata.coaching.CoachingInsight; -import org.hopper.edw.datavault.metadata.coaching.CoachingSourceNode; -import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; -import org.hopper.edw.datavault.metadata.coaching.CoachingSourceResolver; -import org.hopper.edw.datavault.metadata.coaching.CoachingTargetUsage; -import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.PropsUi; @@ -47,6 +39,14 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Tree; import org.eclipse.swt.widgets.TreeItem; +import org.hopper.edw.datavault.hopgui.GuiBusySupport; +import org.hopper.edw.datavault.hopgui.ModelCoachPanelAuditSupport; +import org.hopper.edw.datavault.metadata.coaching.CoachingInsight; +import org.hopper.edw.datavault.metadata.coaching.CoachingSourceNode; +import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; +import org.hopper.edw.datavault.metadata.coaching.CoachingSourceResolver; +import org.hopper.edw.datavault.metadata.coaching.CoachingTargetUsage; +import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; /** Left-hand coach panel for DV/BV/DM model graphs. */ public class ModelCoachPanel extends Composite { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/executionmap/ExecutionMapGenerationDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/executionmap/ExecutionMapGenerationDialog.java index beeecb05..4a848755 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/executionmap/ExecutionMapGenerationDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/executionmap/ExecutionMapGenerationDialog.java @@ -16,9 +16,6 @@ package org.hopper.edw.datavault.hopgui.executionmap; import lombok.Getter; -import org.hopper.edw.datavault.executionmap.CrawlOptions; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -30,6 +27,9 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.executionmap.CrawlOptions; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** Collects crawl options before generating or refreshing an execution map. */ public class ExecutionMapGenerationDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/executionmap/ExecutionMapGuiPlugin.java b/src/main/java/org/hopper/edw/datavault/hopgui/executionmap/ExecutionMapGuiPlugin.java index ec2c74bc..56ca475e 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/executionmap/ExecutionMapGuiPlugin.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/executionmap/ExecutionMapGuiPlugin.java @@ -21,9 +21,6 @@ import org.apache.hop.core.gui.plugin.action.GuiActionType; import org.apache.hop.core.gui.plugin.toolbar.GuiToolbarElement; import org.apache.hop.core.vfs.HopVfs; -import org.hopper.edw.datavault.command.executionmap.ExecutionMapService; -import org.hopper.edw.datavault.executionmap.ExecutionMapSubRootSupport; -import org.hopper.edw.datavault.hopgui.file.executionmap.HopExecutionMapFileType; import org.apache.hop.ui.core.dialog.BaseDialog; import org.apache.hop.ui.core.dialog.ErrorDialog; import org.apache.hop.ui.core.dialog.MessageBox; @@ -37,6 +34,9 @@ import org.apache.hop.ui.hopgui.file.workflow.context.HopGuiWorkflowContext; import org.apache.hop.workflow.WorkflowMeta; import org.eclipse.swt.SWT; +import org.hopper.edw.datavault.command.executionmap.ExecutionMapService; +import org.hopper.edw.datavault.executionmap.ExecutionMapSubRootSupport; +import org.hopper.edw.datavault.hopgui.file.executionmap.HopExecutionMapFileType; /** Toolbar and context-menu entry points for generating execution maps. */ @GuiPlugin(description = "i18n::ExecutionMapGuiPlugin.Description") diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultBvNavigationSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultBvNavigationSupport.java index 594d9210..0065ea91 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultBvNavigationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultBvNavigationSupport.java @@ -19,17 +19,17 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; -import org.hopper.edw.datavault.metadata.DvModelLoadSupport; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.hopper.edw.datavault.metadata.businessvault.BvBvTableReference; -import org.hopper.edw.datavault.metadata.businessvault.BvSqlModelPathSupport; -import org.hopper.edw.datavault.metadata.businessvault.IBvTable; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.hopgui.HopGui; import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; import org.apache.hop.ui.hopgui.shared.CanvasSvgHelper; import org.apache.hop.ui.util.EnvironmentUtils; +import org.hopper.edw.datavault.metadata.DvModelLoadSupport; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; +import org.hopper.edw.datavault.metadata.businessvault.BvBvTableReference; +import org.hopper.edw.datavault.metadata.businessvault.BvSqlModelPathSupport; +import org.hopper.edw.datavault.metadata.businessvault.IBvTable; /** Opens another Business Vault model and navigates to a referenced table. */ public final class BusinessVaultBvNavigationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultDvNavigationSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultDvNavigationSupport.java index 28081e93..5c104e19 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultDvNavigationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultDvNavigationSupport.java @@ -19,6 +19,12 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.ui.hopgui.HopGui; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; +import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; +import org.apache.hop.ui.hopgui.shared.CanvasSvgHelper; +import org.apache.hop.ui.util.EnvironmentUtils; import org.hopper.edw.datavault.hopgui.file.vault.HopGuiVaultGraph; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; @@ -27,12 +33,6 @@ import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultDvModelResolver; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BvDvTableReference; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.ui.hopgui.HopGui; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; -import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; -import org.apache.hop.ui.hopgui.shared.CanvasSvgHelper; -import org.apache.hop.ui.util.EnvironmentUtils; /** Opens a Data Vault model and navigates to a referenced table (linked or external path). */ public final class BusinessVaultDvNavigationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultModelCanvasSvgRenderer.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultModelCanvasSvgRenderer.java index 94d90a31..a721ee39 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultModelCanvasSvgRenderer.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultModelCanvasSvgRenderer.java @@ -26,13 +26,13 @@ import org.apache.hop.core.gui.markdown.NoteLinkHit; import org.apache.hop.core.svg.HopSvgGraphics2D; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphWebCanvasData; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BvDvTableReference; import org.hopper.edw.datavault.metadata.businessvault.IBvTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Renders a Business Vault model to SVG for Hop Web. */ public final class BusinessVaultModelCanvasSvgRenderer { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultModelPainter.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultModelPainter.java index dff7fa0c..24af354c 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultModelPainter.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultModelPainter.java @@ -31,6 +31,8 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.hopgui.file.modelgraph.DvTableDisplaySupport; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphConnectionGeometry; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphConnectionGeometry.Bounds; @@ -52,8 +54,6 @@ import org.hopper.edw.datavault.metadata.businessvault.BvTableBase; import org.hopper.edw.datavault.metadata.businessvault.BvTableType; import org.hopper.edw.datavault.metadata.businessvault.IBvTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Paints a Business Vault model canvas with DV references, BV tables, and derivative links. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultModelSvgPainter.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultModelSvgPainter.java index 986b5e91..4fea0467 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultModelSvgPainter.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/BusinessVaultModelSvgPainter.java @@ -22,11 +22,11 @@ import org.apache.hop.core.gui.SvgGc; import org.apache.hop.core.svg.HopSvgGraphics2D; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.command.svg.ModelBoundsSupport; import org.hopper.edw.datavault.command.svg.SvgRenderOptions; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultDvModelResolver; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Renders a {@link BusinessVaultModel} to SVG using {@link BusinessVaultModelPainter}. */ public final class BusinessVaultModelSvgPainter { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopBusinessVaultFileType.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopBusinessVaultFileType.java index 5c076a6e..baf4f963 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopBusinessVaultFileType.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopBusinessVaultFileType.java @@ -28,13 +28,6 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.StandardProjectElementsOfferSupport; -import org.hopper.edw.datavault.hopgui.file.ExplorerPerspectiveTabSupport; -import org.hopper.edw.datavault.hopgui.search.HopGuiBusinessVaultModelSearchable; -import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; -import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; @@ -52,6 +45,13 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; +import org.hopper.edw.datavault.hopgui.StandardProjectElementsOfferSupport; +import org.hopper.edw.datavault.hopgui.file.ExplorerPerspectiveTabSupport; +import org.hopper.edw.datavault.hopgui.search.HopGuiBusinessVaultModelSearchable; +import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; +import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; +import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultBvReferenceContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultBvReferenceContext.java index 76247788..6d97d7ab 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultBvReferenceContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultBvReferenceContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.hopper.edw.datavault.metadata.businessvault.BvBvTableReference; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; +import org.hopper.edw.datavault.metadata.businessvault.BvBvTableReference; /** Context handler for clicks on a Business Vault table reference on the Business Vault canvas. */ public class HopGuiBusinessVaultBvReferenceContext extends BaseGuiContextHandler diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultContext.java index fd08fd07..038ae27b 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultContext.java @@ -20,9 +20,9 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; /** Context handler for background clicks on a Business Vault graph canvas. */ public class HopGuiBusinessVaultContext extends BaseGuiContextHandler diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultDvReferenceContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultDvReferenceContext.java index 817b32f4..65976c33 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultDvReferenceContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultDvReferenceContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.hopper.edw.datavault.metadata.businessvault.BvDvTableReference; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; +import org.hopper.edw.datavault.metadata.businessvault.BvDvTableReference; /** Context handler for clicks on a Data Vault table reference on the Business Vault canvas. */ public class HopGuiBusinessVaultDvReferenceContext extends BaseGuiContextHandler diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultGraph.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultGraph.java index 75db0fc4..52bb6231 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultGraph.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultGraph.java @@ -48,6 +48,43 @@ import org.apache.hop.core.variables.Variables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.ui.core.ConstUi; +import org.apache.hop.ui.core.PropsUi; +import org.apache.hop.ui.core.database.dialog.SqlEditor; +import org.apache.hop.ui.core.dialog.BaseDialog; +import org.apache.hop.ui.core.dialog.CheckResultDialog; +import org.apache.hop.ui.core.dialog.EnterSelectionDialog; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.core.dialog.MessageBox; +import org.apache.hop.ui.core.gui.GuiResource; +import org.apache.hop.ui.core.gui.GuiToolbarWidgets; +import org.apache.hop.ui.core.gui.IToolbarContainer; +import org.apache.hop.ui.hopgui.CanvasFacade; +import org.apache.hop.ui.hopgui.HopGui; +import org.apache.hop.ui.hopgui.ToolbarFacade; +import org.apache.hop.ui.hopgui.context.GuiContextUtil; +import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.apache.hop.ui.hopgui.file.IHopFileType; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; +import org.apache.hop.ui.hopgui.perspective.IHopPerspective; +import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; +import org.apache.hop.ui.hopgui.shared.SwtGc; +import org.apache.hop.ui.util.EnvironmentUtils; +import org.apache.hop.workflow.WorkflowMeta; +import org.apache.hop.workflow.action.ActionMeta; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.PaintEvent; +import org.eclipse.swt.graphics.Cursor; +import org.eclipse.swt.graphics.GC; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.layout.FormLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Event; import org.hopper.edw.datavault.command.svg.SvgExportService; import org.hopper.edw.datavault.command.svg.SvgRenderOptions; import org.hopper.edw.datavault.config.DataVaultConfigSingleton; @@ -94,43 +131,6 @@ import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; import org.hopper.edw.datavault.workflow.actions.businessvaultupdate.ActionBusinessVaultUpdate; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.ui.core.ConstUi; -import org.apache.hop.ui.core.PropsUi; -import org.apache.hop.ui.core.database.dialog.SqlEditor; -import org.apache.hop.ui.core.dialog.BaseDialog; -import org.apache.hop.ui.core.dialog.CheckResultDialog; -import org.apache.hop.ui.core.dialog.EnterSelectionDialog; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.core.dialog.MessageBox; -import org.apache.hop.ui.core.gui.GuiResource; -import org.apache.hop.ui.core.gui.GuiToolbarWidgets; -import org.apache.hop.ui.core.gui.IToolbarContainer; -import org.apache.hop.ui.hopgui.CanvasFacade; -import org.apache.hop.ui.hopgui.HopGui; -import org.apache.hop.ui.hopgui.ToolbarFacade; -import org.apache.hop.ui.hopgui.context.GuiContextUtil; -import org.apache.hop.ui.hopgui.context.IGuiContextHandler; -import org.apache.hop.ui.hopgui.file.IHopFileType; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; -import org.apache.hop.ui.hopgui.perspective.IHopPerspective; -import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; -import org.apache.hop.ui.hopgui.shared.SwtGc; -import org.apache.hop.ui.util.EnvironmentUtils; -import org.apache.hop.workflow.WorkflowMeta; -import org.apache.hop.workflow.action.ActionMeta; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.PaintEvent; -import org.eclipse.swt.graphics.Cursor; -import org.eclipse.swt.graphics.GC; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.FormAttachment; -import org.eclipse.swt.layout.FormData; -import org.eclipse.swt.layout.FormLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Event; import org.w3c.dom.Node; /** Hop GUI editor for Business Vault models with references to a Data Vault model. */ diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultModelDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultModelDialog.java index c1114220..d0d7d7cc 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultModelDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultModelDialog.java @@ -20,11 +20,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.ModelConfigurationExtractSupport; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -48,6 +43,11 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.ModelConfigurationExtractSupport; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.jspecify.annotations.NonNull; /** diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultNoteContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultNoteContext.java index 75093695..f041a531 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultNoteContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultNoteContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.DvNote; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.DvNote; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; /** Context handler for clicks on a note in the Business Vault graph. */ public class HopGuiBusinessVaultNoteContext extends BaseGuiContextHandler diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultTableContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultTableContext.java index 9aaa2442..cd4df7b2 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultTableContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBusinessVaultTableContext.java @@ -20,12 +20,12 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; +import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; +import org.apache.hop.ui.hopgui.context.IGuiContextHandler; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BvPitTable; import org.hopper.edw.datavault.metadata.businessvault.BvScd2Table; import org.hopper.edw.datavault.metadata.businessvault.IBvTable; -import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; -import org.apache.hop.ui.hopgui.context.IGuiContextHandler; /** Context handler for clicks on a Business Vault table on the canvas. */ public class HopGuiBusinessVaultTableContext extends BaseGuiContextHandler diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBvScd2TableDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBvScd2TableDialog.java index e6337509..f297d676 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBvScd2TableDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBvScd2TableDialog.java @@ -26,25 +26,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.EnumDialogSupport; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.hopgui.lineage.LineageTabSupport; -import org.hopper.edw.datavault.lineage.BvModelLineageCollector; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DvTableType; -import org.hopper.edw.datavault.metadata.IDvTable; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultDerivativeSupport; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.hopper.edw.datavault.metadata.businessvault.BvDerivativeRef; -import org.hopper.edw.datavault.metadata.businessvault.BvScd2BuildMode; -import org.hopper.edw.datavault.metadata.businessvault.BvScd2FieldMapping; -import org.hopper.edw.datavault.metadata.businessvault.BvScd2FieldMappingDialogSupport; -import org.hopper.edw.datavault.metadata.businessvault.BvScd2SatelliteConfig; -import org.hopper.edw.datavault.metadata.businessvault.BvScd2Table; -import org.hopper.edw.datavault.metadata.businessvault.IBvTable; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -66,6 +47,25 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.EnumDialogSupport; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.hopgui.lineage.LineageTabSupport; +import org.hopper.edw.datavault.lineage.BvModelLineageCollector; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvTableType; +import org.hopper.edw.datavault.metadata.IDvTable; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultDerivativeSupport; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; +import org.hopper.edw.datavault.metadata.businessvault.BvDerivativeRef; +import org.hopper.edw.datavault.metadata.businessvault.BvScd2BuildMode; +import org.hopper.edw.datavault.metadata.businessvault.BvScd2FieldMapping; +import org.hopper.edw.datavault.metadata.businessvault.BvScd2FieldMappingDialogSupport; +import org.hopper.edw.datavault.metadata.businessvault.BvScd2SatelliteConfig; +import org.hopper.edw.datavault.metadata.businessvault.BvScd2Table; +import org.hopper.edw.datavault.metadata.businessvault.IBvTable; /** Tabbed dialog to edit a Business Vault SCD2 table, including multi-satellite field mappings. */ public class HopGuiBvScd2TableDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBvTableDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBvTableDialog.java index 54013661..13a17224 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBvTableDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiBvTableDialog.java @@ -22,6 +22,26 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IEnumHasCodeAndDescription; +import org.apache.hop.ui.core.PropsUi; +import org.apache.hop.ui.core.dialog.BaseDialog; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.core.gui.WindowProperty; +import org.apache.hop.ui.core.widget.ColumnInfo; +import org.apache.hop.ui.core.widget.TableView; +import org.apache.hop.ui.hopgui.HopGui; +import org.apache.hop.ui.pipeline.transform.BaseTransformDialog; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.layout.FormLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.TableItem; +import org.eclipse.swt.widgets.Text; import org.hopper.edw.datavault.hopgui.EnumDialogSupport; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; @@ -44,26 +64,6 @@ import org.hopper.edw.datavault.metadata.businessvault.BvPitTable; import org.hopper.edw.datavault.metadata.businessvault.BvTableType; import org.hopper.edw.datavault.metadata.businessvault.IBvTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IEnumHasCodeAndDescription; -import org.apache.hop.ui.core.PropsUi; -import org.apache.hop.ui.core.dialog.BaseDialog; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.core.gui.WindowProperty; -import org.apache.hop.ui.core.widget.ColumnInfo; -import org.apache.hop.ui.core.widget.TableView; -import org.apache.hop.ui.hopgui.HopGui; -import org.apache.hop.ui.pipeline.transform.BaseTransformDialog; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.FormAttachment; -import org.eclipse.swt.layout.FormData; -import org.eclipse.swt.layout.FormLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.TableItem; -import org.eclipse.swt.widgets.Text; /** Dialog to edit a Business Vault table on the canvas. */ public class HopGuiBvTableDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiDbtImportDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiDbtImportDialog.java index a2c9f62c..6cf64d10 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiDbtImportDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiDbtImportDialog.java @@ -19,15 +19,6 @@ import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.dbt.DbtImportConflictPolicy; -import org.hopper.edw.datavault.dbt.DbtImportDestination; -import org.hopper.edw.datavault.dbt.DbtImportOptions; -import org.hopper.edw.datavault.dbt.DbtImportService; -import org.hopper.edw.datavault.dbt.DbtModelDraft; -import org.hopper.edw.datavault.dbt.DbtProjectParser; -import org.hopper.edw.datavault.dbt.DbtProjectScan; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -47,6 +38,15 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.dbt.DbtImportConflictPolicy; +import org.hopper.edw.datavault.dbt.DbtImportDestination; +import org.hopper.edw.datavault.dbt.DbtImportOptions; +import org.hopper.edw.datavault.dbt.DbtImportService; +import org.hopper.edw.datavault.dbt.DbtModelDraft; +import org.hopper.edw.datavault.dbt.DbtProjectParser; +import org.hopper.edw.datavault.dbt.DbtProjectScan; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** Scan a dbt-core project and choose models to import into Business Vault. */ public class HopGuiDbtImportDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiDbtImportSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiDbtImportSupport.java index 33d1e131..26e9e662 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiDbtImportSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/HopGuiDbtImportSupport.java @@ -16,6 +16,11 @@ package org.hopper.edw.datavault.hopgui.file.businessvault; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.core.dialog.MessageBox; +import org.apache.hop.ui.hopgui.HopGui; +import org.eclipse.swt.SWT; import org.hopper.edw.datavault.dbt.DbtImportDestination; import org.hopper.edw.datavault.dbt.DbtImportOptions; import org.hopper.edw.datavault.dbt.DbtImportResult; @@ -24,11 +29,6 @@ import org.hopper.edw.datavault.layout.ElkLayout; import org.hopper.edw.datavault.layout.ElkLayoutAlgorithm; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.core.dialog.MessageBox; -import org.apache.hop.ui.hopgui.HopGui; -import org.eclipse.swt.SWT; /** Runs the dbt import dialog against the open Business Vault graph. */ public final class HopGuiDbtImportSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/delegates/BusinessVaultClipboardPasteSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/delegates/BusinessVaultClipboardPasteSupport.java index 960f033e..74f8f618 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/delegates/BusinessVaultClipboardPasteSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/delegates/BusinessVaultClipboardPasteSupport.java @@ -23,10 +23,10 @@ import org.apache.hop.core.gui.IGuiPosition; import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; +import org.apache.hop.ui.core.PropsUi; import org.hopper.edw.datavault.metadata.DvNote; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.IBvTable; -import org.apache.hop.ui.core.PropsUi; /** Helpers for renaming and offsetting objects pasted onto a Business Vault model canvas. */ final class BusinessVaultClipboardPasteSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/delegates/HopGuiBusinessVaultClipboardDelegate.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/delegates/HopGuiBusinessVaultClipboardDelegate.java index 56d936fe..a815fa71 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/delegates/HopGuiBusinessVaultClipboardDelegate.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/delegates/HopGuiBusinessVaultClipboardDelegate.java @@ -24,6 +24,14 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.xml.XmlFormatter; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.apache.hop.ui.core.ConstUi; +import org.apache.hop.ui.core.PropsUi; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.core.gui.GuiResource; +import org.apache.hop.ui.hopgui.HopGui; import org.hopper.edw.datavault.hopgui.file.businessvault.HopGuiBusinessVaultGraph; import org.hopper.edw.datavault.metadata.DvNote; import org.hopper.edw.datavault.metadata.DvNoteType; @@ -33,14 +41,6 @@ import org.hopper.edw.datavault.metadata.businessvault.BvScd2Table; import org.hopper.edw.datavault.metadata.businessvault.BvTableType; import org.hopper.edw.datavault.metadata.businessvault.IBvTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; -import org.apache.hop.ui.core.ConstUi; -import org.apache.hop.ui.core.PropsUi; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.core.gui.GuiResource; -import org.apache.hop.ui.hopgui.HopGui; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/delegates/HopGuiBusinessVaultSnapshotUndo.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/delegates/HopGuiBusinessVaultSnapshotUndo.java index d618fc5d..94999ea6 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/delegates/HopGuiBusinessVaultSnapshotUndo.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/businessvault/delegates/HopGuiBusinessVaultSnapshotUndo.java @@ -16,10 +16,10 @@ package org.hopper.edw.datavault.hopgui.file.businessvault.delegates; import org.apache.hop.core.exception.HopException; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphSnapshotUndo; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Gzip-compressed XML snapshots of a {@link BusinessVaultModel} for undo/redo. */ public class HopGuiBusinessVaultSnapshotUndo { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DimensionalModelCanvasSvgRenderer.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DimensionalModelCanvasSvgRenderer.java index a77a6514..fa4033d7 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DimensionalModelCanvasSvgRenderer.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DimensionalModelCanvasSvgRenderer.java @@ -26,11 +26,11 @@ import org.apache.hop.core.gui.markdown.NoteLinkHit; import org.apache.hop.core.svg.HopSvgGraphics2D; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphWebCanvasData; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Renders a dimensional model to SVG for Hop Web. */ public final class DimensionalModelCanvasSvgRenderer { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DimensionalModelPainter.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DimensionalModelPainter.java index f9b1f77d..c015654f 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DimensionalModelPainter.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DimensionalModelPainter.java @@ -30,6 +30,8 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.hopgui.file.modelgraph.DmTableDisplaySupport; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphConnectionGeometry; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphConnectionGeometry.Bounds; @@ -52,8 +54,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DmTableType; import org.hopper.edw.datavault.metadata.dimensional.IDmFactLikeTable; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Paints a dimensional model canvas with dimension/fact tables, relationships, and notes. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DimensionalModelSvgPainter.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DimensionalModelSvgPainter.java index b0483a68..afc704a1 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DimensionalModelSvgPainter.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DimensionalModelSvgPainter.java @@ -22,10 +22,10 @@ import org.apache.hop.core.gui.SvgGc; import org.apache.hop.core.svg.HopSvgGraphics2D; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.command.svg.ModelBoundsSupport; import org.hopper.edw.datavault.command.svg.SvgRenderOptions; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Renders a {@link DimensionalModel} to SVG using {@link DimensionalModelPainter}. */ public final class DimensionalModelSvgPainter { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmDimensionAliasNavigationSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmDimensionAliasNavigationSupport.java index 92aaa499..0f27acad 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmDimensionAliasNavigationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmDimensionAliasNavigationSupport.java @@ -18,17 +18,17 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.ui.hopgui.HopGui; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; +import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.DmDimension; import org.hopper.edw.datavault.metadata.dimensional.DmDimensionAlias; import org.hopper.edw.datavault.metadata.dimensional.DmDimensionResolutionSupport; import org.hopper.edw.datavault.metadata.dimensional.DmModelLoadSupport; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.ui.hopgui.HopGui; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; -import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; /** Navigates from a dimension alias to its referenced source dimension table. */ public final class DmDimensionAliasNavigationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourceDateGeneratorGuiSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourceDateGeneratorGuiSupport.java index ee823024..426d75d2 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourceDateGeneratorGuiSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourceDateGeneratorGuiSupport.java @@ -25,14 +25,6 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; -import org.hopper.edw.datavault.metadata.dimensional.DmDateGeneratorConfiguration; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorField; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.DateRange; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.GeneratorContext; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.PreparedField; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorMetaFactory; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -49,6 +41,14 @@ import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; +import org.hopper.edw.datavault.metadata.dimensional.DmDateGeneratorConfiguration; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorField; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.DateRange; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.GeneratorContext; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.PreparedField; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorMetaFactory; /** Source-tab widgets for dimensional tables that use the date generator source type. */ public final class DmSourceDateGeneratorGuiSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourcePipelineGuiSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourcePipelineGuiSupport.java index f7d034cb..77baba08 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourcePipelineGuiSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourcePipelineGuiSupport.java @@ -23,10 +23,6 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; -import org.hopper.edw.datavault.metadata.dimensional.DmSourceConfiguration; -import org.hopper.edw.datavault.metadata.dimensional.DmSourcePipelineSupport; -import org.hopper.edw.datavault.metadata.pipeline.DvPipelineSourceSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.Pipeline; @@ -37,6 +33,10 @@ import org.apache.hop.ui.core.dialog.ErrorDialog; import org.apache.hop.ui.pipeline.dialog.PipelinePreviewProgressDialog; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; +import org.hopper.edw.datavault.metadata.dimensional.DmSourceConfiguration; +import org.hopper.edw.datavault.metadata.dimensional.DmSourcePipelineSupport; +import org.hopper.edw.datavault.metadata.pipeline.DvPipelineSourceSupport; /** Preview and field discovery helpers for dimensional pipeline sources in Hop GUI dialogs. */ public final class DmSourcePipelineGuiSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourcePipelineOpenSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourcePipelineOpenSupport.java index e3848903..73772609 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourcePipelineOpenSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourcePipelineOpenSupport.java @@ -18,14 +18,14 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.dimensional.DmSourceConfiguration; -import org.hopper.edw.datavault.metadata.dimensional.IDmTable; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.dialog.ErrorDialog; import org.apache.hop.ui.hopgui.HopGui; import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.metadata.dimensional.DmSourceConfiguration; +import org.hopper.edw.datavault.metadata.dimensional.IDmTable; /** Opens the configured staging pipeline for a dimensional table. */ public final class DmSourcePipelineOpenSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourceRecordDefinitionGuiSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourceRecordDefinitionGuiSupport.java index b2ebf9d3..81065125 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourceRecordDefinitionGuiSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourceRecordDefinitionGuiSupport.java @@ -18,6 +18,15 @@ import java.util.ArrayList; import java.util.Comparator; import java.util.List; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.row.IRowMeta; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.ui.core.dialog.EnterTextDialog; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.eclipse.swt.widgets.Shell; import org.hopper.edw.catalog.hopgui.preview.RecordDefinitionPreviewRunner; import org.hopper.edw.catalog.hopgui.preview.RecordDefinitionPreviewSupport; import org.hopper.edw.catalog.model.RecordDefinition; @@ -25,18 +34,9 @@ import org.hopper.edw.catalog.model.RecordDefinitionQuery; import org.hopper.edw.catalog.model.RecordDefinitionRef; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.row.IRowMeta; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DmSourceConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DmSourceRecordDefinitionSupport; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.ui.core.dialog.EnterTextDialog; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.eclipse.swt.widgets.Shell; /** GUI helpers for dimensional record-definition staging sources. */ public final class DmSourceRecordDefinitionGuiSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourceSqlGuiSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourceSqlGuiSupport.java index d15edb54..913e6570 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourceSqlGuiSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmSourceSqlGuiSupport.java @@ -25,8 +25,6 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; -import org.hopper.edw.datavault.metadata.DvSqlSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.Pipeline; @@ -39,6 +37,8 @@ import org.apache.hop.ui.core.dialog.ErrorDialog; import org.apache.hop.ui.pipeline.dialog.PipelinePreviewProgressDialog; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; +import org.hopper.edw.datavault.metadata.DvSqlSupport; /** Preview and field discovery helpers for dimensional source SQL in Hop GUI dialogs. */ public final class DmSourceSqlGuiSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopDimensionalFileType.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopDimensionalFileType.java index 78cc7178..8965471a 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopDimensionalFileType.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopDimensionalFileType.java @@ -28,14 +28,6 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.StandardProjectElementsOfferSupport; -import org.hopper.edw.datavault.hopgui.file.ExplorerPerspectiveTabSupport; -import org.hopper.edw.datavault.hopgui.search.HopGuiDimensionalModelSearchable; -import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; -import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.hopper.edw.datavault.metadata.dimensional.DmModelLoadSupport; -import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; @@ -53,6 +45,14 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; +import org.hopper.edw.datavault.hopgui.StandardProjectElementsOfferSupport; +import org.hopper.edw.datavault.hopgui.file.ExplorerPerspectiveTabSupport; +import org.hopper.edw.datavault.hopgui.search.HopGuiDimensionalModelSearchable; +import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; +import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; +import org.hopper.edw.datavault.metadata.dimensional.DmModelLoadSupport; +import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalContext.java index e3aba212..4056f3cf 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalContext.java @@ -20,9 +20,9 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; /** Context handler for background clicks on a dimensional model graph canvas. */ public class HopGuiDimensionalContext extends BaseGuiContextHandler implements IGuiContextHandler { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalModelDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalModelDialog.java index 9c8380f4..d70105e8 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalModelDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalModelDialog.java @@ -20,11 +20,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.ModelConfigurationExtractSupport; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -48,6 +43,11 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.ModelConfigurationExtractSupport; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.jspecify.annotations.NonNull; /** Dialog to edit the properties of a {@link DimensionalModel}. */ diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalModelGraph.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalModelGraph.java index 8b66347d..18d150f5 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalModelGraph.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalModelGraph.java @@ -45,6 +45,41 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.ui.core.ConstUi; +import org.apache.hop.ui.core.PropsUi; +import org.apache.hop.ui.core.database.dialog.SqlEditor; +import org.apache.hop.ui.core.dialog.BaseDialog; +import org.apache.hop.ui.core.dialog.CheckResultDialog; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.core.dialog.MessageBox; +import org.apache.hop.ui.core.gui.GuiResource; +import org.apache.hop.ui.core.gui.GuiToolbarWidgets; +import org.apache.hop.ui.core.gui.IToolbarContainer; +import org.apache.hop.ui.hopgui.CanvasFacade; +import org.apache.hop.ui.hopgui.HopGui; +import org.apache.hop.ui.hopgui.ToolbarFacade; +import org.apache.hop.ui.hopgui.context.GuiContextUtil; +import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.apache.hop.ui.hopgui.file.IHopFileType; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; +import org.apache.hop.ui.hopgui.perspective.IHopPerspective; +import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; +import org.apache.hop.ui.hopgui.shared.SwtGc; +import org.apache.hop.ui.util.EnvironmentUtils; +import org.apache.hop.workflow.WorkflowMeta; +import org.apache.hop.workflow.action.ActionMeta; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.PaintEvent; +import org.eclipse.swt.graphics.GC; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.layout.FormLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Event; import org.hopper.edw.datavault.hopgui.ModelGeneratedArtifactOpenSupport; import org.hopper.edw.datavault.hopgui.ModelTableLayoutPreviewSupport; import org.hopper.edw.datavault.hopgui.ModelUpdateActionAuditSupport; @@ -99,41 +134,6 @@ import org.hopper.edw.datavault.metadata.dimensional.IDmTable; import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmUpdateExecutionSupport; import org.hopper.edw.datavault.workflow.actions.dimensionalupdate.ActionDimensionalUpdate; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.ui.core.ConstUi; -import org.apache.hop.ui.core.PropsUi; -import org.apache.hop.ui.core.database.dialog.SqlEditor; -import org.apache.hop.ui.core.dialog.BaseDialog; -import org.apache.hop.ui.core.dialog.CheckResultDialog; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.core.dialog.MessageBox; -import org.apache.hop.ui.core.gui.GuiResource; -import org.apache.hop.ui.core.gui.GuiToolbarWidgets; -import org.apache.hop.ui.core.gui.IToolbarContainer; -import org.apache.hop.ui.hopgui.CanvasFacade; -import org.apache.hop.ui.hopgui.HopGui; -import org.apache.hop.ui.hopgui.ToolbarFacade; -import org.apache.hop.ui.hopgui.context.GuiContextUtil; -import org.apache.hop.ui.hopgui.context.IGuiContextHandler; -import org.apache.hop.ui.hopgui.file.IHopFileType; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; -import org.apache.hop.ui.hopgui.perspective.IHopPerspective; -import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; -import org.apache.hop.ui.hopgui.shared.SwtGc; -import org.apache.hop.ui.util.EnvironmentUtils; -import org.apache.hop.workflow.WorkflowMeta; -import org.apache.hop.workflow.action.ActionMeta; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.PaintEvent; -import org.eclipse.swt.graphics.GC; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.FormAttachment; -import org.eclipse.swt.layout.FormData; -import org.eclipse.swt.layout.FormLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Event; import org.jspecify.annotations.Nullable; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalNoteContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalNoteContext.java index e3c2d52a..a702df11 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalNoteContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalNoteContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.DvNote; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.DvNote; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; /** Context handler for clicks on a note in the dimensional model graph. */ public class HopGuiDimensionalNoteContext extends BaseGuiContextHandler diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalTableContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalTableContext.java index e31b4609..c7df85a9 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalTableContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDimensionalTableContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.hopper.edw.datavault.metadata.dimensional.IDmTable; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; +import org.hopper.edw.datavault.metadata.dimensional.IDmTable; /** Context handler for clicks on a dimension or fact table. */ public class HopGuiDimensionalTableContext extends BaseGuiContextHandler diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDmDatabaseImportSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDmDatabaseImportSupport.java index d97a9b29..67c89b85 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDmDatabaseImportSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDmDatabaseImportSupport.java @@ -30,12 +30,6 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.hopper.edw.datavault.metadata.dimensional.dbimport.DmDatabaseImportOptions; -import org.hopper.edw.datavault.metadata.dimensional.dbimport.DmDatabaseImportResult; -import org.hopper.edw.datavault.metadata.dimensional.dbimport.DmDatabaseTableImportSupport; -import org.hopper.edw.datavault.metadata.dimensional.dbimport.ImportDmDatabaseTablesOptionsDialog; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.dialog.EditRowsDialog; @@ -44,6 +38,12 @@ import org.apache.hop.ui.hopgui.HopGui; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; +import org.hopper.edw.datavault.metadata.dimensional.IDmTable; +import org.hopper.edw.datavault.metadata.dimensional.dbimport.DmDatabaseImportOptions; +import org.hopper.edw.datavault.metadata.dimensional.dbimport.DmDatabaseImportResult; +import org.hopper.edw.datavault.metadata.dimensional.dbimport.DmDatabaseTableImportSupport; +import org.hopper.edw.datavault.metadata.dimensional.dbimport.ImportDmDatabaseTablesOptionsDialog; /** GUI helper for importing database tables into a dimensional model. */ public final class HopGuiDmDatabaseImportSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDmRangeDimensionDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDmRangeDimensionDialog.java index d921e08c..f8f56b2d 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDmRangeDimensionDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/HopGuiDmRangeDimensionDialog.java @@ -22,17 +22,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.hopgui.lineage.LineageTabSupport; -import org.hopper.edw.datavault.lineage.DmModelLineageCollector; -import org.hopper.edw.datavault.lineage.LineageSnapshot; -import org.hopper.edw.datavault.lineage.TableLineage; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.hopper.edw.datavault.metadata.dimensional.DmRangeBand; -import org.hopper.edw.datavault.metadata.dimensional.DmRangeDimension; -import org.hopper.edw.datavault.metadata.dimensional.IDmTable; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.FormDataBuilder; @@ -49,6 +38,17 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.hopgui.lineage.LineageTabSupport; +import org.hopper.edw.datavault.lineage.DmModelLineageCollector; +import org.hopper.edw.datavault.lineage.LineageSnapshot; +import org.hopper.edw.datavault.lineage.TableLineage; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; +import org.hopper.edw.datavault.metadata.dimensional.DmRangeBand; +import org.hopper.edw.datavault.metadata.dimensional.DmRangeDimension; +import org.hopper.edw.datavault.metadata.dimensional.IDmTable; /** Dialog to edit a metadata-only {@link DmRangeDimension} (NumberRange band definitions). */ public class HopGuiDmRangeDimensionDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/delegates/DimensionalClipboardPasteSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/delegates/DimensionalClipboardPasteSupport.java index d7ac3b67..199c2a36 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/delegates/DimensionalClipboardPasteSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/delegates/DimensionalClipboardPasteSupport.java @@ -23,10 +23,10 @@ import org.apache.hop.core.gui.IGuiPosition; import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; +import org.apache.hop.ui.core.PropsUi; import org.hopper.edw.datavault.metadata.DvNote; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.ui.core.PropsUi; /** Helpers for renaming and offsetting objects pasted onto a dimensional model canvas. */ final class DimensionalClipboardPasteSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/delegates/HopGuiDimensionalClipboardDelegate.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/delegates/HopGuiDimensionalClipboardDelegate.java index ac3cc1ab..dcf41701 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/delegates/HopGuiDimensionalClipboardDelegate.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/delegates/HopGuiDimensionalClipboardDelegate.java @@ -24,6 +24,14 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.xml.XmlFormatter; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.apache.hop.ui.core.ConstUi; +import org.apache.hop.ui.core.PropsUi; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.core.gui.GuiResource; +import org.apache.hop.ui.hopgui.HopGui; import org.hopper.edw.datavault.hopgui.file.dimensional.HopGuiDimensionalModelGraph; import org.hopper.edw.datavault.metadata.DvNote; import org.hopper.edw.datavault.metadata.DvNoteType; @@ -40,14 +48,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DmRangeDimension; import org.hopper.edw.datavault.metadata.dimensional.DmTableType; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; -import org.apache.hop.ui.core.ConstUi; -import org.apache.hop.ui.core.PropsUi; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.core.gui.GuiResource; -import org.apache.hop.ui.hopgui.HopGui; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/delegates/HopGuiDimensionalSnapshotUndo.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/delegates/HopGuiDimensionalSnapshotUndo.java index db7a4a0b..cf188c51 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/delegates/HopGuiDimensionalSnapshotUndo.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/dimensional/delegates/HopGuiDimensionalSnapshotUndo.java @@ -16,10 +16,10 @@ package org.hopper.edw.datavault.hopgui.file.dimensional.delegates; import org.apache.hop.core.exception.HopException; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphSnapshotUndo; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Gzip-compressed XML snapshots of a {@link DimensionalModel} for undo/redo. */ public class HopGuiDimensionalSnapshotUndo { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapBreadcrumbBar.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapBreadcrumbBar.java index 41c92921..7a28e43e 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapBreadcrumbBar.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapBreadcrumbBar.java @@ -18,9 +18,6 @@ import java.util.List; import java.util.function.Consumer; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.executionmap.ExecutionMapFocusContext; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.eclipse.swt.SWT; @@ -30,6 +27,9 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Link; +import org.hopper.edw.datavault.executionmap.ExecutionMapFocusContext; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; /** Breadcrumb navigation for execution map drill-down. */ public class ExecutionMapBreadcrumbBar extends Composite { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapDatasetDetailsViewer.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapDatasetDetailsViewer.java index 9f025865..d5b26472 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapDatasetDetailsViewer.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapDatasetDetailsViewer.java @@ -16,12 +16,12 @@ package org.hopper.edw.datavault.hopgui.file.executionmap; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.executionmap.DatasetNodeSupport; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.dialog.EnterTextDialog; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.executionmap.DatasetNodeSupport; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; /** Read-only viewer for dataset node metadata in execution maps. */ public final class ExecutionMapDatasetDetailsViewer { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapDiffViewer.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapDiffViewer.java index df555ffe..4f5c2491 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapDiffViewer.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapDiffViewer.java @@ -15,10 +15,10 @@ */ package org.hopper.edw.datavault.hopgui.file.executionmap; -import org.hopper.edw.datavault.executionmap.ExecutionMapDiffSupport.DiffResult; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.dialog.EnterTextDialog; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.executionmap.ExecutionMapDiffSupport.DiffResult; /** Read-only viewer for execution map refresh diffs. */ public final class ExecutionMapDiffViewer { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapNavigationSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapNavigationSupport.java index 7103112d..18359c41 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapNavigationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapNavigationSupport.java @@ -19,6 +19,19 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.hopgui.HopGui; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; +import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; +import org.apache.hop.workflow.WorkflowMeta; +import org.eclipse.swt.widgets.Shell; import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; import org.hopper.edw.catalog.hopgui.preview.RecordDefinitionPreviewRunner; import org.hopper.edw.catalog.hopgui.preview.RecordDefinitionPreviewSupport; @@ -27,10 +40,6 @@ import org.hopper.edw.catalog.model.RecordDefinitionQuery; import org.hopper.edw.catalog.model.RecordDefinitionRef; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; -import org.apache.hop.core.xml.XmlHandler; import org.hopper.edw.datavault.executionmap.ArtifactSnapshotSupport; import org.hopper.edw.datavault.executionmap.DatasetNodeSupport; import org.hopper.edw.datavault.executionmap.ExecutionMapDatasetCatalogSupport; @@ -38,15 +47,6 @@ import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapArtifactType; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.hopgui.HopGui; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; -import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; -import org.apache.hop.workflow.WorkflowMeta; -import org.eclipse.swt.widgets.Shell; import org.w3c.dom.Node; /** Opens execution map nodes in Hop GUI or from embedded XML snapshots. */ diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapReadOnlyInteractions.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapReadOnlyInteractions.java index 3ce074ce..afa1d54f 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapReadOnlyInteractions.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapReadOnlyInteractions.java @@ -18,10 +18,10 @@ import org.apache.hop.core.gui.AreaOwner; import org.apache.hop.core.gui.AreaOwner.AreaType; import org.apache.hop.core.gui.Point; +import org.eclipse.swt.widgets.Event; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphHit; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphMouseInteractions; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; -import org.eclipse.swt.widgets.Event; /** Read-only mouse interactions for execution map graphs. */ public class ExecutionMapReadOnlyInteractions implements ModelGraphMouseInteractions { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapSnapshotViewer.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapSnapshotViewer.java index b7e900e6..089d78ba 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapSnapshotViewer.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapSnapshotViewer.java @@ -18,14 +18,14 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.xml.XmlFormatter; -import org.hopper.edw.datavault.executionmap.ArtifactSnapshotSupport; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapArtifactSnapshot; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.dialog.EnterTextDialog; import org.apache.hop.ui.core.dialog.ErrorDialog; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.executionmap.ArtifactSnapshotSupport; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapArtifactSnapshot; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; /** Read-only viewer for gzip+Base64 XML snapshots stored in execution maps. */ public final class ExecutionMapSnapshotViewer { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/HopExecutionMapFileType.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/HopExecutionMapFileType.java index 50d5bc69..213828ab 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/HopExecutionMapFileType.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/HopExecutionMapFileType.java @@ -22,9 +22,6 @@ import org.apache.hop.core.file.IHasFilename; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.executionmap.ExecutionMapPersistence; -import org.hopper.edw.datavault.hopgui.file.ExplorerPerspectiveTabSupport; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; import org.apache.hop.ui.hopgui.HopGui; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; import org.apache.hop.ui.hopgui.file.HopFileTypeBase; @@ -35,6 +32,9 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; +import org.hopper.edw.datavault.executionmap.ExecutionMapPersistence; +import org.hopper.edw.datavault.hopgui.file.ExplorerPerspectiveTabSupport; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/HopGuiExecutionMapGraph.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/HopGuiExecutionMapGraph.java index 463d7633..6767e243 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/HopGuiExecutionMapGraph.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/HopGuiExecutionMapGraph.java @@ -42,22 +42,6 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.vfs.HopVfs; -import org.hopper.edw.datavault.command.executionmap.ExecutionMapService; -import org.hopper.edw.datavault.command.svg.ExecutionMapExportScope; -import org.hopper.edw.datavault.command.svg.SvgExportService; -import org.hopper.edw.datavault.command.svg.SvgRenderOptions; -import org.hopper.edw.datavault.executionmap.ExecutionMapFocusContext; -import org.hopper.edw.datavault.executionmap.ExecutionMapViewFilter; -import org.hopper.edw.datavault.executionmap.ExecutionMapViewSupport; -import org.hopper.edw.datavault.hopgui.executionmap.ExecutionMapGenerationDialog; -import org.hopper.edw.datavault.hopgui.file.modelgraph.HopGuiModelGraphBase; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphMouseInteractions; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphSnapshotUndo; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphWebCanvasData; -import org.hopper.edw.datavault.metadata.DvNote; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -86,6 +70,22 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Event; +import org.hopper.edw.datavault.command.executionmap.ExecutionMapService; +import org.hopper.edw.datavault.command.svg.ExecutionMapExportScope; +import org.hopper.edw.datavault.command.svg.SvgExportService; +import org.hopper.edw.datavault.command.svg.SvgRenderOptions; +import org.hopper.edw.datavault.executionmap.ExecutionMapFocusContext; +import org.hopper.edw.datavault.executionmap.ExecutionMapViewFilter; +import org.hopper.edw.datavault.executionmap.ExecutionMapViewSupport; +import org.hopper.edw.datavault.hopgui.executionmap.ExecutionMapGenerationDialog; +import org.hopper.edw.datavault.hopgui.file.modelgraph.HopGuiModelGraphBase; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphMouseInteractions; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphSnapshotUndo; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphWebCanvasData; +import org.hopper.edw.datavault.metadata.DvNote; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; /** Read-only Hop GUI viewer for execution map documents. */ @GuiPlugin(id = "HopGuiExecutionMapGraph", description = "Hop execution map graph") diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/HopGuiExecutionMapNodeContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/HopGuiExecutionMapNodeContext.java index d4ef5df2..1e31839e 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/HopGuiExecutionMapNodeContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/executionmap/HopGuiExecutionMapNodeContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; /** Context handler for clicks on execution map nodes. */ public class HopGuiExecutionMapNodeContext extends BaseGuiContextHandler diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopGuiLineageViewGraph.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopGuiLineageViewGraph.java index 8f997399..2d9e9240 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopGuiLineageViewGraph.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopGuiLineageViewGraph.java @@ -43,36 +43,6 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.vfs.HopVfs; -import org.hopper.edw.datavault.command.svg.SvgExportService; -import org.hopper.edw.datavault.hopgui.file.modelgraph.HopGuiModelGraphBase; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphMouseInteractions; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphSnapshotUndo; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphWebCanvasData; -import org.hopper.edw.datavault.hopgui.help.MarkdownHelpBrowserSupport; -import org.hopper.edw.datavault.hopgui.widget.MarkdownStyledTextComp; -import org.hopper.edw.datavault.layout.ElkLayoutBox; -import org.hopper.edw.datavault.lineage.LineageSnapshot; -import org.hopper.edw.datavault.lineageview.HopLineageViewDocument; -import org.hopper.edw.datavault.lineageview.LineageViewDetailsSupport; -import org.hopper.edw.datavault.lineageview.LineageViewElkSupport; -import org.hopper.edw.datavault.lineageview.LineageViewNavigationSupport; -import org.hopper.edw.datavault.lineageview.LineageViewOpsBadge; -import org.hopper.edw.datavault.lineageview.LineageViewOpsOverlay; -import org.hopper.edw.datavault.lineageview.LineageViewSeedSupport; -import org.hopper.edw.datavault.lineageview.backend.DatasetDetails; -import org.hopper.edw.datavault.lineageview.backend.ILineageQueryService; -import org.hopper.edw.datavault.lineageview.backend.JobDetails; -import org.hopper.edw.datavault.lineageview.backend.LineageGraph; -import org.hopper.edw.datavault.lineageview.backend.LineageGraphOps; -import org.hopper.edw.datavault.lineageview.backend.LineageNode; -import org.hopper.edw.datavault.lineageview.backend.LineageNodeKind; -import org.hopper.edw.datavault.lineageview.backend.LineageQuery; -import org.hopper.edw.datavault.lineageview.backend.LineageQueryServiceFactory; -import org.hopper.edw.datavault.lineageview.backend.LineageWarning; -import org.hopper.edw.datavault.lineageview.backend.OpenLineageRef; -import org.hopper.edw.datavault.metadata.DvNote; -import org.hopper.edw.datavault.metadata.lineage.LineageBackendMeta; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataSerializer; import org.apache.hop.ui.core.PropsUi; @@ -106,6 +76,36 @@ import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Label; +import org.hopper.edw.datavault.command.svg.SvgExportService; +import org.hopper.edw.datavault.hopgui.file.modelgraph.HopGuiModelGraphBase; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphMouseInteractions; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphSnapshotUndo; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphWebCanvasData; +import org.hopper.edw.datavault.hopgui.help.MarkdownHelpBrowserSupport; +import org.hopper.edw.datavault.hopgui.widget.MarkdownStyledTextComp; +import org.hopper.edw.datavault.layout.ElkLayoutBox; +import org.hopper.edw.datavault.lineage.LineageSnapshot; +import org.hopper.edw.datavault.lineageview.HopLineageViewDocument; +import org.hopper.edw.datavault.lineageview.LineageViewDetailsSupport; +import org.hopper.edw.datavault.lineageview.LineageViewElkSupport; +import org.hopper.edw.datavault.lineageview.LineageViewNavigationSupport; +import org.hopper.edw.datavault.lineageview.LineageViewOpsBadge; +import org.hopper.edw.datavault.lineageview.LineageViewOpsOverlay; +import org.hopper.edw.datavault.lineageview.LineageViewSeedSupport; +import org.hopper.edw.datavault.lineageview.backend.DatasetDetails; +import org.hopper.edw.datavault.lineageview.backend.ILineageQueryService; +import org.hopper.edw.datavault.lineageview.backend.JobDetails; +import org.hopper.edw.datavault.lineageview.backend.LineageGraph; +import org.hopper.edw.datavault.lineageview.backend.LineageGraphOps; +import org.hopper.edw.datavault.lineageview.backend.LineageNode; +import org.hopper.edw.datavault.lineageview.backend.LineageNodeKind; +import org.hopper.edw.datavault.lineageview.backend.LineageQuery; +import org.hopper.edw.datavault.lineageview.backend.LineageQueryServiceFactory; +import org.hopper.edw.datavault.lineageview.backend.LineageWarning; +import org.hopper.edw.datavault.lineageview.backend.OpenLineageRef; +import org.hopper.edw.datavault.metadata.DvNote; +import org.hopper.edw.datavault.metadata.lineage.LineageBackendMeta; /** Explorer tab for a Hop Lineage View. */ @GuiPlugin(id = "HopGuiLineageViewGraph", description = "Hop lineage view graph") diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopGuiLineageViewNodeContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopGuiLineageViewNodeContext.java index 8fbee225..3fcbf955 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopGuiLineageViewNodeContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopGuiLineageViewNodeContext.java @@ -21,10 +21,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.lineageview.HopLineageViewDocument; -import org.hopper.edw.datavault.lineageview.backend.LineageNode; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.lineageview.HopLineageViewDocument; +import org.hopper.edw.datavault.lineageview.backend.LineageNode; /** Context handler for clicks on lineage view nodes. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopGuiLineageViewSearchable.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopGuiLineageViewSearchable.java index 0b607980..57cda493 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopGuiLineageViewSearchable.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopGuiLineageViewSearchable.java @@ -17,9 +17,9 @@ import org.apache.hop.core.search.ISearchable; import org.apache.hop.core.search.ISearchableCallback; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; import org.hopper.edw.datavault.hopgui.search.ModelSearchOpenSupport; import org.hopper.edw.datavault.lineageview.HopLineageViewDocument; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; /** Project search for a {@code .hlv} view definition. */ public class HopGuiLineageViewSearchable implements ISearchable { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopLineageViewFileType.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopLineageViewFileType.java index a5c1b340..6676d9da 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopLineageViewFileType.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopLineageViewFileType.java @@ -29,10 +29,6 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.ExplorerPerspectiveTabSupport; -import org.hopper.edw.datavault.lineage.LineageSnapshot; -import org.hopper.edw.datavault.lineageview.HopLineageViewDocument; -import org.hopper.edw.datavault.lineageview.LineageViewPersistence; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -49,6 +45,10 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; +import org.hopper.edw.datavault.hopgui.file.ExplorerPerspectiveTabSupport; +import org.hopper.edw.datavault.lineage.LineageSnapshot; +import org.hopper.edw.datavault.lineageview.HopLineageViewDocument; +import org.hopper.edw.datavault.lineageview.LineageViewPersistence; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/LineageViewReadOnlyInteractions.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/LineageViewReadOnlyInteractions.java index 5f244be2..d33abd55 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/LineageViewReadOnlyInteractions.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/lineageview/LineageViewReadOnlyInteractions.java @@ -17,10 +17,10 @@ import org.apache.hop.core.gui.AreaOwner; import org.apache.hop.core.gui.Point; +import org.eclipse.swt.widgets.Event; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphHit; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphMouseInteractions; import org.hopper.edw.datavault.lineageview.backend.LineageNode; -import org.eclipse.swt.widgets.Event; /** Pan/zoom/select only — no drag or create. */ public class LineageViewReadOnlyInteractions implements ModelGraphMouseInteractions { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/metrics/LoadRunDurationOverviewPainter.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/metrics/LoadRunDurationOverviewPainter.java index 2cbc7935..64430b8e 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/metrics/LoadRunDurationOverviewPainter.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/metrics/LoadRunDurationOverviewPainter.java @@ -27,11 +27,11 @@ import org.apache.hop.core.gui.Rectangle; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.ui.core.PropsUi; import org.hopper.edw.datavault.hopgui.file.vault.BasePainter; import org.hopper.edw.datavault.metrics.LoadRunDurationRun; import org.hopper.edw.datavault.metrics.LoadRunDurationSnapshot; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.ui.core.PropsUi; /** Airflow-style duration bars for recent load runs, one row per model table. */ public class LoadRunDurationOverviewPainter extends BasePainter { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/metrics/LoadRunDurationPreviewSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/metrics/LoadRunDurationPreviewSupport.java index 13b3974a..83030d34 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/metrics/LoadRunDurationPreviewSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/metrics/LoadRunDurationPreviewSupport.java @@ -26,11 +26,11 @@ import org.apache.hop.core.row.value.ValueMetaNumber; import org.apache.hop.core.row.value.ValueMetaString; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.eclipse.swt.widgets.Shell; import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; import org.hopper.edw.datavault.metrics.LoadRunDurationRun; import org.hopper.edw.datavault.metrics.LoadRunDurationSnapshot; -import org.apache.hop.i18n.BaseMessages; -import org.eclipse.swt.widgets.Shell; /** Builds tabular previews of load duration metrics for {@link ShowRowsDialog}. */ public final class LoadRunDurationPreviewSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/metrics/ModelLoadDurationPane.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/metrics/ModelLoadDurationPane.java index 648f7a60..9c519205 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/metrics/ModelLoadDurationPane.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/metrics/ModelLoadDurationPane.java @@ -20,8 +20,6 @@ import org.apache.hop.core.gui.IGc; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metrics.LoadRunDurationMetricsLoader; -import org.hopper.edw.datavault.metrics.LoadRunDurationSnapshot; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.PropsUi; @@ -45,6 +43,8 @@ import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Label; +import org.hopper.edw.datavault.metrics.LoadRunDurationMetricsLoader; +import org.hopper.edw.datavault.metrics.LoadRunDurationSnapshot; /** Right-hand duration overview panel for DV/BV/DM model graphs. */ public class ModelLoadDurationPane extends Composite { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/DmTableDisplaySupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/DmTableDisplaySupport.java index 90d23a95..9e5c3bdf 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/DmTableDisplaySupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/DmTableDisplaySupport.java @@ -17,6 +17,7 @@ import org.apache.hop.core.Const; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.DmDimension; @@ -27,7 +28,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DmSurrogateKeySupport; import org.hopper.edw.datavault.metadata.dimensional.DmTableBase; import org.hopper.edw.datavault.metadata.dimensional.DmTableType; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Resolves dimensional table display metadata for model graph painters. */ public final class DmTableDisplaySupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/HopGuiModelGraphBase.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/HopGuiModelGraphBase.java index e03dfa73..7a9a1f41 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/HopGuiModelGraphBase.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/HopGuiModelGraphBase.java @@ -31,15 +31,6 @@ import org.apache.hop.core.gui.markdown.NoteLinkHit; import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.hopgui.ModelCoachPanelAuditSupport; -import org.hopper.edw.datavault.hopgui.ModelLoadDurationPaneAuditSupport; -import org.hopper.edw.datavault.hopgui.coaching.CoachingCanvasDropSupport; -import org.hopper.edw.datavault.hopgui.coaching.ICoachableModelGraph; -import org.hopper.edw.datavault.hopgui.coaching.ModelCoachPanel; -import org.hopper.edw.datavault.hopgui.file.metrics.ModelLoadDurationPane; -import org.hopper.edw.datavault.hopgui.file.vault.BasePainter; -import org.hopper.edw.datavault.hopgui.file.vault.DvNotePadSupport; -import org.hopper.edw.datavault.metadata.DvNote; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.ErrorDialog; @@ -74,6 +65,15 @@ import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.hopgui.ModelCoachPanelAuditSupport; +import org.hopper.edw.datavault.hopgui.ModelLoadDurationPaneAuditSupport; +import org.hopper.edw.datavault.hopgui.coaching.CoachingCanvasDropSupport; +import org.hopper.edw.datavault.hopgui.coaching.ICoachableModelGraph; +import org.hopper.edw.datavault.hopgui.coaching.ModelCoachPanel; +import org.hopper.edw.datavault.hopgui.file.metrics.ModelLoadDurationPane; +import org.hopper.edw.datavault.hopgui.file.vault.BasePainter; +import org.hopper.edw.datavault.hopgui.file.vault.DvNotePadSupport; +import org.hopper.edw.datavault.metadata.DvNote; import org.jspecify.annotations.Nullable; /** diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelDialogValidationSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelDialogValidationSupport.java index deb85f0e..8eb77959 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelDialogValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelDialogValidationSupport.java @@ -25,13 +25,6 @@ import org.apache.hop.core.IProgressMonitor; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.GuiBusySupport; -import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; -import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; -import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; @@ -40,6 +33,13 @@ import org.apache.hop.ui.core.dialog.ProgressMonitorDialog; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.hopgui.GuiBusySupport; +import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; +import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; +import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelGraphSnapshotUndo.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelGraphSnapshotUndo.java index b23c6129..fdf6cb8d 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelGraphSnapshotUndo.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelGraphSnapshotUndo.java @@ -26,11 +26,11 @@ import java.util.zip.GZIPOutputStream; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.config.DataVaultConfigSingleton; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceJsonContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceJsonContext.java index c11a5a05..13bd83a2 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceJsonContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceJsonContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; /** Context handler for clicks on a source JSON card. */ public class HopGuiSourceJsonContext extends BaseGuiContextHandler implements IGuiContextHandler { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceModelContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceModelContext.java index df68af53..e1aa1570 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceModelContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceModelContext.java @@ -20,9 +20,9 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; /** Context handler for background clicks on a source model graph canvas. */ public class HopGuiSourceModelContext extends BaseGuiContextHandler implements IGuiContextHandler { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceModelGraph.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceModelGraph.java index a1b018e8..c0da0f6e 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceModelGraph.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceModelGraph.java @@ -40,38 +40,6 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; -import org.hopper.edw.datavault.hopgui.file.dimensional.DmSourcePipelineOpenSupport; -import org.hopper.edw.datavault.hopgui.file.modelgraph.HopGuiModelGraphBase; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphHit; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphMouseInteractions; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphSnapshotUndo; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphWebCanvasData; -import org.hopper.edw.datavault.hopgui.file.sourcemodel.delegates.HopGuiSourceModelClipboardDelegate; -import org.hopper.edw.datavault.hopgui.file.sourcemodel.delegates.HopGuiSourceModelSnapshotUndo; -import org.hopper.edw.datavault.metadata.DvNote; -import org.hopper.edw.datavault.metadata.DvNoteType; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceImportSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceEndpointKind; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceEndpointSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceJoinType; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourcePipeline; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationshipLifecycleSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationshipMultiplicity; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; -import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceJsonPreviewSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQueryPreviewSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceTablePreviewSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceJsonCatalogPublisher; -import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourcePipelineCatalogPublisher; -import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceQueryCatalogPublisher; -import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceTableCatalogPublisher; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.pipeline.Pipeline; import org.apache.hop.ui.core.PropsUi; @@ -107,6 +75,38 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; +import org.hopper.edw.datavault.hopgui.file.dimensional.DmSourcePipelineOpenSupport; +import org.hopper.edw.datavault.hopgui.file.modelgraph.HopGuiModelGraphBase; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphHit; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphMouseInteractions; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphSnapshotUndo; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphWebCanvasData; +import org.hopper.edw.datavault.hopgui.file.sourcemodel.delegates.HopGuiSourceModelClipboardDelegate; +import org.hopper.edw.datavault.hopgui.file.sourcemodel.delegates.HopGuiSourceModelSnapshotUndo; +import org.hopper.edw.datavault.metadata.DvNote; +import org.hopper.edw.datavault.metadata.DvNoteType; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceImportSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceEndpointKind; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceEndpointSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceJoinType; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourcePipeline; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationshipLifecycleSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationshipMultiplicity; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; +import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceJsonPreviewSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQueryPreviewSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceTablePreviewSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceJsonCatalogPublisher; +import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourcePipelineCatalogPublisher; +import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceQueryCatalogPublisher; +import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceTableCatalogPublisher; import org.jspecify.annotations.Nullable; /** diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceModelImportSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceModelImportSupport.java index abb49287..a79a5f91 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceModelImportSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceModelImportSupport.java @@ -27,12 +27,6 @@ import org.apache.hop.core.logging.SimpleLoggingObject; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceImportSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.importing.DatabaseSchemaImportSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.importing.ImportSourceSchemaOptionsDialog; -import org.hopper.edw.datavault.metadata.sourcemodel.importing.SourceSchemaImportOptions; -import org.hopper.edw.datavault.metadata.sourcemodel.importing.SourceSchemaImportResult; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.dialog.EnterSelectionDialog; @@ -41,6 +35,12 @@ import org.apache.hop.ui.hopgui.HopGui; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceImportSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.importing.DatabaseSchemaImportSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.importing.ImportSourceSchemaOptionsDialog; +import org.hopper.edw.datavault.metadata.sourcemodel.importing.SourceSchemaImportOptions; +import org.hopper.edw.datavault.metadata.sourcemodel.importing.SourceSchemaImportResult; /** GUI helper for importing database schema (tables + PK/FK) into a source model. */ public final class HopGuiSourceModelImportSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceNoteContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceNoteContext.java index fa575577..c4048dbf 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceNoteContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceNoteContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.DvNote; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.DvNote; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; /** Context handler for clicks on a note in the source model graph. */ public class HopGuiSourceNoteContext extends BaseGuiContextHandler implements IGuiContextHandler { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourcePipelineContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourcePipelineContext.java index 92b536b6..9852d018 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourcePipelineContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourcePipelineContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourcePipeline; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourcePipeline; /** Context handler for clicks on a source pipeline card. */ public class HopGuiSourcePipelineContext extends BaseGuiContextHandler diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceQueryComposeSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceQueryComposeSupport.java index e41f0e54..251a185f 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceQueryComposeSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceQueryComposeSupport.java @@ -19,12 +19,6 @@ import java.util.List; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceImportSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; -import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceQueryCatalogPublisher; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -33,6 +27,12 @@ import org.apache.hop.ui.hopgui.HopGui; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceImportSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; +import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceQueryCatalogPublisher; /** * Opens the source query builder from outside {@code .hsm} (e.g. Data Vault modeler), saves the diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceQueryContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceQueryContext.java index a2d9252d..7e1916d5 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceQueryContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceQueryContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; /** Context handler for clicks on a source query card. */ public class HopGuiSourceQueryContext extends BaseGuiContextHandler implements IGuiContextHandler { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceRelationshipContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceRelationshipContext.java index 039638af..db63c0bb 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceRelationshipContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceRelationshipContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; /** Context handler for clicks on a source relationship edge. */ public class HopGuiSourceRelationshipContext extends BaseGuiContextHandler diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceTableContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceTableContext.java index 8390ce45..9505ec49 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceTableContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopGuiSourceTableContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; /** Context handler for clicks on a source table card. */ public class HopGuiSourceTableContext extends BaseGuiContextHandler implements IGuiContextHandler { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopSourceModelFileType.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopSourceModelFileType.java index a74b49fb..481d3a5f 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopSourceModelFileType.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/HopSourceModelFileType.java @@ -28,13 +28,6 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.StandardProjectElementsOfferSupport; -import org.hopper.edw.datavault.hopgui.file.ExplorerPerspectiveTabSupport; -import org.hopper.edw.datavault.hopgui.search.HopGuiSourceModelSearchable; -import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; -import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; @@ -52,6 +45,13 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; +import org.hopper.edw.datavault.hopgui.StandardProjectElementsOfferSupport; +import org.hopper.edw.datavault.hopgui.file.ExplorerPerspectiveTabSupport; +import org.hopper.edw.datavault.hopgui.search.HopGuiSourceModelSearchable; +import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; +import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceDataTypeMappingTab.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceDataTypeMappingTab.java index 6c1d3474..a8e955ea 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceDataTypeMappingTab.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceDataTypeMappingTab.java @@ -24,14 +24,6 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingMeta; -import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingPatternSupport; -import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingResolver; -import org.hopper.edw.datavault.metadata.datatypemapping.EffectiveSourceField; -import org.hopper.edw.datavault.metadata.datatypemapping.FieldConversionOptions; -import org.hopper.edw.datavault.metadata.datatypemapping.IDataTypeMappingTarget; -import org.hopper.edw.datavault.metadata.datatypemapping.PhysicalSourceField; -import org.hopper.edw.datavault.metadata.datatypemapping.SourceFieldTypeMapping; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.FormDataBuilder; @@ -53,6 +45,14 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingMeta; +import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingPatternSupport; +import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingResolver; +import org.hopper.edw.datavault.metadata.datatypemapping.EffectiveSourceField; +import org.hopper.edw.datavault.metadata.datatypemapping.FieldConversionOptions; +import org.hopper.edw.datavault.metadata.datatypemapping.IDataTypeMappingTarget; +import org.hopper.edw.datavault.metadata.datatypemapping.PhysicalSourceField; +import org.hopper.edw.datavault.metadata.datatypemapping.SourceFieldTypeMapping; /** * Shared HSM dialog tab: attach project data type mapping profiles, field overrides, and preview diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceModelCanvasSvgRenderer.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceModelCanvasSvgRenderer.java index 0eaa9887..c3e05995 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceModelCanvasSvgRenderer.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceModelCanvasSvgRenderer.java @@ -26,10 +26,10 @@ import org.apache.hop.core.gui.markdown.NoteLinkHit; import org.apache.hop.core.svg.HopSvgGraphics2D; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphWebCanvasData; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Renders a source model to SVG for Hop Web using {@link SourceModelPainter}. */ public final class SourceModelCanvasSvgRenderer { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceModelPainter.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceModelPainter.java index 4ab1d84c..73d731c4 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceModelPainter.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceModelPainter.java @@ -31,6 +31,9 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.ui.core.PropsUi; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphConnectionGeometry; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphConnectionGeometry.Bounds; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphTableCardLayout; @@ -47,9 +50,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQueryGenerationSupport; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.ui.core.PropsUi; /** * Paints a source model canvas: tables, PK/FK relationship edges, composition dependency lines diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceModelSvgPainter.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceModelSvgPainter.java index e05dc6d1..a6f7fbec 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceModelSvgPainter.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/SourceModelSvgPainter.java @@ -19,10 +19,10 @@ import org.apache.hop.core.gui.DPoint; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.command.svg.SvgRenderOptions; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Headless SVG export for a {@link SourceModel}. */ public final class SourceModelSvgPainter { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/delegates/HopGuiSourceModelClipboardDelegate.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/delegates/HopGuiSourceModelClipboardDelegate.java index 2c1f959f..c8b27dbb 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/delegates/HopGuiSourceModelClipboardDelegate.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/delegates/HopGuiSourceModelClipboardDelegate.java @@ -21,12 +21,6 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.xml.XmlFormatter; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.sourcemodel.HopGuiSourceModelGraph; -import org.hopper.edw.datavault.metadata.DvNote; -import org.hopper.edw.datavault.metadata.DvNoteType; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; @@ -34,6 +28,12 @@ import org.apache.hop.ui.core.dialog.ErrorDialog; import org.apache.hop.ui.core.gui.GuiResource; import org.apache.hop.ui.hopgui.HopGui; +import org.hopper.edw.datavault.hopgui.file.sourcemodel.HopGuiSourceModelGraph; +import org.hopper.edw.datavault.metadata.DvNote; +import org.hopper.edw.datavault.metadata.DvNoteType; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/delegates/HopGuiSourceModelSnapshotUndo.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/delegates/HopGuiSourceModelSnapshotUndo.java index d899069e..31e61b26 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/delegates/HopGuiSourceModelSnapshotUndo.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/sourcemodel/delegates/HopGuiSourceModelSnapshotUndo.java @@ -16,9 +16,9 @@ package org.hopper.edw.datavault.hopgui.file.sourcemodel.delegates; import org.apache.hop.core.exception.HopException; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphSnapshotUndo; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Gzip-compressed XML snapshots of a {@link SourceModel} for undo/redo. */ public class HopGuiSourceModelSnapshotUndo { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/BasePainter.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/BasePainter.java index 359200ea..8e6efc82 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/BasePainter.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/BasePainter.java @@ -38,9 +38,9 @@ import org.apache.hop.core.gui.markdown.NoteLinkHit; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DvNote; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.PropsUi; +import org.hopper.edw.datavault.metadata.DvNote; @Getter @Setter diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DataVaultModelCanvasSvgRenderer.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DataVaultModelCanvasSvgRenderer.java index 06441d07..05b61706 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DataVaultModelCanvasSvgRenderer.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DataVaultModelCanvasSvgRenderer.java @@ -26,11 +26,11 @@ import org.apache.hop.core.gui.markdown.NoteLinkHit; import org.apache.hop.core.svg.HopSvgGraphics2D; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphWebCanvasData; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Renders a Data Vault model to SVG for Hop Web using the same {@link DataVaultModelPainter} as the diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DataVaultModelPainter.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DataVaultModelPainter.java index 655f6be3..d7146e38 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DataVaultModelPainter.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DataVaultModelPainter.java @@ -31,6 +31,7 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.hopgui.file.modelgraph.DvTableDisplaySupport; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphConnectionGeometry; @@ -48,7 +49,6 @@ import org.hopper.edw.datavault.metadata.DvTableResolutionSupport; import org.hopper.edw.datavault.metadata.DvTableType; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.i18n.BaseMessages; /** * Basic painter for a Data Vault model using IGc. Draws tables (hubs, links, satellites) at their @@ -522,7 +522,7 @@ private String getTypeLabel(IDvTable table) { .equalsIgnoreCase(Const.NVL(reference.getReferencedTableName(), "")); base = base + (sameModelAlias ? " (alias)" : " (linked)"); } - String suffix = DvIntegrationSupport.integrationCanvasSuffix(table); + String suffix = DvIntegrationSupport.integrationCanvasSuffix(table, model); if (Utils.isEmpty(suffix)) { return base; } diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvCatalogSourceSelectionLine.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvCatalogSourceSelectionLine.java index 14b17b1c..d087b03f 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvCatalogSourceSelectionLine.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvCatalogSourceSelectionLine.java @@ -18,10 +18,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.hopgui.GuiBusySupport; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.PropsUi; import org.eclipse.swt.SWT; @@ -32,6 +28,10 @@ import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.hopgui.GuiBusySupport; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; /** * Combo-based picker for Data Vault sources stored in the data catalog. diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvCustomPipelinesTabSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvCustomPipelinesTabSupport.java index 69790500..95c9506f 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvCustomPipelinesTabSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvCustomPipelinesTabSupport.java @@ -22,8 +22,6 @@ import java.util.Set; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DvIntegrationMode; -import org.hopper.edw.datavault.metadata.DvTableBase; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -44,6 +42,8 @@ import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; +import org.hopper.edw.datavault.metadata.DvIntegrationMode; +import org.hopper.edw.datavault.metadata.DvTableBase; /** Shared "Custom pipelines" tab for hub, satellite, and link table editors. */ public final class DvCustomPipelinesTabSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvHubDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvHubDialog.java index cd803a9a..52bca7da 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvHubDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvHubDialog.java @@ -25,22 +25,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.hopgui.lineage.LineageTabSupport; -import org.hopper.edw.datavault.lineage.DvModelLineageCollector; -import org.hopper.edw.datavault.metadata.BusinessKey; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.DvDataTypeSupport; -import org.hopper.edw.datavault.metadata.DvHub; -import org.hopper.edw.datavault.metadata.DvIntegrationMode; -import org.hopper.edw.datavault.metadata.DvModelCheckOptions; -import org.hopper.edw.datavault.metadata.IDvTable; -import org.hopper.edw.datavault.metadata.SourceField; -import org.hopper.edw.datavault.metadata.SourceFieldPrimaryKeySupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -67,6 +51,22 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.hopgui.lineage.LineageTabSupport; +import org.hopper.edw.datavault.lineage.DvModelLineageCollector; +import org.hopper.edw.datavault.metadata.BusinessKey; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.DvDataTypeSupport; +import org.hopper.edw.datavault.metadata.DvHub; +import org.hopper.edw.datavault.metadata.DvIntegrationMode; +import org.hopper.edw.datavault.metadata.DvModelCheckOptions; +import org.hopper.edw.datavault.metadata.IDvTable; +import org.hopper.edw.datavault.metadata.SourceField; +import org.hopper.edw.datavault.metadata.SourceFieldPrimaryKeySupport; /** Dialog to edit the properties of a DvHub, including business keys list using TableView. */ public class DvHubDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkDialog.java index dc838b70..03a9b84a 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkDialog.java @@ -25,27 +25,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.hopgui.lineage.LineageTabSupport; -import org.hopper.edw.datavault.lineage.DvModelLineageCollector; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.DependentChildKey; -import org.hopper.edw.datavault.metadata.DvHub; -import org.hopper.edw.datavault.metadata.DvIntegrationMode; -import org.hopper.edw.datavault.metadata.DvLink; -import org.hopper.edw.datavault.metadata.DvLinkSourceSuggestSupport; -import org.hopper.edw.datavault.metadata.DvLinkedTable; -import org.hopper.edw.datavault.metadata.DvModelCheckOptions; -import org.hopper.edw.datavault.metadata.DvOrphanHandlingSupport; -import org.hopper.edw.datavault.metadata.DvOrphanPolicy; -import org.hopper.edw.datavault.metadata.DvSatellite; -import org.hopper.edw.datavault.metadata.DvTableType; -import org.hopper.edw.datavault.metadata.IDvTable; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -72,6 +51,27 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.hopgui.lineage.LineageTabSupport; +import org.hopper.edw.datavault.lineage.DvModelLineageCollector; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.DependentChildKey; +import org.hopper.edw.datavault.metadata.DvHub; +import org.hopper.edw.datavault.metadata.DvIntegrationMode; +import org.hopper.edw.datavault.metadata.DvLink; +import org.hopper.edw.datavault.metadata.DvLinkSourceSuggestSupport; +import org.hopper.edw.datavault.metadata.DvLinkedTable; +import org.hopper.edw.datavault.metadata.DvModelCheckOptions; +import org.hopper.edw.datavault.metadata.DvOrphanHandlingSupport; +import org.hopper.edw.datavault.metadata.DvOrphanPolicy; +import org.hopper.edw.datavault.metadata.DvSatellite; +import org.hopper.edw.datavault.metadata.DvTableType; +import org.hopper.edw.datavault.metadata.IDvTable; +import org.hopper.edw.datavault.metadata.SourceField; /** * Dialog to edit the properties of a DvLink using a TabFolder. Name and description are placed at diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkHubSourceDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkHubSourceDialog.java index cb503288..a8db8d2c 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkHubSourceDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkHubSourceDialog.java @@ -22,11 +22,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.DvLink; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -45,6 +40,11 @@ import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.DvLink; /** * Dialog to edit a single DvLinkHubSource entry (one record source feeding the link) and its diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkSatelliteSourceDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkSatelliteSourceDialog.java index a0525fe9..5e51e31a 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkSatelliteSourceDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkSatelliteSourceDialog.java @@ -22,11 +22,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.DvLink; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -45,6 +40,11 @@ import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.DvLink; /** * Dialog to edit a single DvLinkSatelliteSource entry and its per-satellite source key field diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkedTableNavigationSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkedTableNavigationSupport.java index 8269d020..ba687c8c 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkedTableNavigationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvLinkedTableNavigationSupport.java @@ -18,16 +18,16 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DvLinkedTable; -import org.hopper.edw.datavault.metadata.DvModelLoadSupport; -import org.hopper.edw.datavault.metadata.DvTableResolutionSupport; -import org.hopper.edw.datavault.metadata.IDvTable; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.hopgui.HopGui; import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvLinkedTable; +import org.hopper.edw.datavault.metadata.DvModelLoadSupport; +import org.hopper.edw.datavault.metadata.DvTableResolutionSupport; +import org.hopper.edw.datavault.metadata.IDvTable; /** Navigates from a cross-model table reference to its source table in another or the same .hdv. */ public final class DvLinkedTableNavigationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvNoteDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvNoteDialog.java index 5052d2a6..9049676a 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvNoteDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvNoteDialog.java @@ -15,11 +15,6 @@ */ package org.hopper.edw.datavault.hopgui.file.vault; -import org.hopper.edw.datavault.hopgui.EnumDialogSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.DvNote; -import org.hopper.edw.datavault.metadata.DvNoteType; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -35,6 +30,11 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.EnumDialogSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.DvNote; +import org.hopper.edw.datavault.metadata.DvNoteType; /** Dialog to edit a Data Vault canvas note (type + text). */ public class DvNoteDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvNoteStyle.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvNoteStyle.java index 6aeec54b..8df81d4b 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvNoteStyle.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvNoteStyle.java @@ -16,10 +16,10 @@ package org.hopper.edw.datavault.hopgui.file.vault; import org.apache.hop.core.gui.IGc; -import org.hopper.edw.datavault.metadata.DvNoteType; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.gui.GuiResource; import org.eclipse.swt.graphics.Color; +import org.hopper.edw.datavault.metadata.DvNoteType; /** * Fixed visual styles for {@link org.hopper.edw.datavault.metadata.DvNote} types. Centralizes diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvReferenceTableDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvReferenceTableDialog.java index 9786553f..85495648 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvReferenceTableDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvReferenceTableDialog.java @@ -25,24 +25,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.hopgui.lineage.LineageTabSupport; -import org.hopper.edw.datavault.lineage.DvModelLineageCollector; -import org.hopper.edw.datavault.metadata.BusinessKey; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.DvDataTypeSupport; -import org.hopper.edw.datavault.metadata.DvIntegrationMode; -import org.hopper.edw.datavault.metadata.DvModelCheckOptions; -import org.hopper.edw.datavault.metadata.DvReferenceLoadMode; -import org.hopper.edw.datavault.metadata.DvReferenceTable; -import org.hopper.edw.datavault.metadata.IDvTable; -import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.hopper.edw.datavault.metadata.SourceField; -import org.hopper.edw.datavault.metadata.SourceFieldPrimaryKeySupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -69,6 +51,24 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.hopgui.lineage.LineageTabSupport; +import org.hopper.edw.datavault.lineage.DvModelLineageCollector; +import org.hopper.edw.datavault.metadata.BusinessKey; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.DvDataTypeSupport; +import org.hopper.edw.datavault.metadata.DvIntegrationMode; +import org.hopper.edw.datavault.metadata.DvModelCheckOptions; +import org.hopper.edw.datavault.metadata.DvReferenceLoadMode; +import org.hopper.edw.datavault.metadata.DvReferenceTable; +import org.hopper.edw.datavault.metadata.IDvTable; +import org.hopper.edw.datavault.metadata.SatelliteAttribute; +import org.hopper.edw.datavault.metadata.SourceField; +import org.hopper.edw.datavault.metadata.SourceFieldPrimaryKeySupport; /** * Dialog to edit a {@link DvReferenceTable}: natural keys, attributes, record sources, and load diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvSatelliteDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvSatelliteDialog.java index b4907d4f..afa9083a 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvSatelliteDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvSatelliteDialog.java @@ -25,25 +25,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.hopgui.lineage.LineageTabSupport; -import org.hopper.edw.datavault.lineage.DvModelLineageCollector; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.DvBusinessKeyPartSupport; -import org.hopper.edw.datavault.metadata.DvDataTypeSupport; -import org.hopper.edw.datavault.metadata.DvHub; -import org.hopper.edw.datavault.metadata.DvIntegrationMode; -import org.hopper.edw.datavault.metadata.DvModelCheckOptions; -import org.hopper.edw.datavault.metadata.DvSatellite; -import org.hopper.edw.datavault.metadata.DvSatelliteParentKeySupport; -import org.hopper.edw.datavault.metadata.DvTableType; -import org.hopper.edw.datavault.metadata.IDvTable; -import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -68,6 +49,25 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.hopgui.lineage.LineageTabSupport; +import org.hopper.edw.datavault.lineage.DvModelLineageCollector; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.DvBusinessKeyPartSupport; +import org.hopper.edw.datavault.metadata.DvDataTypeSupport; +import org.hopper.edw.datavault.metadata.DvHub; +import org.hopper.edw.datavault.metadata.DvIntegrationMode; +import org.hopper.edw.datavault.metadata.DvModelCheckOptions; +import org.hopper.edw.datavault.metadata.DvSatellite; +import org.hopper.edw.datavault.metadata.DvSatelliteParentKeySupport; +import org.hopper.edw.datavault.metadata.DvTableType; +import org.hopper.edw.datavault.metadata.IDvTable; +import org.hopper.edw.datavault.metadata.SatelliteAttribute; +import org.hopper.edw.datavault.metadata.SourceField; /** Dialog to edit the properties of a DvSatellite, including attributes list using TableView. */ public class DvSatelliteDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvSourceComboSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvSourceComboSupport.java index c3ab6190..d446a58d 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvSourceComboSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/DvSourceComboSupport.java @@ -20,12 +20,12 @@ import java.util.List; import java.util.concurrent.atomic.AtomicReference; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.hopgui.GuiBusySupport; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.widget.ColumnInfo; import org.eclipse.swt.widgets.Control; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.hopgui.GuiBusySupport; +import org.hopper.edw.datavault.metadata.DataVaultModel; /** * Builds Data Vault source CCOMBO columns that load catalog names only when the user focuses the diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiDataVaultModelDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiDataVaultModelDialog.java index 95d316b8..ca00ecfd 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiDataVaultModelDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiDataVaultModelDialog.java @@ -21,12 +21,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.DataVaultConfiguration; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DvDdlSupport; -import org.hopper.edw.datavault.metadata.ModelConfigurationExtractSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -50,6 +44,12 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.DataVaultConfiguration; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvDdlSupport; +import org.hopper.edw.datavault.metadata.ModelConfigurationExtractSupport; import org.jspecify.annotations.NonNull; /** Dialog to edit the properties of a DataVaultModel (description, configuration, etc). */ diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiDvDimensionalPublishSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiDvDimensionalPublishSupport.java index 90c8ef4c..8ce1bae7 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiDvDimensionalPublishSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiDvDimensionalPublishSupport.java @@ -20,12 +20,6 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; -import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.dimensional.publish.DvPublishModelSupport; -import org.hopper.edw.datavault.metadata.dimensional.publish.DvPublishOptions; -import org.hopper.edw.datavault.metadata.dimensional.publish.DvPublishResult; -import org.hopper.edw.datavault.metadata.dimensional.publish.DvToDimensionalPublish; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -33,6 +27,12 @@ import org.apache.hop.ui.core.dialog.MessageBox; import org.apache.hop.ui.hopgui.HopGui; import org.eclipse.swt.SWT; +import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.dimensional.publish.DvPublishModelSupport; +import org.hopper.edw.datavault.metadata.dimensional.publish.DvPublishOptions; +import org.hopper.edw.datavault.metadata.dimensional.publish.DvPublishResult; +import org.hopper.edw.datavault.metadata.dimensional.publish.DvToDimensionalPublish; /** GUI helper for publishing a Data Vault model to a draft dimensional model. */ public final class HopGuiDvDimensionalPublishSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultContext.java index 1e1ad78a..4eb77b92 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultContext.java @@ -20,9 +20,9 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.DataVaultModel; /** * Context handler for clicks on the background of the Data Vault graph. Allows @GuiContextAction diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultGraph.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultGraph.java index 7c226031..2bde62f1 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultGraph.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultGraph.java @@ -27,8 +27,6 @@ import java.util.Objects; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; -import org.hopper.edw.catalog.hopgui.perspective.importmenu.DataCatalogImportMenu; import org.apache.hop.core.Const; import org.apache.hop.core.DbCache; import org.apache.hop.core.ICheckResult; @@ -59,52 +57,6 @@ import org.apache.hop.core.variables.Variables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.command.svg.SvgExportService; -import org.hopper.edw.datavault.command.svg.SvgRenderOptions; -import org.hopper.edw.datavault.config.DataVaultConfigSingleton; -import org.hopper.edw.datavault.hopgui.ModelGeneratedArtifactOpenSupport; -import org.hopper.edw.datavault.hopgui.ModelTableLayoutPreviewSupport; -import org.hopper.edw.datavault.hopgui.ModelUpdateActionAuditSupport; -import org.hopper.edw.datavault.hopgui.ModelUpdateWorkflowClipboardSupport; -import org.hopper.edw.datavault.hopgui.ai.DvAiAdvisorDialog; -import org.hopper.edw.datavault.hopgui.coaching.ICoachableModelGraph; -import org.hopper.edw.datavault.hopgui.file.modelgraph.HopGuiModelGraphBase; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphHit; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphMouseInteractions; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphSnapshotUndo; -import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphWebCanvasData; -import org.hopper.edw.datavault.hopgui.file.vault.delegates.HopGuiVaultClipboardDelegate; -import org.hopper.edw.datavault.hopgui.file.vault.delegates.HopGuiVaultSnapshotUndo; -import org.hopper.edw.datavault.metadata.DataVaultConfiguration; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DvHub; -import org.hopper.edw.datavault.metadata.DvIntegerSettingValidationSupport; -import org.hopper.edw.datavault.metadata.DvIntegrationSupport; -import org.hopper.edw.datavault.metadata.DvLink; -import org.hopper.edw.datavault.metadata.DvLinkedTable; -import org.hopper.edw.datavault.metadata.DvLinkedTableSupport; -import org.hopper.edw.datavault.metadata.DvModelCheckOptions; -import org.hopper.edw.datavault.metadata.DvModelLoadSupport; -import org.hopper.edw.datavault.metadata.DvNote; -import org.hopper.edw.datavault.metadata.DvNoteType; -import org.hopper.edw.datavault.metadata.DvReferenceTable; -import org.hopper.edw.datavault.metadata.DvSatellite; -import org.hopper.edw.datavault.metadata.DvSpecialRecordSupport; -import org.hopper.edw.datavault.metadata.DvTableBase; -import org.hopper.edw.datavault.metadata.DvTableResolutionSupport; -import org.hopper.edw.datavault.metadata.DvTableType; -import org.hopper.edw.datavault.metadata.DvTargetLoadMode; -import org.hopper.edw.datavault.metadata.DvUpdateExecutionSupport; -import org.hopper.edw.datavault.metadata.DvUpdateWorkflowSupport; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; -import org.hopper.edw.datavault.metadata.IDvTable; -import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; -import org.hopper.edw.datavault.metadata.coaching.DvCoachingModelAdapter; -import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; -import org.hopper.edw.datavault.workflow.actions.datavaultupdate.ActionDataVaultUpdate; -import org.hopper.edw.datavault.workflow.actions.datavaultupdate.ActionDataVaultUpdateDialog; import org.apache.hop.history.AuditManager; import org.apache.hop.history.AuditState; import org.apache.hop.i18n.BaseMessages; @@ -152,6 +104,55 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; +import org.hopper.edw.catalog.hopgui.perspective.importmenu.DataCatalogImportMenu; +import org.hopper.edw.datavault.command.svg.SvgExportService; +import org.hopper.edw.datavault.command.svg.SvgRenderOptions; +import org.hopper.edw.datavault.config.DataVaultConfigSingleton; +import org.hopper.edw.datavault.hopgui.ModelGeneratedArtifactOpenSupport; +import org.hopper.edw.datavault.hopgui.ModelTableLayoutPreviewSupport; +import org.hopper.edw.datavault.hopgui.ModelUpdateActionAuditSupport; +import org.hopper.edw.datavault.hopgui.ModelUpdateWorkflowClipboardSupport; +import org.hopper.edw.datavault.hopgui.ai.DvAiAdvisorDialog; +import org.hopper.edw.datavault.hopgui.coaching.ICoachableModelGraph; +import org.hopper.edw.datavault.hopgui.file.modelgraph.HopGuiModelGraphBase; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelDialogValidationSupport; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphCanvasSvgResult; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphHit; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphMouseInteractions; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphSnapshotUndo; +import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphWebCanvasData; +import org.hopper.edw.datavault.hopgui.file.vault.delegates.HopGuiVaultClipboardDelegate; +import org.hopper.edw.datavault.hopgui.file.vault.delegates.HopGuiVaultSnapshotUndo; +import org.hopper.edw.datavault.metadata.DataVaultConfiguration; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvHub; +import org.hopper.edw.datavault.metadata.DvIntegerSettingValidationSupport; +import org.hopper.edw.datavault.metadata.DvIntegrationSupport; +import org.hopper.edw.datavault.metadata.DvLink; +import org.hopper.edw.datavault.metadata.DvLinkedTable; +import org.hopper.edw.datavault.metadata.DvLinkedTableSupport; +import org.hopper.edw.datavault.metadata.DvModelCheckOptions; +import org.hopper.edw.datavault.metadata.DvModelLoadSupport; +import org.hopper.edw.datavault.metadata.DvNote; +import org.hopper.edw.datavault.metadata.DvNoteType; +import org.hopper.edw.datavault.metadata.DvReadOnlyExistingVaultSupport; +import org.hopper.edw.datavault.metadata.DvReferenceTable; +import org.hopper.edw.datavault.metadata.DvSatellite; +import org.hopper.edw.datavault.metadata.DvSpecialRecordSupport; +import org.hopper.edw.datavault.metadata.DvTableBase; +import org.hopper.edw.datavault.metadata.DvTableResolutionSupport; +import org.hopper.edw.datavault.metadata.DvTableType; +import org.hopper.edw.datavault.metadata.DvTargetLoadMode; +import org.hopper.edw.datavault.metadata.DvUpdateExecutionSupport; +import org.hopper.edw.datavault.metadata.DvUpdateWorkflowSupport; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; +import org.hopper.edw.datavault.metadata.IDvTable; +import org.hopper.edw.datavault.metadata.coaching.CoachingSourceRef; +import org.hopper.edw.datavault.metadata.coaching.DvCoachingModelAdapter; +import org.hopper.edw.datavault.metadata.coaching.ICoachingModelAdapter; +import org.hopper.edw.datavault.workflow.actions.datavaultupdate.ActionDataVaultUpdate; +import org.hopper.edw.datavault.workflow.actions.datavaultupdate.ActionDataVaultUpdateDialog; import org.jspecify.annotations.Nullable; import org.w3c.dom.Node; @@ -889,6 +890,9 @@ public void runDataVaultUpdate() { if (model == null) { return; } + if (refuseReadOnlyExistingVaultUpdate()) { + return; + } if (!ensureModelSavedBeforeRun()) { return; } @@ -1106,6 +1110,20 @@ private static boolean hasCheckErrors(List remarks) { return remarks.stream().anyMatch(r -> r.getType() == ICheckResult.TYPE_RESULT_ERROR); } + /** + * Returns true when this model documents a read-only existing vault (update/DDL/debug refused). + */ + private boolean refuseReadOnlyExistingVaultUpdate() { + if (!DvReadOnlyExistingVaultSupport.isReadOnly(model)) { + return false; + } + MessageBox box = new MessageBox(hopGui.getShell(), SWT.OK | SWT.ICON_ERROR); + box.setText(BaseMessages.getString(PKG, "HopGuiVaultGraph.ReadOnlyExistingVault.Title")); + box.setMessage(DvReadOnlyExistingVaultSupport.refuseUpdateMessage()); + box.open(); + return true; + } + /** * Returns false when the model has check errors (dialog already shown) or check was cancelled. */ @@ -1142,6 +1160,9 @@ public void generateModelDdl() { if (model == null) { return; } + if (refuseReadOnlyExistingVaultUpdate()) { + return; + } List ddlStatements = new ArrayList<>(); for (IDvTable table : model.getTables()) { @@ -1208,6 +1229,9 @@ public void debugPipelines() { if (model == null) { return; } + if (refuseReadOnlyExistingVaultUpdate()) { + return; + } if (!validateModelForDebug()) { return; } @@ -1298,6 +1322,9 @@ private void debugStagingWorkflow(IVariables debugVariables) { } public void openUpdatePipeline(IDvTable table) { + if (refuseReadOnlyExistingVaultUpdate()) { + return; + } if (!validateModelForDebug()) { return; } diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultNoteContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultNoteContext.java index 9bc8740b..f3c664fb 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultNoteContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultNoteContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DvNote; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvNote; /** * Context handler for clicks on a note in the Data Vault graph. Allows {@code @GuiContextAction} diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultTableContext.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultTableContext.java index b946ac93..3d4d39c3 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultTableContext.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopGuiVaultTableContext.java @@ -20,10 +20,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.gui.plugin.action.GuiAction; import org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.IDvTable; import org.apache.hop.ui.hopgui.context.BaseGuiContextHandler; import org.apache.hop.ui.hopgui.context.IGuiContextHandler; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.IDvTable; /** * Context handler for clicks on a specific table (DvTable) icon body in the Data Vault graph (as diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopVaultFileType.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopVaultFileType.java index da14e87e..31111aaf 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopVaultFileType.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HopVaultFileType.java @@ -28,13 +28,6 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.StandardProjectElementsOfferSupport; -import org.hopper.edw.datavault.hopgui.file.ExplorerPerspectiveTabSupport; -import org.hopper.edw.datavault.hopgui.search.HopGuiDataVaultModelSearchable; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; -import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; -import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; @@ -52,6 +45,13 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; +import org.hopper.edw.datavault.hopgui.StandardProjectElementsOfferSupport; +import org.hopper.edw.datavault.hopgui.file.ExplorerPerspectiveTabSupport; +import org.hopper.edw.datavault.hopgui.search.HopGuiDataVaultModelSearchable; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; +import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; +import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HubSourceKeyFieldDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HubSourceKeyFieldDialog.java index bf281bc2..bd077841 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HubSourceKeyFieldDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/HubSourceKeyFieldDialog.java @@ -24,17 +24,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.BusinessKey; -import org.hopper.edw.datavault.metadata.BusinessKeySource; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.DrivingKeySource; -import org.hopper.edw.datavault.metadata.DvBusinessKeyPartSupport; -import org.hopper.edw.datavault.metadata.DvHub; -import org.hopper.edw.datavault.metadata.DvLink; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -52,6 +41,17 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.BusinessKey; +import org.hopper.edw.datavault.metadata.BusinessKeySource; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.DrivingKeySource; +import org.hopper.edw.datavault.metadata.DvBusinessKeyPartSupport; +import org.hopper.edw.datavault.metadata.DvHub; +import org.hopper.edw.datavault.metadata.DvLink; +import org.hopper.edw.datavault.metadata.SourceField; /** * Dialog to edit the source field mappings for one hub within one DvLinkHubSource. Allows diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/RecordSourceCatalogNavigationSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/RecordSourceCatalogNavigationSupport.java index 702b56fc..b49c42a7 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/RecordSourceCatalogNavigationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/RecordSourceCatalogNavigationSupport.java @@ -15,13 +15,9 @@ */ package org.hopper.edw.datavault.hopgui.file.vault; -import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.dialog.ErrorDialog; @@ -30,6 +26,10 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableItem; +import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.metadata.DataVaultModel; /** Opens a catalog Data Vault source (record definition) from a model dialog source list. */ public final class RecordSourceCatalogNavigationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/SatelliteSourceKeyFieldDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/SatelliteSourceKeyFieldDialog.java index 7e67125c..0dd4d865 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/SatelliteSourceKeyFieldDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/SatelliteSourceKeyFieldDialog.java @@ -22,18 +22,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.AttributeSource; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.DrivingKeySource; -import org.hopper.edw.datavault.metadata.DvLink; -import org.hopper.edw.datavault.metadata.DvSatellite; -import org.hopper.edw.datavault.metadata.DvTableType; -import org.hopper.edw.datavault.metadata.IDvTable; -import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -51,6 +39,18 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.AttributeSource; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.DrivingKeySource; +import org.hopper.edw.datavault.metadata.DvLink; +import org.hopper.edw.datavault.metadata.DvSatellite; +import org.hopper.edw.datavault.metadata.DvTableType; +import org.hopper.edw.datavault.metadata.IDvTable; +import org.hopper.edw.datavault.metadata.SatelliteAttribute; +import org.hopper.edw.datavault.metadata.SourceField; /** * Dialog to edit the source field mappings for one link satellite within one DvLinkSatelliteSource. diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/delegates/DataVaultClipboardPasteSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/delegates/DataVaultClipboardPasteSupport.java index 9f9adc0c..c60f9c22 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/delegates/DataVaultClipboardPasteSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/delegates/DataVaultClipboardPasteSupport.java @@ -24,13 +24,13 @@ import org.apache.hop.core.gui.IGuiPosition; import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; +import org.apache.hop.ui.core.PropsUi; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvLink; import org.hopper.edw.datavault.metadata.DvNote; import org.hopper.edw.datavault.metadata.DvSatellite; import org.hopper.edw.datavault.metadata.DvTableType; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.ui.core.PropsUi; /** Helpers for renaming and offsetting objects pasted onto a Data Vault model canvas. */ final class DataVaultClipboardPasteSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/delegates/HopGuiVaultClipboardDelegate.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/delegates/HopGuiVaultClipboardDelegate.java index 150c4fb5..8d8b3ba8 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/delegates/HopGuiVaultClipboardDelegate.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/delegates/HopGuiVaultClipboardDelegate.java @@ -25,6 +25,14 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.xml.XmlFormatter; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.apache.hop.ui.core.ConstUi; +import org.apache.hop.ui.core.PropsUi; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.core.gui.GuiResource; +import org.apache.hop.ui.hopgui.HopGui; import org.hopper.edw.datavault.hopgui.file.vault.HopGuiVaultGraph; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvHub; @@ -36,14 +44,6 @@ import org.hopper.edw.datavault.metadata.DvSatellite; import org.hopper.edw.datavault.metadata.DvTableType; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; -import org.apache.hop.ui.core.ConstUi; -import org.apache.hop.ui.core.PropsUi; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.core.gui.GuiResource; -import org.apache.hop.ui.hopgui.HopGui; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/delegates/HopGuiVaultSnapshotUndo.java b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/delegates/HopGuiVaultSnapshotUndo.java index f2db14e6..24e37fe6 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/delegates/HopGuiVaultSnapshotUndo.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/file/vault/delegates/HopGuiVaultSnapshotUndo.java @@ -16,10 +16,10 @@ package org.hopper.edw.datavault.hopgui.file.vault.delegates; import org.apache.hop.core.exception.HopException; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphSnapshotUndo; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Gzip-compressed XML snapshots of a {@link DataVaultModel} for undo/redo. */ public class HopGuiVaultSnapshotUndo { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/help/MarkdownHtmlRenderer.java b/src/main/java/org/hopper/edw/datavault/hopgui/help/MarkdownHtmlRenderer.java index 9e563647..5f1aec6e 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/help/MarkdownHtmlRenderer.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/help/MarkdownHtmlRenderer.java @@ -16,8 +16,8 @@ package org.hopper.edw.datavault.hopgui.help; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.hopgui.markdown.CommonMarkSupport; import org.apache.hop.ui.core.PropsUi; +import org.hopper.edw.datavault.hopgui.markdown.CommonMarkSupport; /** Converts markdown to HTML using CommonMark (mirrors hop-transform-textfile preview). */ public final class MarkdownHtmlRenderer { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/lineage/LineageTabSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/lineage/LineageTabSupport.java index aa1b50ce..eb8c8df2 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/lineage/LineageTabSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/lineage/LineageTabSupport.java @@ -23,13 +23,6 @@ import org.apache.hop.core.Props; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.GuiBusySupport; -import org.hopper.edw.datavault.lineage.FieldContribution; -import org.hopper.edw.datavault.lineage.FieldLineage; -import org.hopper.edw.datavault.lineage.LineageReason; -import org.hopper.edw.datavault.lineage.LineageSnapshot; -import org.hopper.edw.datavault.lineage.TableLineage; -import org.hopper.edw.datavault.lineage.TableSourceRef; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -51,6 +44,13 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.GuiBusySupport; +import org.hopper.edw.datavault.lineage.FieldContribution; +import org.hopper.edw.datavault.lineage.FieldLineage; +import org.hopper.edw.datavault.lineage.LineageReason; +import org.hopper.edw.datavault.lineage.LineageSnapshot; +import org.hopper.edw.datavault.lineage.TableLineage; +import org.hopper.edw.datavault.lineage.TableSourceRef; /** * Read-only Lineage tab for DV/BV/DM table dialogs: table reasons plus a field contribution grid. diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/lineage/ReverseLineageBrowserDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/lineage/ReverseLineageBrowserDialog.java index bfd6b2d1..d772d314 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/lineage/ReverseLineageBrowserDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/lineage/ReverseLineageBrowserDialog.java @@ -16,18 +16,9 @@ package org.hopper.edw.datavault.hopgui.lineage; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.resourcedefinition.ResourceDefinitionModelNavigationSupport; -import org.hopper.edw.datavault.lineage.ReverseLineageConsumer; -import org.hopper.edw.datavault.lineage.ReverseLineageIndex; -import org.hopper.edw.datavault.lineage.ReverseLineageIndexBuilder; -import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; -import org.hopper.edw.datavault.resourcedefinition.SourceUsage; -import org.hopper.edw.datavault.resourcedefinition.SourceUsageIndexBuilder; -import org.hopper.edw.datavault.resourcedefinition.ValidationModels; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.FormDataBuilder; @@ -47,6 +38,15 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.datavault.hopgui.resourcedefinition.ResourceDefinitionModelNavigationSupport; +import org.hopper.edw.datavault.lineage.ReverseLineageConsumer; +import org.hopper.edw.datavault.lineage.ReverseLineageIndex; +import org.hopper.edw.datavault.lineage.ReverseLineageIndexBuilder; +import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; +import org.hopper.edw.datavault.resourcedefinition.SourceUsage; +import org.hopper.edw.datavault.resourcedefinition.SourceUsageIndexBuilder; +import org.hopper.edw.datavault.resourcedefinition.ValidationModels; /** * Cross-model reverse lineage browser: filter by source feed/field and list DV/BV/DM consumers with diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/lineageview/LineageViewGuiPlugin.java b/src/main/java/org/hopper/edw/datavault/hopgui/lineageview/LineageViewGuiPlugin.java index 07ee5666..542bc215 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/lineageview/LineageViewGuiPlugin.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/lineageview/LineageViewGuiPlugin.java @@ -18,11 +18,11 @@ import org.apache.hop.core.action.GuiContextAction; import org.apache.hop.core.gui.plugin.GuiPlugin; import org.apache.hop.core.gui.plugin.action.GuiActionType; +import org.apache.hop.ui.hopgui.HopGui; import org.hopper.edw.datavault.hopgui.file.businessvault.HopGuiBusinessVaultTableContext; import org.hopper.edw.datavault.hopgui.file.dimensional.HopGuiDimensionalTableContext; import org.hopper.edw.datavault.hopgui.file.vault.HopGuiVaultTableContext; import org.hopper.edw.datavault.lineage.LineageLayer; -import org.apache.hop.ui.hopgui.HopGui; /** Table context actions that open an unsaved Hop Lineage View. */ @GuiPlugin(description = "i18n::LineageViewGuiPlugin.Description") diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/lineageview/LineageViewLaunchSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/lineageview/LineageViewLaunchSupport.java index 0b8351aa..8bf8e9d3 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/lineageview/LineageViewLaunchSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/lineageview/LineageViewLaunchSupport.java @@ -20,13 +20,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.file.lineageview.HopLineageViewFileType; -import org.hopper.edw.datavault.lineage.LineageLayer; -import org.hopper.edw.datavault.lineage.LineageSnapshot; -import org.hopper.edw.datavault.lineageview.HopLineageViewDocument; -import org.hopper.edw.datavault.lineageview.LineageBackendSelectionSupport; -import org.hopper.edw.datavault.lineageview.LineageViewSeedSupport; -import org.hopper.edw.datavault.metadata.lineage.LineageBackendMeta; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.api.IHopMetadataSerializer; @@ -35,6 +28,13 @@ import org.apache.hop.ui.core.dialog.MessageBox; import org.apache.hop.ui.hopgui.HopGui; import org.eclipse.swt.SWT; +import org.hopper.edw.datavault.hopgui.file.lineageview.HopLineageViewFileType; +import org.hopper.edw.datavault.lineage.LineageLayer; +import org.hopper.edw.datavault.lineage.LineageSnapshot; +import org.hopper.edw.datavault.lineageview.HopLineageViewDocument; +import org.hopper.edw.datavault.lineageview.LineageBackendSelectionSupport; +import org.hopper.edw.datavault.lineageview.LineageViewSeedSupport; +import org.hopper.edw.datavault.metadata.lineage.LineageBackendMeta; /** Opens an unsaved lineage view from a model table. */ public final class LineageViewLaunchSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/markdown/CommonMarkStyledTextVisitor.java b/src/main/java/org/hopper/edw/datavault/hopgui/markdown/CommonMarkStyledTextVisitor.java index 8212f0f3..8cc9c862 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/markdown/CommonMarkStyledTextVisitor.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/markdown/CommonMarkStyledTextVisitor.java @@ -19,9 +19,6 @@ import java.util.Comparator; import java.util.List; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.hopgui.widget.MarkdownStyleRenderer.RenderedMarkdown; -import org.hopper.edw.datavault.hopgui.widget.MarkdownStyleRenderer.SpanKind; -import org.hopper.edw.datavault.hopgui.widget.MarkdownStyleRenderer.StyleSpan; import org.commonmark.ext.gfm.tables.TableBlock; import org.commonmark.ext.gfm.tables.TableCell; import org.commonmark.ext.gfm.tables.TableRow; @@ -45,6 +42,9 @@ import org.commonmark.node.SoftLineBreak; import org.commonmark.node.StrongEmphasis; import org.commonmark.node.Text; +import org.hopper.edw.datavault.hopgui.widget.MarkdownStyleRenderer.RenderedMarkdown; +import org.hopper.edw.datavault.hopgui.widget.MarkdownStyleRenderer.SpanKind; +import org.hopper.edw.datavault.hopgui.widget.MarkdownStyleRenderer.StyleSpan; /** Walks a CommonMark AST and produces SWT StyledText display text and style spans. */ public final class CommonMarkStyledTextVisitor extends AbstractVisitor { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveAnalysisDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveAnalysisDialog.java index 35aa0a5c..a568b5de 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveAnalysisDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveAnalysisDialog.java @@ -26,12 +26,6 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; -import org.hopper.edw.datavault.hopgui.widget.MarkdownStyledTextComp; -import org.hopper.edw.datavault.metrics.live.PipelineLiveMetrics; -import org.hopper.edw.datavault.metrics.live.TransformLiveMetrics; -import org.hopper.edw.datavault.metrics.live.UpdateRunLiveRegistry; -import org.hopper.edw.datavault.metrics.live.UpdateRunLiveSnapshot; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.MessageBox; @@ -47,6 +41,12 @@ import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.hopgui.dialog.ShowRowsDialog; +import org.hopper.edw.datavault.hopgui.widget.MarkdownStyledTextComp; +import org.hopper.edw.datavault.metrics.live.PipelineLiveMetrics; +import org.hopper.edw.datavault.metrics.live.TransformLiveMetrics; +import org.hopper.edw.datavault.metrics.live.UpdateRunLiveRegistry; +import org.hopper.edw.datavault.metrics.live.UpdateRunLiveSnapshot; /** Shows a live snapshot of an in-flight model update run. */ public final class UpdateRunLiveAnalysisDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveDiagnosticsFormatter.java b/src/main/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveDiagnosticsFormatter.java index 9669d7c0..c2991a64 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveDiagnosticsFormatter.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveDiagnosticsFormatter.java @@ -19,6 +19,7 @@ import java.util.List; import java.util.concurrent.TimeUnit; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.datavault.hopgui.widget.MarkdownAsciiTable; import org.hopper.edw.datavault.hopgui.widget.MarkdownAsciiTable.Align; import org.hopper.edw.datavault.metrics.live.PipelineLiveMetrics; @@ -26,7 +27,6 @@ import org.hopper.edw.datavault.metrics.live.UpdateRunLiveBottleneck; import org.hopper.edw.datavault.metrics.live.UpdateRunLiveSnapshot; import org.hopper.edw.datavault.metrics.live.UpdateRunLiveState; -import org.apache.hop.i18n.BaseMessages; /** Formats live update snapshots as markdown for the analysis dialog and clipboard export. */ public final class UpdateRunLiveDiagnosticsFormatter { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveWorkflowPaintSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveWorkflowPaintSupport.java index 8fdbecde..66004dae 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveWorkflowPaintSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveWorkflowPaintSupport.java @@ -29,16 +29,16 @@ import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.svg.SvgFile; import org.apache.hop.core.util.Utils; +import org.apache.hop.workflow.WorkflowMeta; +import org.apache.hop.workflow.WorkflowPainter; +import org.apache.hop.workflow.action.ActionMeta; +import org.apache.hop.workflow.action.IAction; import org.hopper.edw.datavault.metrics.live.UpdateRunLiveRegistry; import org.hopper.edw.datavault.metrics.live.UpdateRunLiveSnapshot; import org.hopper.edw.datavault.metrics.live.UpdateRunLiveState; import org.hopper.edw.datavault.workflow.actions.businessvaultupdate.ActionBusinessVaultUpdate; import org.hopper.edw.datavault.workflow.actions.datavaultupdate.ActionDataVaultUpdate; import org.hopper.edw.datavault.workflow.actions.dimensionalupdate.ActionDimensionalUpdate; -import org.apache.hop.workflow.WorkflowMeta; -import org.apache.hop.workflow.WorkflowPainter; -import org.apache.hop.workflow.action.ActionMeta; -import org.apache.hop.workflow.action.IAction; /** Draws the live update badge on executing vault/dimensional update workflow actions. */ public final class UpdateRunLiveWorkflowPaintSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyCreateSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyCreateSupport.java index 21a86f67..10b73c22 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyCreateSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyCreateSupport.java @@ -18,14 +18,24 @@ import java.util.ArrayList; import java.util.List; import org.apache.commons.vfs2.FileObject; -import org.hopper.edw.catalog.hopgui.perspective.importmenu.DataCatalogImportMenu; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupModelDiscoverySupport; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.ui.core.dialog.BaseDialog; +import org.apache.hop.ui.core.dialog.EnterSelectionDialog; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.core.dialog.MessageBox; +import org.apache.hop.ui.core.metadata.MetadataManager; +import org.apache.hop.ui.hopgui.HopGui; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; +import org.eclipse.swt.SWT; +import org.hopper.edw.catalog.hopgui.perspective.importmenu.DataCatalogImportMenu; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupModelDiscoverySupport; import org.hopper.edw.datavault.hopgui.StandardProjectElementsOfferSupport; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; @@ -39,17 +49,7 @@ import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.quality.metadata.DataQualityRuleSetMeta; -import org.apache.hop.ui.core.dialog.BaseDialog; -import org.apache.hop.ui.core.dialog.EnterSelectionDialog; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.core.dialog.MessageBox; -import org.apache.hop.ui.core.metadata.MetadataManager; -import org.apache.hop.ui.hopgui.HopGui; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; -import org.eclipse.swt.SWT; /** Empty-stage create / add-to-group actions for the EDW Journey perspective. */ public final class EdwJourneyCreateSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyDetailsPanel.java b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyDetailsPanel.java index ca7e1da6..e9ec7bb1 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyDetailsPanel.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyDetailsPanel.java @@ -18,23 +18,10 @@ import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestRunSummary; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.hopgui.EdwDocsGuiPlugin; -import org.hopper.edw.datavault.hopgui.StandardProjectElementsOfferSupport; -import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyDocsSupport.DocLink; -import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyOpsOverlay.EdwJourneyProblem; -import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyOpsOverlay.LoadOverviewSummary; -import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyOpsOverlay.ModelLoadSummary; -import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyTreeNode.Kind; -import org.hopper.edw.datavault.metrics.LoadRunDurationMetricsLoader; -import org.hopper.edw.datavault.metrics.LoadRunDurationRun; -import org.hopper.edw.datavault.metrics.LoadRunDurationSnapshot; import org.apache.hop.i18n.BaseMessages; -import org.hopper.edw.quality.history.DataQualityHistoryReader.QualityRunSummary; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.ErrorDialog; import org.apache.hop.ui.core.gui.GuiResource; @@ -55,6 +42,19 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestRunSummary; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.datavault.hopgui.EdwDocsGuiPlugin; +import org.hopper.edw.datavault.hopgui.StandardProjectElementsOfferSupport; +import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyDocsSupport.DocLink; +import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyOpsOverlay.EdwJourneyProblem; +import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyOpsOverlay.LoadOverviewSummary; +import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyOpsOverlay.ModelLoadSummary; +import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyTreeNode.Kind; +import org.hopper.edw.datavault.metrics.LoadRunDurationMetricsLoader; +import org.hopper.edw.datavault.metrics.LoadRunDurationRun; +import org.hopper.edw.datavault.metrics.LoadRunDurationSnapshot; +import org.hopper.edw.quality.history.DataQualityHistoryReader.QualityRunSummary; /** Contextual details and Open actions for the selected EDW Journey node. */ public final class EdwJourneyDetailsPanel { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyIds.java b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyIds.java index 7bbd7798..0baa7377 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyIds.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyIds.java @@ -15,9 +15,9 @@ */ package org.hopper.edw.datavault.hopgui.perspective.journey; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; +import org.hopper.edw.catalog.model.RecordDefinitionKey; /** Stable tree node ids for selection restore and {@code select(group, nodeId)}. */ public final class EdwJourneyIds { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyNavigationSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyNavigationSupport.java index d0b02322..a4cc7dc7 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyNavigationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyNavigationSupport.java @@ -15,23 +15,23 @@ */ package org.hopper.edw.datavault.hopgui.perspective.journey; -import org.hopper.edw.catalog.hopgui.navigation.RecordOriginNavigationSupport; -import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; -import org.hopper.edw.catalog.hopgui.perspective.SchemaHarvestHistoryGuiSupport; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.model.RecordOrigin; -import org.hopper.edw.catalog.versioning.CatalogVersionGuiSupport; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; -import org.hopper.edw.datavault.hopgui.resourcedefinition.ResourceDefinitionValidationGuiSupport; -import org.hopper.edw.datavault.hopgui.search.ModelSearchOpenSupport; import org.apache.hop.ui.core.metadata.MetadataManager; import org.apache.hop.ui.hopgui.HopGui; import org.apache.hop.ui.hopgui.file.HopFileTypeRegistry; import org.apache.hop.ui.hopgui.file.IHopFileType; import org.apache.hop.ui.hopgui.perspective.metadata.MetadataPerspective; +import org.hopper.edw.catalog.hopgui.navigation.RecordOriginNavigationSupport; +import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; +import org.hopper.edw.catalog.hopgui.perspective.SchemaHarvestHistoryGuiSupport; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.model.RecordOrigin; +import org.hopper.edw.catalog.versioning.CatalogVersionGuiSupport; +import org.hopper.edw.datavault.hopgui.resourcedefinition.ResourceDefinitionValidationGuiSupport; +import org.hopper.edw.datavault.hopgui.search.ModelSearchOpenSupport; /** Opens existing Hop surfaces from an EDW Journey tree node. */ public final class EdwJourneyNavigationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyOpsDecorations.java b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyOpsDecorations.java index e2924ff5..50ea09f8 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyOpsDecorations.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyOpsDecorations.java @@ -17,9 +17,9 @@ import java.text.SimpleDateFormat; import java.util.Date; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestRunSummary; import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestRunSummary; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyOpsOverlay.LoadOverviewSummary; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyOpsOverlay.ModelLoadSummary; import org.hopper.edw.quality.history.DataQualityHistoryReader.QualityRunSummary; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyOpsOverlayLoader.java b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyOpsOverlayLoader.java index c2f2baf1..6bba01f4 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyOpsOverlayLoader.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyOpsOverlayLoader.java @@ -18,11 +18,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestRunSummary; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestSubjectSummary; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HistoryConnection; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.Const; import org.apache.hop.core.database.Database; import org.apache.hop.core.database.DatabaseMeta; @@ -31,13 +26,18 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestRunSummary; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestSubjectSummary; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HistoryConnection; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyOpsOverlay.EdwJourneyProblem; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyOpsOverlay.LoadOverviewSummary; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyOpsOverlay.ModelLoadSummary; import org.hopper.edw.datavault.metrics.LoadRunMetricsCatalogPublisher; import org.hopper.edw.datavault.metrics.MetricsAiContextBuilder; import org.hopper.edw.datavault.metrics.WorkflowLoadOverviewDdlSupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.quality.history.DataQualityHistoryReader; import org.hopper.edw.quality.history.DataQualityHistoryReader.FindingEntry; import org.hopper.edw.quality.history.DataQualityHistoryReader.QualityHistoryTablesMissingException; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyPerspective.java b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyPerspective.java index f6833f52..35f1e88b 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyPerspective.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyPerspective.java @@ -18,8 +18,6 @@ import java.util.ArrayList; import java.util.List; import lombok.Getter; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupModelDiscoverySupport; import org.apache.hop.core.Const; import org.apache.hop.core.Props; import org.apache.hop.core.exception.HopException; @@ -28,8 +26,6 @@ import org.apache.hop.core.gui.plugin.key.GuiOsxKeyboardShortcut; import org.apache.hop.core.gui.plugin.toolbar.GuiToolbarElement; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.hopgui.GuiBusySupport; -import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyTreeNode.Kind; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.api.IHopMetadataSerializer; @@ -56,6 +52,10 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Tree; import org.eclipse.swt.widgets.TreeItem; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupModelDiscoverySupport; +import org.hopper.edw.datavault.hopgui.GuiBusySupport; +import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyTreeNode.Kind; /** Hop GUI perspective for the EDW data journey of a resource definition group. */ @HopPerspectivePlugin( diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneySnapshotBuilder.java b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneySnapshotBuilder.java index 678fa63e..5797bcac 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneySnapshotBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneySnapshotBuilder.java @@ -23,6 +23,13 @@ import java.util.Locale; import java.util.Map; import org.apache.commons.vfs2.FileObject; +import org.apache.hop.core.Const; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupModelDiscoverySupport; import org.hopper.edw.catalog.model.RecordDefinition; @@ -31,11 +38,6 @@ import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.catalog.versioning.CatalogVersionEntry; import org.hopper.edw.catalog.versioning.CatalogVersionService; -import org.apache.hop.core.Const; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; -import org.apache.hop.core.vfs.HopVfs; import org.hopper.edw.datavault.catalog.DvSourceCatalogMapper; import org.hopper.edw.datavault.hopgui.file.lineageview.HopLineageViewFileType; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneySnapshot.CatalogFeed; @@ -53,8 +55,6 @@ import org.hopper.edw.datavault.resourcedefinition.SourceUsage; import org.hopper.edw.datavault.resourcedefinition.SourceUsageIndexBuilder; import org.hopper.edw.datavault.resourcedefinition.ValidationModels; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Loads one resource definition group's journey snapshot from metadata, models, and the project. diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyTreeBuilder.java b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyTreeBuilder.java index ba9f4650..c0be59da 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyTreeBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyTreeBuilder.java @@ -19,13 +19,13 @@ import java.util.List; import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneySnapshot.ActionRef; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneySnapshot.CatalogFeed; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneySnapshot.ModelRef; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneySnapshot.OutputRef; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneySnapshot.WorkflowRef; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyTreeNode.Kind; -import org.apache.hop.i18n.BaseMessages; /** Projects an {@link EdwJourneySnapshot} into a stable, ordered tree. */ public final class EdwJourneyTreeBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyWorkflowScanner.java b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyWorkflowScanner.java index 0d342fe0..038d7307 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyWorkflowScanner.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyWorkflowScanner.java @@ -25,10 +25,10 @@ import java.util.List; import java.util.Locale; import java.util.Set; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupModelDiscoverySupport; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.xml.XmlHandler; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupModelDiscoverySupport; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneySnapshot.ActionRef; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneySnapshot.WorkflowRef; import org.w3c.dom.Document; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/AcknowledgeValidationIssueDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/AcknowledgeValidationIssueDialog.java index bef0d478..63187cb7 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/AcknowledgeValidationIssueDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/AcknowledgeValidationIssueDialog.java @@ -16,8 +16,6 @@ package org.hopper.edw.datavault.hopgui.resourcedefinition; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -30,6 +28,8 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** Collects a required comment before acknowledging a validation issue. */ public final class AcknowledgeValidationIssueDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionIssueDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionIssueDialog.java index 9f4885c4..fa503c45 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionIssueDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionIssueDialog.java @@ -16,21 +16,9 @@ package org.hopper.edw.datavault.hopgui.resourcedefinition; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.model.RecordDefinition; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.resourcedefinition.RemediationProposalApplySupport; -import org.hopper.edw.datavault.resourcedefinition.RemediationProposalApplySupport.ApplyResult; -import org.hopper.edw.datavault.resourcedefinition.RemediationProposalApplySupport.ProposalContext; -import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueSeverity; -import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ProposalType; -import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; -import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RemediationProposal; -import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -52,6 +40,18 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.resourcedefinition.RemediationProposalApplySupport; +import org.hopper.edw.datavault.resourcedefinition.RemediationProposalApplySupport.ApplyResult; +import org.hopper.edw.datavault.resourcedefinition.RemediationProposalApplySupport.ProposalContext; +import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueSeverity; +import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ProposalType; +import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; +import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RemediationProposal; +import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; /** * Remediation proposals dialog for a single validation issue: read-only summary list on top, full diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionModelNavigationSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionModelNavigationSupport.java index d74c4020..11c90de0 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionModelNavigationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionModelNavigationSupport.java @@ -15,14 +15,14 @@ */ package org.hopper.edw.datavault.hopgui.resourcedefinition; -import org.hopper.edw.catalog.hopgui.navigation.RecordOriginNavigationSupport; -import org.hopper.edw.catalog.model.RecordOrigin; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.ui.hopgui.HopGui; +import org.hopper.edw.catalog.hopgui.navigation.RecordOriginNavigationSupport; +import org.hopper.edw.catalog.model.RecordOrigin; import org.hopper.edw.datavault.resourcedefinition.SourceUsage; import org.hopper.edw.datavault.resourcedefinition.SourceUsageIndexBuilder; -import org.apache.hop.ui.hopgui.HopGui; /** Opens DV, BV, or DM model elements referenced by validation usages. */ public final class ResourceDefinitionModelNavigationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionValidationGuiSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionValidationGuiSupport.java index ff6109ec..6a53453c 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionValidationGuiSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionValidationGuiSupport.java @@ -16,10 +16,15 @@ package org.hopper.edw.datavault.hopgui.resourcedefinition; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.hopgui.HopGui; +import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.hopper.edw.datavault.resourcedefinition.SchemaCompareMode; import org.hopper.edw.datavault.resourcedefinition.SchemaImpactSimulationRequest; import org.hopper.edw.datavault.resourcedefinition.SchemaImpactSimulationResult; @@ -27,11 +32,6 @@ import org.hopper.edw.datavault.resourcedefinition.SchemaValidationReportFileWriter; import org.hopper.edw.datavault.resourcedefinition.ValidationOptions; import org.hopper.edw.datavault.resourcedefinition.ValidationReport; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.hopgui.HopGui; -import org.eclipse.swt.widgets.Shell; /** GUI entry points for resource definition group validation with impact enrichment. */ public final class ResourceDefinitionValidationGuiSupport { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionValidationOptionsDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionValidationOptionsDialog.java index d8634dd4..43ea473c 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionValidationOptionsDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionValidationOptionsDialog.java @@ -17,19 +17,9 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.versioning.CatalogVersionEntry; -import org.hopper.edw.catalog.versioning.CatalogVersionService; import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.resourcedefinition.ParallelValidationSupport; -import org.hopper.edw.datavault.resourcedefinition.SchemaValidationReportFileWriter.ReportFormat; -import org.hopper.edw.datavault.resourcedefinition.ValidationOptions; -import org.hopper.edw.datavault.resourcedefinition.ValidationOptions.BaselineKind; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.PropsUi; @@ -50,6 +40,16 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Spinner; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.versioning.CatalogVersionEntry; +import org.hopper.edw.catalog.versioning.CatalogVersionService; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.resourcedefinition.ParallelValidationSupport; +import org.hopper.edw.datavault.resourcedefinition.SchemaValidationReportFileWriter.ReportFormat; +import org.hopper.edw.datavault.resourcedefinition.ValidationOptions; +import org.hopper.edw.datavault.resourcedefinition.ValidationOptions.BaselineKind; /** * Asks the DV administrator what baseline (truth) and which check axes to use before validating a diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionValidationResultsDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionValidationResultsDialog.java index a534ccb2..0b3d7225 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionValidationResultsDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ResourceDefinitionValidationResultsDialog.java @@ -18,23 +18,10 @@ import java.util.ArrayList; import java.util.Comparator; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.versioning.CatalogVersionGuiSupport; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.resourcedefinition.SchemaImpactSimulationResult; -import org.hopper.edw.datavault.resourcedefinition.SimulationStatus; -import org.hopper.edw.datavault.resourcedefinition.SourceUsage; -import org.hopper.edw.datavault.resourcedefinition.ValidationFindingFormatter; -import org.hopper.edw.datavault.resourcedefinition.ValidationOptions; -import org.hopper.edw.datavault.resourcedefinition.ValidationReport; -import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueSeverity; -import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; -import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.PropsUi; @@ -57,6 +44,19 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.versioning.CatalogVersionGuiSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.resourcedefinition.SchemaImpactSimulationResult; +import org.hopper.edw.datavault.resourcedefinition.SimulationStatus; +import org.hopper.edw.datavault.resourcedefinition.SourceUsage; +import org.hopper.edw.datavault.resourcedefinition.ValidationFindingFormatter; +import org.hopper.edw.datavault.resourcedefinition.ValidationOptions; +import org.hopper.edw.datavault.resourcedefinition.ValidationReport; +import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueSeverity; +import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; +import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; /** * Interactive validation / impact results: compact issue summaries on top, selected-issue details diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ValidationIssueGuiActions.java b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ValidationIssueGuiActions.java index 195e8e76..5e69f926 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ValidationIssueGuiActions.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/resourcedefinition/ValidationIssueGuiActions.java @@ -17,18 +17,18 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.ui.hopgui.HopGui; +import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.datavault.resourcedefinition.SourceUsage; import org.hopper.edw.datavault.resourcedefinition.ValidationAcknowledgementSupport; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.ui.hopgui.HopGui; /** Shared non-widget actions for validation issue navigation and acknowledgement. */ public final class ValidationIssueGuiActions { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiBusinessVaultModelSearchable.java b/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiBusinessVaultModelSearchable.java index e5b32a41..fc71ebd2 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiBusinessVaultModelSearchable.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiBusinessVaultModelSearchable.java @@ -17,10 +17,10 @@ import org.apache.hop.core.search.ISearchable; import org.apache.hop.core.search.ISearchableCallback; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.hopgui.file.businessvault.HopGuiBusinessVaultGraph; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; /** Project / open-tab searchable for a Business Vault model ({@code .hbv}). */ public class HopGuiBusinessVaultModelSearchable implements ISearchable { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiDataVaultModelSearchable.java b/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiDataVaultModelSearchable.java index 4473715b..026406c3 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiDataVaultModelSearchable.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiDataVaultModelSearchable.java @@ -17,10 +17,10 @@ import org.apache.hop.core.search.ISearchable; import org.apache.hop.core.search.ISearchableCallback; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; import org.hopper.edw.datavault.hopgui.file.vault.HopGuiVaultGraph; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; /** Project / open-tab searchable for a Data Vault model ({@code .hdv}). */ public class HopGuiDataVaultModelSearchable implements ISearchable { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiDimensionalModelSearchable.java b/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiDimensionalModelSearchable.java index 6b124277..15f4bffa 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiDimensionalModelSearchable.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiDimensionalModelSearchable.java @@ -17,10 +17,10 @@ import org.apache.hop.core.search.ISearchable; import org.apache.hop.core.search.ISearchableCallback; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.hopper.edw.datavault.hopgui.file.dimensional.HopGuiDimensionalModelGraph; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; /** Project / open-tab searchable for a dimensional model ({@code .hdm}). */ public class HopGuiDimensionalModelSearchable implements ISearchable { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiSourceModelSearchable.java b/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiSourceModelSearchable.java index 75875c6e..f90a097b 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiSourceModelSearchable.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/search/HopGuiSourceModelSearchable.java @@ -17,10 +17,10 @@ import org.apache.hop.core.search.ISearchable; import org.apache.hop.core.search.ISearchableCallback; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; import org.hopper.edw.datavault.hopgui.file.sourcemodel.HopGuiSourceModelGraph; import org.hopper.edw.datavault.hopgui.file.sourcemodel.HopSourceModelFileType; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; /** Project / open-tab searchable for a source model ({@code .hsm}). */ public class HopGuiSourceModelSearchable implements ISearchable { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/tovault/SourceToVaultGenerationSupport.java b/src/main/java/org/hopper/edw/datavault/hopgui/tovault/SourceToVaultGenerationSupport.java index 5c45b910..ded97454 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/tovault/SourceToVaultGenerationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/tovault/SourceToVaultGenerationSupport.java @@ -24,6 +24,17 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.apache.hop.ui.core.dialog.BaseDialog; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.core.dialog.MessageBox; +import org.apache.hop.ui.hopgui.HopGui; +import org.apache.hop.ui.hopgui.perspective.TabItemHandler; +import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Shell; import org.hopper.edw.datavault.hopgui.file.sourcemodel.HopGuiSourceModelGraph; import org.hopper.edw.datavault.hopgui.file.sourcemodel.HopSourceModelFileType; import org.hopper.edw.datavault.hopgui.file.vault.HopGuiVaultGraph; @@ -41,17 +52,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultApplyResult; import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultApplySupport; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; -import org.apache.hop.ui.core.dialog.BaseDialog; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.core.dialog.MessageBox; -import org.apache.hop.ui.hopgui.HopGui; -import org.apache.hop.ui.hopgui.perspective.TabItemHandler; -import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Shell; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/tovault/SourceToVaultReviewDialog.java b/src/main/java/org/hopper/edw/datavault/hopgui/tovault/SourceToVaultReviewDialog.java index e6313a99..2e0c3501 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/tovault/SourceToVaultReviewDialog.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/tovault/SourceToVaultReviewDialog.java @@ -21,18 +21,6 @@ import lombok.Getter; import org.apache.hop.core.Const; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceEndpointKind; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.tovault.ProposedObjectKind; -import org.hopper.edw.datavault.metadata.sourcemodel.tovault.ProposedVaultObject; -import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceTableRole; -import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultClassification; -import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultClassifier; -import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultOptions; -import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultProposal; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -47,6 +35,18 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceEndpointKind; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.tovault.ProposedObjectKind; +import org.hopper.edw.datavault.metadata.sourcemodel.tovault.ProposedVaultObject; +import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceTableRole; +import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultClassification; +import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultClassifier; +import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultOptions; +import org.hopper.edw.datavault.metadata.sourcemodel.tovault.SourceToVaultProposal; /** Review-and-apply screen for source-model → raw Data Vault proposals. */ public class SourceToVaultReviewDialog { diff --git a/src/main/java/org/hopper/edw/datavault/hopgui/widget/MarkdownStyledTextComp.java b/src/main/java/org/hopper/edw/datavault/hopgui/widget/MarkdownStyledTextComp.java index 9410ddf6..d099d76a 100644 --- a/src/main/java/org/hopper/edw/datavault/hopgui/widget/MarkdownStyledTextComp.java +++ b/src/main/java/org/hopper/edw/datavault/hopgui/widget/MarkdownStyledTextComp.java @@ -18,9 +18,6 @@ import java.util.ArrayList; import java.util.List; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.hopgui.widget.MarkdownStyleRenderer.RenderedMarkdown; -import org.hopper.edw.datavault.hopgui.widget.MarkdownStyleRenderer.SpanKind; -import org.hopper.edw.datavault.hopgui.widget.MarkdownStyleRenderer.StyleSpan; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.gui.GuiResource; import org.eclipse.swt.SWT; @@ -34,6 +31,9 @@ import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; +import org.hopper.edw.datavault.hopgui.widget.MarkdownStyleRenderer.RenderedMarkdown; +import org.hopper.edw.datavault.hopgui.widget.MarkdownStyleRenderer.SpanKind; +import org.hopper.edw.datavault.hopgui.widget.MarkdownStyleRenderer.StyleSpan; /** Read-only composite that renders markdown advice with SWT StyledText style ranges. */ public class MarkdownStyledTextComp extends Composite { diff --git a/src/main/java/org/hopper/edw/datavault/impact/ImpactGraph.java b/src/main/java/org/hopper/edw/datavault/impact/ImpactGraph.java index bc420f05..b80465a9 100644 --- a/src/main/java/org/hopper/edw/datavault/impact/ImpactGraph.java +++ b/src/main/java/org/hopper/edw/datavault/impact/ImpactGraph.java @@ -27,8 +27,8 @@ import java.util.Queue; import java.util.Set; import java.util.stream.Collectors; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.util.Utils; +import org.hopper.edw.catalog.model.RecordDefinitionKey; /** Immutable directed graph of source → DV → BV → DM dependencies. */ public final class ImpactGraph { diff --git a/src/main/java/org/hopper/edw/datavault/impact/ImpactGraphBuilder.java b/src/main/java/org/hopper/edw/datavault/impact/ImpactGraphBuilder.java index d61fa884..a53e83a8 100644 --- a/src/main/java/org/hopper/edw/datavault/impact/ImpactGraphBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/impact/ImpactGraphBuilder.java @@ -24,9 +24,9 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvHub; diff --git a/src/main/java/org/hopper/edw/datavault/jinja/BvSqlJinjaRenderSession.java b/src/main/java/org/hopper/edw/datavault/jinja/BvSqlJinjaRenderSession.java index 96d8ec73..5bcd949f 100644 --- a/src/main/java/org/hopper/edw/datavault/jinja/BvSqlJinjaRenderSession.java +++ b/src/main/java/org/hopper/edw/datavault/jinja/BvSqlJinjaRenderSession.java @@ -26,13 +26,13 @@ import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BvBusinessTable; import org.hopper.edw.datavault.metadata.businessvault.BvSqlRef; import org.hopper.edw.datavault.metadata.businessvault.BvSqlResolvedKind; import org.hopper.edw.datavault.metadata.businessvault.BvSqlSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Mutable per-render state shared with {@link DbtJinjaBuiltins}. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/jinja/BvSqlJinjaSupport.java b/src/main/java/org/hopper/edw/datavault/jinja/BvSqlJinjaSupport.java index 81ba9046..2f99ce5f 100644 --- a/src/main/java/org/hopper/edw/datavault/jinja/BvSqlJinjaSupport.java +++ b/src/main/java/org/hopper/edw/datavault/jinja/BvSqlJinjaSupport.java @@ -25,6 +25,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BvBusinessTable; @@ -32,8 +34,6 @@ import org.hopper.edw.datavault.metadata.businessvault.BvSqlTemplateParser; import org.hopper.edw.datavault.metadata.businessvault.BvTargetDatabaseSupport; import org.hopper.edw.datavault.metadata.jinja.JinjaMacroDefinition; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Renders Business Vault authoring SQL through sandboxed Jinja when the query is more than simple diff --git a/src/main/java/org/hopper/edw/datavault/jinja/DbtJinjaBuiltins.java b/src/main/java/org/hopper/edw/datavault/jinja/DbtJinjaBuiltins.java index 9a7ac68e..7b337096 100644 --- a/src/main/java/org/hopper/edw/datavault/jinja/DbtJinjaBuiltins.java +++ b/src/main/java/org/hopper/edw/datavault/jinja/DbtJinjaBuiltins.java @@ -17,10 +17,10 @@ import com.hubspot.jinjava.el.ext.NamedParameter; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.datavault.metadata.businessvault.BvSqlRef; import org.hopper.edw.datavault.metadata.businessvault.BvSqlRefResolver; import org.hopper.edw.datavault.metadata.businessvault.BvSqlSource; -import org.apache.hop.i18n.BaseMessages; /** * dbt-shaped Jinja functions registered on the sandboxed engine. They read the current {@link diff --git a/src/main/java/org/hopper/edw/datavault/jinja/JinjaMacroLibraryLoader.java b/src/main/java/org/hopper/edw/datavault/jinja/JinjaMacroLibraryLoader.java index 1b177006..3daecebe 100644 --- a/src/main/java/org/hopper/edw/datavault/jinja/JinjaMacroLibraryLoader.java +++ b/src/main/java/org/hopper/edw/datavault/jinja/JinjaMacroLibraryLoader.java @@ -21,13 +21,13 @@ import java.util.Locale; import java.util.Map; import org.apache.hop.core.util.Utils; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.api.IHopMetadataSerializer; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.jinja.JinjaMacroDefinition; import org.hopper.edw.datavault.metadata.jinja.JinjaMacroLibraryMeta; import org.hopper.edw.datavault.metadata.jinja.JinjaMacroVar; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.api.IHopMetadataSerializer; /** Loads enabled {@link JinjaMacroLibraryMeta} objects for a Business Vault render. */ public final class JinjaMacroLibraryLoader { diff --git a/src/main/java/org/hopper/edw/datavault/layout/BusinessVaultElkLayout.java b/src/main/java/org/hopper/edw/datavault/layout/BusinessVaultElkLayout.java index 445d16a6..e80b35f7 100644 --- a/src/main/java/org/hopper/edw/datavault/layout/BusinessVaultElkLayout.java +++ b/src/main/java/org/hopper/edw/datavault/layout/BusinessVaultElkLayout.java @@ -18,10 +18,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.plugin.GuiPlugin; import org.apache.hop.core.gui.plugin.toolbar.GuiToolbarElement; +import org.apache.hop.ui.hopgui.HopGui; import org.hopper.edw.datavault.hopgui.file.businessvault.HopGuiBusinessVaultGraph; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.apache.hop.ui.hopgui.HopGui; /** GUI plugin that applies ELK layout to the active Business Vault model graph. */ @GuiPlugin diff --git a/src/main/java/org/hopper/edw/datavault/layout/DimensionalElkLayout.java b/src/main/java/org/hopper/edw/datavault/layout/DimensionalElkLayout.java index 7308696c..d3278e6a 100644 --- a/src/main/java/org/hopper/edw/datavault/layout/DimensionalElkLayout.java +++ b/src/main/java/org/hopper/edw/datavault/layout/DimensionalElkLayout.java @@ -18,9 +18,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.plugin.GuiPlugin; import org.apache.hop.core.gui.plugin.toolbar.GuiToolbarElement; +import org.apache.hop.ui.hopgui.HopGui; import org.hopper.edw.datavault.hopgui.file.dimensional.HopGuiDimensionalModelGraph; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.ui.hopgui.HopGui; /** GUI plugin that applies ELK layout to the active dimensional model graph. */ @GuiPlugin diff --git a/src/main/java/org/hopper/edw/datavault/layout/DvPipelineElkLayout.java b/src/main/java/org/hopper/edw/datavault/layout/DvPipelineElkLayout.java index feb9107b..90aecebf 100644 --- a/src/main/java/org/hopper/edw/datavault/layout/DvPipelineElkLayout.java +++ b/src/main/java/org/hopper/edw/datavault/layout/DvPipelineElkLayout.java @@ -17,8 +17,8 @@ import java.util.List; import org.apache.hop.core.exception.HopException; -import org.hopper.edw.datavault.config.DataVaultConfigSingleton; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.config.DataVaultConfigSingleton; /** Applies {@link ElkLayout} to Hop {@link PipelineMeta} graphs using the Eclipse Layout Kernel. */ public final class DvPipelineElkLayout { diff --git a/src/main/java/org/hopper/edw/datavault/layout/ElkGraphLayout.java b/src/main/java/org/hopper/edw/datavault/layout/ElkGraphLayout.java index de3ad3fc..089bea29 100644 --- a/src/main/java/org/hopper/edw/datavault/layout/ElkGraphLayout.java +++ b/src/main/java/org/hopper/edw/datavault/layout/ElkGraphLayout.java @@ -24,6 +24,19 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.IGuiPosition; import org.apache.hop.core.util.Utils; +import org.apache.hop.pipeline.PipelineHopMeta; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; +import org.apache.hop.workflow.WorkflowHopMeta; +import org.apache.hop.workflow.WorkflowMeta; +import org.apache.hop.workflow.action.ActionMeta; +import org.eclipse.elk.core.RecursiveGraphLayoutEngine; +import org.eclipse.elk.core.math.ElkPadding; +import org.eclipse.elk.core.options.CoreOptions; +import org.eclipse.elk.core.util.BasicProgressMonitor; +import org.eclipse.elk.graph.ElkEdge; +import org.eclipse.elk.graph.ElkNode; +import org.eclipse.elk.graph.util.ElkGraphUtil; import org.hopper.edw.datavault.executionmap.ExecutionMapLayoutOptions; import org.hopper.edw.datavault.executionmap.ExecutionMapMetrics; import org.hopper.edw.datavault.metadata.DataVaultModel; @@ -49,19 +62,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; -import org.apache.hop.pipeline.PipelineHopMeta; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; -import org.apache.hop.workflow.WorkflowHopMeta; -import org.apache.hop.workflow.WorkflowMeta; -import org.apache.hop.workflow.action.ActionMeta; -import org.eclipse.elk.core.RecursiveGraphLayoutEngine; -import org.eclipse.elk.core.math.ElkPadding; -import org.eclipse.elk.core.options.CoreOptions; -import org.eclipse.elk.core.util.BasicProgressMonitor; -import org.eclipse.elk.graph.ElkEdge; -import org.eclipse.elk.graph.ElkNode; -import org.eclipse.elk.graph.util.ElkGraphUtil; /** * Applies {@link ElkLayout} to an abstract graph of {@link ElkLayoutNode} nodes and {@link diff --git a/src/main/java/org/hopper/edw/datavault/layout/ElkLayoutDialog.java b/src/main/java/org/hopper/edw/datavault/layout/ElkLayoutDialog.java index abb8d3cb..44cd6739 100644 --- a/src/main/java/org/hopper/edw/datavault/layout/ElkLayoutDialog.java +++ b/src/main/java/org/hopper/edw/datavault/layout/ElkLayoutDialog.java @@ -15,8 +15,6 @@ */ package org.hopper.edw.datavault.layout; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -33,6 +31,8 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** Dialog to configure ELK layout options before applying layout to a graph. */ public class ElkLayoutDialog { diff --git a/src/main/java/org/hopper/edw/datavault/layout/ElkLayoutGuiSupport.java b/src/main/java/org/hopper/edw/datavault/layout/ElkLayoutGuiSupport.java index 915cfc0f..3358517b 100644 --- a/src/main/java/org/hopper/edw/datavault/layout/ElkLayoutGuiSupport.java +++ b/src/main/java/org/hopper/edw/datavault/layout/ElkLayoutGuiSupport.java @@ -18,10 +18,10 @@ import java.util.List; import org.apache.hop.core.gui.IGuiPosition; import org.apache.hop.core.gui.Point; -import org.hopper.edw.datavault.config.DataVaultConfigSingleton; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.dialog.ErrorDialog; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.config.DataVaultConfigSingleton; /** Shared GUI helpers for ELK layout toolbar actions. */ public final class ElkLayoutGuiSupport { diff --git a/src/main/java/org/hopper/edw/datavault/layout/ElkLayoutValues.java b/src/main/java/org/hopper/edw/datavault/layout/ElkLayoutValues.java index fdf116d1..0b2e4bc0 100644 --- a/src/main/java/org/hopper/edw/datavault/layout/ElkLayoutValues.java +++ b/src/main/java/org/hopper/edw/datavault/layout/ElkLayoutValues.java @@ -15,10 +15,10 @@ */ package org.hopper.edw.datavault.layout; -import org.hopper.edw.datavault.hopgui.EnumDialogSupport; import org.apache.hop.metadata.api.IEnumHasCode; import org.apache.hop.metadata.api.IEnumHasCodeAndDescription; import org.eclipse.swt.widgets.Combo; +import org.hopper.edw.datavault.hopgui.EnumDialogSupport; /** Shared parsing and enum helpers for {@link ElkLayout} editors. */ public final class ElkLayoutValues { diff --git a/src/main/java/org/hopper/edw/datavault/layout/SourceElkLayout.java b/src/main/java/org/hopper/edw/datavault/layout/SourceElkLayout.java index 02ef0f8f..1843b482 100644 --- a/src/main/java/org/hopper/edw/datavault/layout/SourceElkLayout.java +++ b/src/main/java/org/hopper/edw/datavault/layout/SourceElkLayout.java @@ -18,9 +18,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.plugin.GuiPlugin; import org.apache.hop.core.gui.plugin.toolbar.GuiToolbarElement; +import org.apache.hop.ui.hopgui.HopGui; import org.hopper.edw.datavault.hopgui.file.sourcemodel.HopGuiSourceModelGraph; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.apache.hop.ui.hopgui.HopGui; /** GUI plugin that applies ELK layout to the active source model graph. */ @GuiPlugin diff --git a/src/main/java/org/hopper/edw/datavault/layout/VaultElkLayout.java b/src/main/java/org/hopper/edw/datavault/layout/VaultElkLayout.java index 4dd665fc..1c9b2a86 100644 --- a/src/main/java/org/hopper/edw/datavault/layout/VaultElkLayout.java +++ b/src/main/java/org/hopper/edw/datavault/layout/VaultElkLayout.java @@ -19,10 +19,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.plugin.GuiPlugin; import org.apache.hop.core.gui.plugin.toolbar.GuiToolbarElement; +import org.apache.hop.ui.hopgui.HopGui; import org.hopper.edw.datavault.hopgui.file.vault.HopGuiVaultGraph; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.ui.hopgui.HopGui; /** GUI plugin that applies ELK layout to the active Data Vault model graph. */ @GuiPlugin diff --git a/src/main/java/org/hopper/edw/datavault/lineage/DdlLineageExplainSupport.java b/src/main/java/org/hopper/edw/datavault/lineage/DdlLineageExplainSupport.java index bf04ac9b..037c17d6 100644 --- a/src/main/java/org/hopper/edw/datavault/lineage/DdlLineageExplainSupport.java +++ b/src/main/java/org/hopper/edw/datavault/lineage/DdlLineageExplainSupport.java @@ -21,11 +21,11 @@ import java.util.stream.Collectors; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Explains generated DDL using a {@link LineageSnapshot}: which model tables/fields (and source diff --git a/src/main/java/org/hopper/edw/datavault/lineage/DmModelLineageCollector.java b/src/main/java/org/hopper/edw/datavault/lineage/DmModelLineageCollector.java index 493298fb..0b77a4a2 100644 --- a/src/main/java/org/hopper/edw/datavault/lineage/DmModelLineageCollector.java +++ b/src/main/java/org/hopper/edw/datavault/lineage/DmModelLineageCollector.java @@ -19,6 +19,7 @@ import java.util.UUID; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.catalog.CatalogModelRegistrySupport; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; @@ -35,7 +36,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DmSourceConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DmTableType; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Builds a {@link LineageSnapshot} from a dimensional (Kimball) model. */ public final class DmModelLineageCollector { diff --git a/src/main/java/org/hopper/edw/datavault/lineage/DvModelLineageCollector.java b/src/main/java/org/hopper/edw/datavault/lineage/DvModelLineageCollector.java index 693e60de..b721d6bd 100644 --- a/src/main/java/org/hopper/edw/datavault/lineage/DvModelLineageCollector.java +++ b/src/main/java/org/hopper/edw/datavault/lineage/DvModelLineageCollector.java @@ -24,6 +24,7 @@ import java.util.stream.Collectors; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.catalog.CatalogModelRegistrySupport; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.metadata.AttributeSource; @@ -41,7 +42,6 @@ import org.hopper.edw.datavault.metadata.IDvTable; import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Builds a {@link LineageSnapshot} from a Data Vault model by walking hubs, links, and satellites. diff --git a/src/main/java/org/hopper/edw/datavault/lineage/LineageCatalogBaselineLoader.java b/src/main/java/org/hopper/edw/datavault/lineage/LineageCatalogBaselineLoader.java index 281c632d..0f47a52b 100644 --- a/src/main/java/org/hopper/edw/datavault/lineage/LineageCatalogBaselineLoader.java +++ b/src/main/java/org/hopper/edw/datavault/lineage/LineageCatalogBaselineLoader.java @@ -19,15 +19,15 @@ import com.fasterxml.jackson.databind.ObjectMapper; import java.util.List; import java.util.Map; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.model.CatalogCustomProperty; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionQuery; import org.hopper.edw.catalog.model.RecordDefinitionRef; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Loads a baseline {@link LineageSnapshot} from previously published lineage sibling catalog diff --git a/src/main/java/org/hopper/edw/datavault/lineage/LineageCatalogPublisher.java b/src/main/java/org/hopper/edw/datavault/lineage/LineageCatalogPublisher.java index 5f70c473..6ed4af14 100644 --- a/src/main/java/org/hopper/edw/datavault/lineage/LineageCatalogPublisher.java +++ b/src/main/java/org/hopper/edw/datavault/lineage/LineageCatalogPublisher.java @@ -22,18 +22,18 @@ import java.util.List; import java.util.Map; import lombok.Getter; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.model.CatalogCustomProperty; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.catalog.model.RecordOrigin; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.catalog.CatalogModelRegistrySupport; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Publishes derived {@link LineageSnapshot} content as sibling catalog records under {@code diff --git a/src/main/java/org/hopper/edw/datavault/lineage/LineageDiffService.java b/src/main/java/org/hopper/edw/datavault/lineage/LineageDiffService.java index 1448d6e4..c9a9a9eb 100644 --- a/src/main/java/org/hopper/edw/datavault/lineage/LineageDiffService.java +++ b/src/main/java/org/hopper/edw/datavault/lineage/LineageDiffService.java @@ -20,6 +20,7 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.catalog.BvCatalogNamespaces; import org.hopper.edw.datavault.catalog.DmCatalogNamespaces; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; @@ -27,7 +28,6 @@ import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.resourcedefinition.ValidationModels; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Builds current lineage from loaded models and diffs against catalog-published lineage baselines. diff --git a/src/main/java/org/hopper/edw/datavault/lineage/ReverseLineageIndexBuilder.java b/src/main/java/org/hopper/edw/datavault/lineage/ReverseLineageIndexBuilder.java index c5961394..a7a87ce1 100644 --- a/src/main/java/org/hopper/edw/datavault/lineage/ReverseLineageIndexBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/lineage/ReverseLineageIndexBuilder.java @@ -23,11 +23,11 @@ import java.util.stream.Collectors; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.resourcedefinition.ValidationModels; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Builds a {@link ReverseLineageIndex} from model-derived lineage, including one-hop expansion so a diff --git a/src/main/java/org/hopper/edw/datavault/lineageview/HopLineageViewDocument.java b/src/main/java/org/hopper/edw/datavault/lineageview/HopLineageViewDocument.java index 2c42c511..45ad292a 100644 --- a/src/main/java/org/hopper/edw/datavault/lineageview/HopLineageViewDocument.java +++ b/src/main/java/org/hopper/edw/datavault/lineageview/HopLineageViewDocument.java @@ -24,14 +24,14 @@ import org.apache.hop.core.gui.IUndo; import org.apache.hop.core.gui.Point; import org.apache.hop.core.undo.ChangeAction; +import org.apache.hop.metadata.api.HopMetadataBase; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadata; import org.hopper.edw.datavault.lineage.LineageLayer; import org.hopper.edw.datavault.lineageview.backend.LineageDirection; import org.hopper.edw.datavault.lineageview.backend.LineageGranularity; import org.hopper.edw.datavault.lineageview.backend.LineageGraphLayer; import org.hopper.edw.datavault.lineageview.backend.LineageSeedKind; -import org.apache.hop.metadata.api.HopMetadataBase; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadata; /** Authorable Hop Lineage View definition. The graph itself is not persisted. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/lineageview/LineageBackendSelectionSupport.java b/src/main/java/org/hopper/edw/datavault/lineageview/LineageBackendSelectionSupport.java index e5af5ad8..8adfcdee 100644 --- a/src/main/java/org/hopper/edw/datavault/lineageview/LineageBackendSelectionSupport.java +++ b/src/main/java/org/hopper/edw/datavault/lineageview/LineageBackendSelectionSupport.java @@ -19,9 +19,9 @@ import java.util.List; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.lineage.LineageBackendMeta; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.api.IHopMetadataSerializer; +import org.hopper.edw.datavault.metadata.lineage.LineageBackendMeta; /** Lists lineage backends and picks the single enabled one when a view has no backend yet. */ public final class LineageBackendSelectionSupport { diff --git a/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewNavigationSupport.java b/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewNavigationSupport.java index de63121e..338e3fc4 100644 --- a/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewNavigationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewNavigationSupport.java @@ -15,13 +15,17 @@ */ package org.hopper.edw.datavault.lineageview; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.hopgui.HopGui; +import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; +import org.eclipse.swt.widgets.Display; import org.hopper.edw.catalog.hopgui.navigation.RecordOriginNavigationSupport; import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordOrigin; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.hopgui.file.businessvault.HopGuiBusinessVaultGraph; import org.hopper.edw.datavault.hopgui.file.dimensional.DmDimensionAliasNavigationSupport; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; @@ -39,10 +43,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.DmDimensionAlias; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.hopgui.HopGui; -import org.apache.hop.ui.hopgui.file.IHopFileTypeHandler; -import org.eclipse.swt.widgets.Display; /** Maps lineage facets to existing Hop openers. */ public final class LineageViewNavigationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewOpsOverlay.java b/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewOpsOverlay.java index 4ef1548b..696d7158 100644 --- a/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewOpsOverlay.java +++ b/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewOpsOverlay.java @@ -25,6 +25,7 @@ import lombok.Value; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.lineageview.backend.HopExportFacet; import org.hopper.edw.datavault.lineageview.backend.HopOpsFacet; import org.hopper.edw.datavault.lineageview.backend.LineageGraph; @@ -33,7 +34,6 @@ import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; import org.hopper.edw.datavault.metrics.LoadRunDurationMetricsLoader; import org.hopper.edw.datavault.metrics.LoadRunDurationSnapshot; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * OPS last-load overlay for a lineage graph. Groups nodes by {@code (modelName, dv|bv|dm)} and diff --git a/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewPersistence.java b/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewPersistence.java index 1034aeb5..d0638a44 100644 --- a/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewPersistence.java +++ b/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewPersistence.java @@ -18,11 +18,11 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.catalog.CatalogModelRegistrySupport; import org.hopper.edw.datavault.hopgui.file.lineageview.HopLineageViewFileType; import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewSeedSupport.java b/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewSeedSupport.java index 352624ea..fac51c01 100644 --- a/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewSeedSupport.java +++ b/src/main/java/org/hopper/edw/datavault/lineageview/LineageViewSeedSupport.java @@ -18,6 +18,7 @@ import java.util.List; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.lineage.BvModelLineageCollector; import org.hopper.edw.datavault.lineage.DmModelLineageCollector; @@ -37,7 +38,6 @@ import org.hopper.edw.datavault.metadata.lineage.LocalModelsBackendSettings; import org.hopper.edw.datavault.metadata.lineage.MarquezBackendSettings; import org.hopper.edw.datavault.openlineage.OpenLineageSnapshotMapper; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Resolves OpenLineage seed ids from a view definition and the current backend. */ public final class LineageViewSeedSupport { diff --git a/src/main/java/org/hopper/edw/datavault/lineageview/backend/LineageQueryServiceFactory.java b/src/main/java/org/hopper/edw/datavault/lineageview/backend/LineageQueryServiceFactory.java index 3db527fe..f4abed8d 100644 --- a/src/main/java/org/hopper/edw/datavault/lineageview/backend/LineageQueryServiceFactory.java +++ b/src/main/java/org/hopper/edw/datavault/lineageview/backend/LineageQueryServiceFactory.java @@ -19,13 +19,13 @@ import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.lineageview.backend.marquez.MarquezLineageQueryService; import org.hopper.edw.datavault.metadata.lineage.FileFolderBackendSettings; import org.hopper.edw.datavault.metadata.lineage.ILineageBackendSettings; import org.hopper.edw.datavault.metadata.lineage.LineageBackendMeta; import org.hopper.edw.datavault.metadata.lineage.LocalModelsBackendSettings; import org.hopper.edw.datavault.metadata.lineage.MarquezBackendSettings; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Opens a headless {@link ILineageQueryService} for a lineage-backend metadata object. */ public final class LineageQueryServiceFactory { diff --git a/src/main/java/org/hopper/edw/datavault/lineageview/backend/LocalModelsLineageQueryService.java b/src/main/java/org/hopper/edw/datavault/lineageview/backend/LocalModelsLineageQueryService.java index 2b5effe7..145f6974 100644 --- a/src/main/java/org/hopper/edw/datavault/lineageview/backend/LocalModelsLineageQueryService.java +++ b/src/main/java/org/hopper/edw/datavault/lineageview/backend/LocalModelsLineageQueryService.java @@ -22,10 +22,11 @@ import java.util.Map; import java.util.Optional; import java.util.UUID; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.hopper.edw.datavault.lineage.BvModelLineageCollector; import org.hopper.edw.datavault.lineage.DmModelLineageCollector; import org.hopper.edw.datavault.lineage.DvModelLineageCollector; @@ -35,7 +36,6 @@ import org.hopper.edw.datavault.openlineage.OpenLineageSnapshotMapper; import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.hopper.edw.datavault.resourcedefinition.ValidationModels; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Builds a lineage graph from current DV/BV/DM collectors. No HopGui — unsaved models enter as diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DataVaultConfiguration.java b/src/main/java/org/hopper/edw/datavault/metadata/DataVaultConfiguration.java index 4648f230..fb12c5ca 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DataVaultConfiguration.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DataVaultConfiguration.java @@ -20,7 +20,6 @@ import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.gui.plugin.GuiElementType; import org.apache.hop.core.gui.plugin.GuiPlugin; @@ -35,6 +34,7 @@ import org.apache.hop.metadata.api.HopMetadataPropertyType; import org.apache.hop.metadata.api.IHopMetadata; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; /** * Configuration for Data Vault 2.0 physical implementation and update strategy. @@ -115,6 +115,19 @@ public class DataVaultConfiguration extends HopMetadataBase @HopMetadataProperty(key = "targetDatabase") private String targetDatabase; + /** + * When true, models that use this configuration document an already-built raw vault. Hop must not + * generate DDL or load pipelines; model check keeps referential integrity only. + */ + @GuiWidgetElement( + order = "0055", + type = GuiElementType.CHECKBOX, + label = "i18n::DataVaultConfiguration.ReadOnlyExistingVault.Label", + toolTip = "i18n::DataVaultConfiguration.ReadOnlyExistingVault.ToolTip", + parentId = GUI_PLUGIN_ELEMENT_GENERAL_TAB_ID) + @HopMetadataProperty + private boolean readOnlyExistingVault; + @GuiWidgetElement( order = "0060", type = GuiElementType.METADATA, diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DataVaultConfigurationSearchableAnalyser.java b/src/main/java/org/hopper/edw/datavault/metadata/DataVaultConfigurationSearchableAnalyser.java index 51edfa77..f61f7a8f 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DataVaultConfigurationSearchableAnalyser.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DataVaultConfigurationSearchableAnalyser.java @@ -74,6 +74,15 @@ public List search( "hash algorithm", configuration.getHashAlgorithm(), getMetadataComponent()); + if (configuration.isReadOnlyExistingVault()) { + matchProperty( + searchable, + results, + searchQuery, + "read-only existing vault", + "true", + getMetadataComponent()); + } return results; } } diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DataVaultModel.java b/src/main/java/org/hopper/edw/datavault/metadata/DataVaultModel.java index 8b25b93d..03252d7b 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DataVaultModel.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DataVaultModel.java @@ -45,8 +45,6 @@ import org.apache.hop.core.util.StringUtil; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.metadata.coaching.ModelCoachingConfiguration; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; @@ -54,6 +52,8 @@ import org.apache.hop.metadata.api.IHopMetadata; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.metadata.coaching.ModelCoachingConfiguration; import org.jspecify.annotations.NonNull; /** @@ -152,6 +152,10 @@ public DataVaultConfiguration getConfigurationOrDefault() { return configuration; } + public boolean isReadOnlyExistingVault() { + return DvReadOnlyExistingVaultSupport.isReadOnly(this); + } + public ModelCoachingConfiguration getCoachingOrDefault() { if (coaching == null) { coaching = ModelCoachingConfiguration.createEmpty(); @@ -300,15 +304,28 @@ public List check( configuration, metadataProvider, DataVaultConfiguration.class); - List sourceNames = - loadDataVaultSourceNames(metadataProvider, variables, remarks, options.getCache()); + boolean readOnly = DvReadOnlyExistingVaultSupport.isReadOnly(this); + if (readOnly) { + remarks.add( + new CheckResult( + ICheckResult.TYPE_RESULT_OK, + BaseMessages.getString(PKG, "DataVaultModel.CheckResult.ReadOnlyExistingVault"), + null)); + } + List sourceNames = new ArrayList<>(); + if (!readOnly) { + sourceNames = + loadDataVaultSourceNames(metadataProvider, variables, remarks, options.getCache()); + } if (monitor.isCanceled()) { return remarks; } - checkTargetDatabase(remarks, metadataProvider, variables, options.getCache()); - checkTargetLoadMode(remarks, metadataProvider); - checkTargetLoadModeGuidance(remarks, variables, metadataProvider); - checkTargetLoadingIntegerSettings(remarks, variables); + checkTargetDatabase(remarks, metadataProvider, variables, options.getCache(), !readOnly); + if (!readOnly) { + checkTargetLoadMode(remarks, metadataProvider); + checkTargetLoadModeGuidance(remarks, variables, metadataProvider); + checkTargetLoadingIntegerSettings(remarks, variables); + } checkTablesPresent(remarks); checkTables( remarks, metadataProvider, variables, collectDefinedHubAndLinkNames(), options, monitor); @@ -316,7 +333,9 @@ public List check( checkDuplicateTableNames(remarks); checkDuplicateTargetTableNames(remarks); checkDuplicateStsTableNames(remarks, variables); - checkDuplicateSourceNames(remarks, sourceNames); + if (!readOnly) { + checkDuplicateSourceNames(remarks, sourceNames); + } } return remarks; } finally { @@ -480,7 +499,8 @@ private void checkTargetDatabase( List remarks, IHopMetadataProvider metadataProvider, IVariables variables, - DvModelCheckCache cache) { + DvModelCheckCache cache, + boolean includeUnicodeCapability) { DataVaultConfiguration config = getConfigurationOrDefault(); if (Utils.isEmpty(config.getTargetDatabase())) { remarks.add( @@ -502,8 +522,10 @@ private void checkTargetDatabase( try { org.apache.hop.core.database.DatabaseMeta targetDatabase = DvSpecialRecordSupport.loadTargetDatabase(metadataProvider, config); - DvTargetUnicodeCapabilitySupport.checkTargetUnicodeCapability( - remarks, targetDatabase, variables, config.getTargetDatabase(), cache); + if (includeUnicodeCapability) { + DvTargetUnicodeCapabilitySupport.checkTargetUnicodeCapability( + remarks, targetDatabase, variables, config.getTargetDatabase(), cache); + } } catch (HopException e) { remarks.add( new CheckResult( diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DataVaultSource.java b/src/main/java/org/hopper/edw/datavault/metadata/DataVaultSource.java index 836b6000..6bfe1598 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DataVaultSource.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DataVaultSource.java @@ -22,9 +22,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; import org.apache.hop.metadata.api.IHasName; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; /** * In-memory Data Vault record source loaded from the data catalog: DV semantics (indicator, group) diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvConstraintDdlSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvConstraintDdlSupport.java index dfad4c00..afd8bb57 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvConstraintDdlSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvConstraintDdlSupport.java @@ -23,6 +23,7 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BvBusinessTable; @@ -45,7 +46,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DmSurrogateKeySupport; import org.hopper.edw.datavault.metadata.dimensional.DmTableBase; import org.hopper.edw.datavault.metadata.dimensional.IDmFactLikeTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Resolves optional primary-key and foreign-key columns for Data Vault, Business Vault, and diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseHubSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseHubSourcePipelineBuilder.java index 5715bb56..6e242d6e 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseHubSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseHubSourcePipelineBuilder.java @@ -23,10 +23,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSourcePipelineBuilder; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSourcePipelineBuilder; @Getter @Setter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseLinkSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseLinkSourcePipelineBuilder.java index 1fda137f..6f6f338d 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseLinkSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseLinkSourcePipelineBuilder.java @@ -25,10 +25,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSourcePipelineBuilder; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSourcePipelineBuilder; @Getter @Setter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseReferenceSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseReferenceSourcePipelineBuilder.java index aad41383..80481a69 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseReferenceSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseReferenceSourcePipelineBuilder.java @@ -25,10 +25,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSourcePipelineBuilder; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSourcePipelineBuilder; /** Database source leg for {@link DvReferenceTable} FULL_REPLACE loads. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseSatelliteSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseSatelliteSourcePipelineBuilder.java index 18a74e68..3f3f12a8 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseSatelliteSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvDatabaseSatelliteSourcePipelineBuilder.java @@ -25,10 +25,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSourcePipelineBuilder; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSourcePipelineBuilder; public class DvDatabaseSatelliteSourcePipelineBuilder extends DvDatabaseSourcePipelineBuilder { public DvDatabaseSatelliteSourcePipelineBuilder( diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvFieldMappingValidationSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvFieldMappingValidationSupport.java index f363fe1d..7c6019b2 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvFieldMappingValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvFieldMappingValidationSupport.java @@ -34,11 +34,11 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.config.DataVaultConfigSingleton; import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceLiveSchemaSupport; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Validates source-to-target field type mappings for Data Vault load pipelines. */ public final class DvFieldMappingValidationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvGeneratedPipelineSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvGeneratedPipelineSupport.java index d86f1f89..02fb1dc5 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvGeneratedPipelineSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvGeneratedPipelineSupport.java @@ -23,9 +23,9 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; -import org.hopper.edw.datavault.layout.DvPipelineElkLayout; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.workflow.WorkflowMeta; +import org.hopper.edw.datavault.layout.DvPipelineElkLayout; /** Saves generated update pipelines and workflows when configured to do so. */ public final class DvGeneratedPipelineSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvHub.java b/src/main/java/org/hopper/edw/datavault/metadata/DvHub.java index 008f2f1c..72f64f75 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvHub.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvHub.java @@ -50,10 +50,6 @@ import org.apache.hop.core.row.value.ValueMetaTimestamp; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMeta; -import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMetaFactory; -import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHasName; @@ -69,6 +65,10 @@ import org.apache.hop.pipeline.transforms.filterrows.FilterRowsMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.apache.hop.workflow.WorkflowMeta; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMeta; +import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMetaFactory; +import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; import org.jspecify.annotations.NonNull; /** @@ -196,7 +196,7 @@ public void check( DataVaultModel model) { super.check(remarks, metadataProvider, variables, options, model); - if (!DvIntegrationSupport.relaxesSourceValidation(this)) { + if (!DvIntegrationSupport.relaxesSourceValidation(this, model)) { if (recordSources == null || recordSources.isEmpty()) { remarks.add( new CheckResult( @@ -262,7 +262,7 @@ public void check( // Validate that source field(s) (sourceFieldNames / sourceFieldName or fallback to name) // of this business key exist in the DataVaultSource referenced by its recordSourceName. - if (DvIntegrationSupport.relaxesSourceValidation(this)) { + if (DvIntegrationSupport.relaxesSourceValidation(this, model)) { continue; } List sourceParts = bk.resolveSourceParts(); @@ -368,11 +368,20 @@ public void check( } if (Utils.isEmpty(hashKeyFieldName)) { - remarks.add( - new CheckResult( - ICheckResult.TYPE_RESULT_COMMENT, - BaseMessages.getString(PKG, "DvHub.CheckResult.NoHashKeyFieldName"), - this)); + if (DvReadOnlyExistingVaultSupport.isReadOnly(model)) { + remarks.add( + new CheckResult( + ICheckResult.TYPE_RESULT_ERROR, + BaseMessages.getString( + PKG, "DvHub.CheckResult.ReadOnlyMissingHashKeyFieldName", getName()), + this)); + } else { + remarks.add( + new CheckResult( + ICheckResult.TYPE_RESULT_COMMENT, + BaseMessages.getString(PKG, "DvHub.CheckResult.NoHashKeyFieldName"), + this)); + } } else { remarks.add( new CheckResult( @@ -397,7 +406,7 @@ public void check( this)); } - if (!DvIntegrationSupport.relaxesSourceValidation(this) + if (!DvIntegrationSupport.relaxesSourceValidation(this, model) && metadataProvider != null && recordSources != null && options != null) { @@ -467,6 +476,7 @@ public List generateUpdatePipelines( if (metadataProvider == null || model == null) { return result; } + DvReadOnlyExistingVaultSupport.refuseUpdate(model); if (DvIntegrationSupport.isExternalRead(this)) { return result; diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvIntegrationSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvIntegrationSupport.java index a2560905..bc65918e 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvIntegrationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvIntegrationSupport.java @@ -75,11 +75,19 @@ public static boolean relaxesSourceValidation(IDvTable table) { return isLinkedTable(table) || isExternalRead(table); } + public static boolean relaxesSourceValidation(IDvTable table, DataVaultModel model) { + return relaxesSourceValidation(table) || DvReadOnlyExistingVaultSupport.isReadOnly(model); + } + public static boolean shouldSkipUpdatePipeline(IDvTable table) { return isLinkedTable(table) || isExternalRead(table); } public static String integrationCanvasSuffix(IDvTable table) { + return integrationCanvasSuffix(table, null); + } + + public static String integrationCanvasSuffix(IDvTable table, DataVaultModel model) { if (isLinkedTable(table)) { return "ref"; } @@ -89,6 +97,9 @@ public static String integrationCanvasSuffix(IDvTable table) { if (isCustomPipelines(table)) { return "custom"; } + if (DvReadOnlyExistingVaultSupport.isReadOnly(model)) { + return "doc"; + } return null; } @@ -180,6 +191,10 @@ public static void checkIntegrationMode( table)); } + if (DvReadOnlyExistingVaultSupport.isReadOnly(model)) { + return; + } + if (mode == DvIntegrationMode.EXTERNAL_READ && model != null && metadataProvider != null) { try { IRowMeta layout = table.getTargetTableLayout(metadataProvider, variables, model); diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvLink.java b/src/main/java/org/hopper/edw/datavault/metadata/DvLink.java index 2dcfd7fc..6d26f0ea 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvLink.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvLink.java @@ -52,10 +52,6 @@ import org.apache.hop.core.row.value.ValueMetaTimestamp; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMeta; -import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMetaFactory; -import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHasName; @@ -74,6 +70,10 @@ import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.apache.hop.pipeline.transforms.uniquerowsbyhashset.UniqueRowsByHashSetMeta; import org.apache.hop.workflow.WorkflowMeta; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMeta; +import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMetaFactory; +import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; import org.jspecify.annotations.NonNull; /** @@ -386,7 +386,7 @@ public void check( } // Hub record source validation - if (!DvIntegrationSupport.relaxesSourceValidation(this) + if (!DvIntegrationSupport.relaxesSourceValidation(this, model) && !DvIntegrationSupport.isCustomPipelines(this)) { if (linkHubSources == null || linkHubSources.isEmpty()) { remarks.add( @@ -412,7 +412,9 @@ public void check( } } } - if (linkHubSources != null && !linkHubSources.isEmpty()) { + if (!DvIntegrationSupport.relaxesSourceValidation(this, model) + && linkHubSources != null + && !linkHubSources.isEmpty()) { for (DvLinkHubSource ls : linkHubSources) { if (ls != null && !Utils.isEmpty(ls.getSourceName())) { DataVaultSource source; @@ -533,7 +535,9 @@ public void check( } } - if (linkSatelliteSources != null && !linkSatelliteSources.isEmpty()) { + if (!DvIntegrationSupport.relaxesSourceValidation(this, model) + && linkSatelliteSources != null + && !linkSatelliteSources.isEmpty()) { remarks.add( new CheckResult( ICheckResult.TYPE_RESULT_OK, @@ -641,7 +645,7 @@ public void check( this)); } - if (!DvIntegrationSupport.relaxesSourceValidation(this) + if (!DvIntegrationSupport.relaxesSourceValidation(this, model) && metadataProvider != null && options != null && model != null) { @@ -650,7 +654,7 @@ public void check( DvFieldMappingValidationSupport.validateLinkRecordSourceFields( this, model, options, metadataProvider, variables, this, remarks); } - if (model != null) { + if (model != null && !DvReadOnlyExistingVaultSupport.isReadOnly(model)) { DvOrphanHandlingSupport.checkLink( this, model, model.getConfigurationOrDefault(), variables, remarks); } @@ -668,6 +672,7 @@ public List generateUpdatePipelines( if (metadataProvider == null || model == null) { return Collections.emptyList(); } + DvReadOnlyExistingVaultSupport.refuseUpdate(model); if (DvIntegrationSupport.isExternalRead(this)) { return Collections.emptyList(); diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvModelBulkUpdateExecutionSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvModelBulkUpdateExecutionSupport.java index f0e4cec6..389af0cd 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvModelBulkUpdateExecutionSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvModelBulkUpdateExecutionSupport.java @@ -24,14 +24,14 @@ import org.apache.hop.core.logging.LogLevel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metrics.DvUpdateMetricsCollector; -import org.hopper.edw.datavault.metrics.LoadRunMetricsPipelineSupport; -import org.hopper.edw.datavault.metrics.live.UpdateRunLiveRunContext; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.workflow.WorkflowMeta; import org.apache.hop.workflow.engine.IWorkflowEngine; +import org.hopper.edw.datavault.metrics.DvUpdateMetricsCollector; +import org.hopper.edw.datavault.metrics.LoadRunMetricsPipelineSupport; +import org.hopper.edw.datavault.metrics.live.UpdateRunLiveRunContext; /** Shared pipeline orchestrator and staging-file workflow execution for model update actions. */ public final class DvModelBulkUpdateExecutionSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvModelLoadSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvModelLoadSupport.java index f9c0cf18..30244a85 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvModelLoadSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvModelLoadSupport.java @@ -27,10 +27,10 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvOrphanHandlingSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvOrphanHandlingSupport.java index 0ed70527..b2f9f091 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvOrphanHandlingSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvOrphanHandlingSupport.java @@ -38,8 +38,6 @@ import org.apache.hop.core.row.value.ValueMetaTimestamp; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; -import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMetaFactory; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; @@ -61,6 +59,8 @@ import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.apache.hop.pipeline.transforms.tableoutput.TableOutputField; import org.apache.hop.pipeline.transforms.tableoutput.TableOutputMeta; +import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; +import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMetaFactory; /** * Optional orphan handling for Data Vault loads: seed parent hubs from child feeds, validate diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvPipelineOrchestratorSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvPipelineOrchestratorSupport.java index c84cfa6a..298edd56 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvPipelineOrchestratorSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvPipelineOrchestratorSupport.java @@ -30,12 +30,6 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; -import org.hopper.edw.datavault.metrics.DvUpdateMetricsCollector; -import org.hopper.edw.datavault.metrics.DvUpdateMetricsConstants; -import org.hopper.edw.datavault.metrics.LoadRunPublishSummary; -import org.hopper.edw.datavault.metrics.VaultUpdateExecutionSupport; -import org.hopper.edw.datavault.metrics.live.UpdateRunLiveMonitor; -import org.hopper.edw.datavault.metrics.live.UpdateRunLiveRunContext; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.Pipeline; @@ -50,6 +44,12 @@ import org.apache.hop.pipeline.transforms.pipelineexecutor.PipelineExecutorMeta; import org.apache.hop.workflow.WorkflowMeta; import org.apache.hop.workflow.engine.IWorkflowEngine; +import org.hopper.edw.datavault.metrics.DvUpdateMetricsCollector; +import org.hopper.edw.datavault.metrics.DvUpdateMetricsConstants; +import org.hopper.edw.datavault.metrics.LoadRunPublishSummary; +import org.hopper.edw.datavault.metrics.VaultUpdateExecutionSupport; +import org.hopper.edw.datavault.metrics.live.UpdateRunLiveMonitor; +import org.hopper.edw.datavault.metrics.live.UpdateRunLiveRunContext; /** * Stages generated DV update pipelines and runs them through a Get File Names → Pipeline Executor diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvReadOnlyExistingVaultSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvReadOnlyExistingVaultSupport.java new file mode 100644 index 00000000..09687fa6 --- /dev/null +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvReadOnlyExistingVaultSupport.java @@ -0,0 +1,63 @@ +/* + * Copyright 2026 i-Bridge bv + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hopper.edw.datavault.metadata; + +import org.apache.hop.core.exception.HopException; +import org.apache.hop.i18n.BaseMessages; + +/** + * Whole-model ownership for documenting an already-built raw Data Vault. + * + *

When {@link DataVaultConfiguration#isReadOnlyExistingVault()} is true, Hop must not generate + * DDL or load pipelines. Model check keeps referential integrity only so Business Vault and + * dimensional models can read the documented tables. + */ +public final class DvReadOnlyExistingVaultSupport { + + private static final Class PKG = DvReadOnlyExistingVaultSupport.class; + + private DvReadOnlyExistingVaultSupport() {} + + public static boolean isReadOnly(DataVaultModel model) { + if (model == null) { + return false; + } + return isReadOnly(model.getConfigurationOrDefault()); + } + + public static boolean isReadOnly(DataVaultConfiguration configuration) { + return configuration != null && configuration.isReadOnlyExistingVault(); + } + + /** + * Resource definition group waves skip Data Vault Update for documentation-only models so + * Business Vault and dimensional jobs can still run. + */ + public static boolean skipDataVaultUpdateInResourceGroup( + boolean dataVaultLayer, DataVaultModel model) { + return dataVaultLayer && isReadOnly(model); + } + + public static String refuseUpdateMessage() { + return BaseMessages.getString(PKG, "DvReadOnlyExistingVaultSupport.Error.RefuseUpdate"); + } + + public static void refuseUpdate(DataVaultModel model) throws HopException { + if (isReadOnly(model)) { + throw new HopException(refuseUpdateMessage()); + } + } +} diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvReferenceDeleteInsertSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvReferenceDeleteInsertSupport.java index 4f9b867e..14a2f832 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvReferenceDeleteInsertSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvReferenceDeleteInsertSupport.java @@ -22,7 +22,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.workflow.WorkflowHopMeta; @@ -30,6 +29,7 @@ import org.apache.hop.workflow.action.ActionMeta; import org.apache.hop.workflow.actions.sql.ActionSql; import org.apache.hop.workflow.actions.start.ActionStart; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; /** * DELETE_INSERT helpers for {@link DvReferenceTable}: same-database delete-by-natural-key SQL and diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvReferenceTable.java b/src/main/java/org/hopper/edw/datavault/metadata/DvReferenceTable.java index 7b4241e9..15f3df91 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvReferenceTable.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvReferenceTable.java @@ -41,7 +41,6 @@ import org.apache.hop.core.row.value.ValueMetaTimestamp; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHasName; @@ -52,6 +51,7 @@ import org.apache.hop.pipeline.transforms.constant.ConstantField; import org.apache.hop.pipeline.transforms.constant.ConstantMeta; import org.apache.hop.workflow.WorkflowMeta; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; /** * Data Vault reference (code / catalog) table: natural keys and attributes with DV load metadata, @@ -139,7 +139,7 @@ public void check( DataVaultModel model) { super.check(remarks, metadataProvider, variables, options, model); - if (!DvIntegrationSupport.relaxesSourceValidation(this)) { + if (!DvIntegrationSupport.relaxesSourceValidation(this, model)) { if (recordSources == null || recordSources.isEmpty()) { remarks.add( new CheckResult( @@ -176,7 +176,9 @@ public void check( checkAttributeNames(remarks); checkNameCollisionsWithStandardColumns(remarks, variables, model); - checkLoadMode(remarks, metadataProvider, variables, model); + if (!DvReadOnlyExistingVaultSupport.isReadOnly(model)) { + checkLoadMode(remarks, metadataProvider, variables, model); + } } private void checkLoadMode( @@ -534,6 +536,7 @@ public List generateUpdatePipelines( if (metadataProvider == null || model == null) { return result; } + DvReadOnlyExistingVaultSupport.refuseUpdate(model); if (DvIntegrationSupport.isExternalRead(this)) { return result; } diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvSatellite.java b/src/main/java/org/hopper/edw/datavault/metadata/DvSatellite.java index 568eacb6..bd751c80 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvSatellite.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvSatellite.java @@ -54,11 +54,6 @@ import org.apache.hop.core.row.value.ValueMetaTimestamp; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; -import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMeta; -import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMetaFactory; -import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHasName; @@ -87,6 +82,11 @@ import org.apache.hop.pipeline.transforms.update.UpdateKeyField; import org.apache.hop.pipeline.transforms.update.UpdateLookupField; import org.apache.hop.pipeline.transforms.update.UpdateMeta; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; +import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMeta; +import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMetaFactory; +import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; /** * Data Vault 2.0 Satellite metadata definition. @@ -293,7 +293,7 @@ public void check( DataVaultModel model) { super.check(remarks, metadataProvider, variables, options, model); - if (!DvIntegrationSupport.relaxesSourceValidation(this)) { + if (!DvIntegrationSupport.relaxesSourceValidation(this, model)) { if (Utils.isEmpty(recordSource)) { remarks.add( new CheckResult( @@ -378,7 +378,7 @@ public void check( } // Verify that all specified attributes exist in the record source's fields. - if (!DvIntegrationSupport.relaxesSourceValidation(this) + if (!DvIntegrationSupport.relaxesSourceValidation(this, model) && !Utils.isEmpty(recordSource) && metadataProvider != null && !Utils.isEmpty(attributes)) { @@ -439,7 +439,7 @@ public void check( checkStatusTracking(remarks, metadataProvider, variables, model); } - if (!DvIntegrationSupport.relaxesSourceValidation(this) && metadataProvider != null) { + if (!DvIntegrationSupport.relaxesSourceValidation(this, model) && metadataProvider != null) { DvModelCheckOptions effectiveOptions = options != null ? options : DvModelCheckOptions.fastOnly(); DvFieldMappingValidationSupport.validateSatelliteMappings( @@ -448,7 +448,7 @@ public void check( this, model, effectiveOptions, metadataProvider, variables, this, remarks); checkSatelliteHubRecordSourceConsistency(remarks, metadataProvider, variables, model); } - if (model != null) { + if (model != null && !DvReadOnlyExistingVaultSupport.isReadOnly(model)) { DvOrphanHandlingSupport.checkSatellite( this, model, model.getConfigurationOrDefault(), variables, remarks); } @@ -500,30 +500,32 @@ private void checkStatusTracking( IHopMetadataProvider metadataProvider, IVariables variables, DataVaultModel model) { - if (Utils.isEmpty(recordSource)) { - remarks.add( - new CheckResult( - ICheckResult.TYPE_RESULT_ERROR, - BaseMessages.getString(PKG, "DvSatellite.CheckResult.StsNoRecordSource"), - this)); - return; - } - try { - DataVaultSource resolvedSource = resolveRecordSource(variables, metadataProvider, model); - if (!resolvedSource.isFullSnapshotFeed()) { + if (!DvReadOnlyExistingVaultSupport.isReadOnly(model)) { + if (Utils.isEmpty(recordSource)) { remarks.add( new CheckResult( ICheckResult.TYPE_RESULT_ERROR, - BaseMessages.getString( - PKG, "DvSatellite.CheckResult.StsRequiresFullSnapshot", recordSource), + BaseMessages.getString(PKG, "DvSatellite.CheckResult.StsNoRecordSource"), + this)); + return; + } + try { + DataVaultSource resolvedSource = resolveRecordSource(variables, metadataProvider, model); + if (!resolvedSource.isFullSnapshotFeed()) { + remarks.add( + new CheckResult( + ICheckResult.TYPE_RESULT_ERROR, + BaseMessages.getString( + PKG, "DvSatellite.CheckResult.StsRequiresFullSnapshot", recordSource), + this)); + } + } catch (HopException e) { + remarks.add( + new CheckResult( + ICheckResult.TYPE_RESULT_ERROR, + "Error loading record source for status tracking: " + e.getMessage(), this)); } - } catch (HopException e) { - remarks.add( - new CheckResult( - ICheckResult.TYPE_RESULT_ERROR, - "Error loading record source for status tracking: " + e.getMessage(), - this)); } String stsTable = resolveStatusTableName(variables, null); if (Utils.isEmpty(stsTable)) { @@ -576,6 +578,7 @@ public List generateUpdatePipelines( if (metadataProvider == null || model == null) { return emptyList(); } + DvReadOnlyExistingVaultSupport.refuseUpdate(model); if (DvIntegrationSupport.isExternalRead(this)) { return emptyList(); diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/DvSourcePipelineBuilder.java index 1dbecf55..4e833d66 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvSourcePipelineBuilder.java @@ -27,11 +27,11 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingPipelineSupport; -import org.hopper.edw.datavault.metadata.datatypemapping.DvCatalogMappingStreamFieldsSupport; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingPipelineSupport; +import org.hopper.edw.datavault.metadata.datatypemapping.DvCatalogMappingStreamFieldsSupport; /** * When reading from a DataVaultSource we can have different types of sources: Databases, files, and diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvSourcePipelineBuilderFactory.java b/src/main/java/org/hopper/edw/datavault/metadata/DvSourcePipelineBuilderFactory.java index d42b6300..38f24d4d 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvSourcePipelineBuilderFactory.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvSourcePipelineBuilderFactory.java @@ -18,6 +18,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.composite.DvCompositeHubSourcePipelineBuilder; import org.hopper.edw.datavault.metadata.composite.DvCompositeLinkSourcePipelineBuilder; import org.hopper.edw.datavault.metadata.composite.DvCompositeSatelliteSourcePipelineBuilder; @@ -37,8 +39,6 @@ import org.hopper.edw.datavault.metadata.pipeline.DvPipelineHubSourcePipelineBuilder; import org.hopper.edw.datavault.metadata.pipeline.DvPipelineLinkSourcePipelineBuilder; import org.hopper.edw.datavault.metadata.pipeline.DvPipelineSatelliteSourcePipelineBuilder; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; /** Creates the correct {@link DvSourcePipelineBuilder} for a record source type and DV table. */ public final class DvSourcePipelineBuilderFactory { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvSourcePreviewInputSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvSourcePreviewInputSupport.java index d3424c7f..45a720ab 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvSourcePreviewInputSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvSourcePreviewInputSupport.java @@ -29,18 +29,6 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.composite.DvCompositeSource; -import org.hopper.edw.datavault.metadata.composite.DvCompositeSourceResolver; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSourcePreviewSupport; -import org.hopper.edw.datavault.metadata.file.DvCsvSource; -import org.hopper.edw.datavault.metadata.file.DvParquetPluginSupport; -import org.hopper.edw.datavault.metadata.file.DvParquetSource; -import org.hopper.edw.datavault.metadata.file.DvTextFileInputFieldSupport; -import org.hopper.edw.datavault.metadata.file.IDvFileBasedSource; -import org.hopper.edw.datavault.metadata.iceberg.DvIcebergSource; -import org.hopper.edw.datavault.transform.iceberginput.IcebergTableInputField; -import org.hopper.edw.datavault.transform.iceberginput.IcebergTableInputMeta; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; @@ -59,6 +47,18 @@ import org.apache.hop.pipeline.transforms.selectvalues.SelectField; import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.datavault.metadata.composite.DvCompositeSource; +import org.hopper.edw.datavault.metadata.composite.DvCompositeSourceResolver; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSourcePreviewSupport; +import org.hopper.edw.datavault.metadata.file.DvCsvSource; +import org.hopper.edw.datavault.metadata.file.DvParquetPluginSupport; +import org.hopper.edw.datavault.metadata.file.DvParquetSource; +import org.hopper.edw.datavault.metadata.file.DvTextFileInputFieldSupport; +import org.hopper.edw.datavault.metadata.file.IDvFileBasedSource; +import org.hopper.edw.datavault.metadata.iceberg.DvIcebergSource; +import org.hopper.edw.datavault.transform.iceberginput.IcebergTableInputField; +import org.hopper.edw.datavault.transform.iceberginput.IcebergTableInputMeta; /** Builds preview pipelines with the correct input transform for a Data Vault source. */ public final class DvSourcePreviewInputSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvSpecialRecordSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvSpecialRecordSupport.java index b7831d72..dbc96cb4 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvSpecialRecordSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvSpecialRecordSupport.java @@ -32,8 +32,8 @@ import org.apache.hop.core.util.StringUtil; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyLogic; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyLogic; /** * Ensures unknown and invalid (error) sentinel rows exist in hub and link target tables using diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvTableBase.java b/src/main/java/org/hopper/edw/datavault/metadata/DvTableBase.java index 01f6bd25..61b0cb51 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvTableBase.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvTableBase.java @@ -35,7 +35,6 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.targettypemapping.TargetTypeMappingSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; @@ -46,6 +45,7 @@ import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.dummy.DummyMeta; import org.apache.hop.workflow.WorkflowMeta; +import org.hopper.edw.datavault.metadata.targettypemapping.TargetTypeMappingSupport; import org.jspecify.annotations.NonNull; /** @@ -374,6 +374,7 @@ public List generateUpdateWorkflows( public List generateUpdateDdl( IHopMetadataProvider metadataProvider, IVariables variables, DataVaultModel model) throws HopException { + DvReadOnlyExistingVaultSupport.refuseUpdate(model); if (DvIntegrationSupport.shouldSkipDdl(this)) { return Collections.emptyList(); } diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvTargetUnicodeCapabilitySupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvTargetUnicodeCapabilitySupport.java index a3d297ac..b4cc52ec 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvTargetUnicodeCapabilitySupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvTargetUnicodeCapabilitySupport.java @@ -27,8 +27,8 @@ import org.apache.hop.core.logging.SimpleLoggingObject; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.config.DataVaultConfigSingleton; import org.apache.hop.i18n.BaseMessages; +import org.hopper.edw.datavault.config.DataVaultConfigSingleton; /** * Validates that a DV/BV/DM target database can store full Unicode in string columns — a baseline diff --git a/src/main/java/org/hopper/edw/datavault/metadata/DvUpdateWorkflowSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/DvUpdateWorkflowSupport.java index d6653bed..1d241619 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/DvUpdateWorkflowSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/DvUpdateWorkflowSupport.java @@ -26,8 +26,6 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; -import org.hopper.edw.datavault.metrics.live.UpdateRunLiveRunContext; -import org.hopper.edw.datavault.metrics.live.UpdateRunLiveStagingWorkflowMonitor; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.textfileoutput.TextFileField; @@ -39,6 +37,8 @@ import org.apache.hop.workflow.actions.start.ActionStart; import org.apache.hop.workflow.engine.IWorkflowEngine; import org.apache.hop.workflow.engine.WorkflowEngineFactory; +import org.hopper.edw.datavault.metrics.live.UpdateRunLiveRunContext; +import org.hopper.edw.datavault.metrics.live.UpdateRunLiveStagingWorkflowMonitor; /** * Builds and runs master workflows that execute staged DV update pipelines and bulk-load the diff --git a/src/main/java/org/hopper/edw/datavault/metadata/GeneratedPipelineMetadataSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/GeneratedPipelineMetadataSupport.java index 75c6d452..e5cec629 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/GeneratedPipelineMetadataSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/GeneratedPipelineMetadataSupport.java @@ -16,14 +16,14 @@ package org.hopper.edw.datavault.metadata; import org.apache.hop.core.util.Utils; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.dimensional.DmDimension; import org.hopper.edw.datavault.metadata.dimensional.DmFactDimensionRole; import org.hopper.edw.datavault.metadata.dimensional.DmTableBase; import org.hopper.edw.datavault.metadata.dimensional.DmTableType; import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmPipelineBuilderSupport; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; /** Stamps logical model context onto generated pipeline and transform metadata attributes. */ public final class GeneratedPipelineMetadataSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/IDvSource.java b/src/main/java/org/hopper/edw/datavault/metadata/IDvSource.java index 14f03af2..7ba86633 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/IDvSource.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/IDvSource.java @@ -21,16 +21,16 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.HopMetadataObject; +import org.apache.hop.metadata.api.IHasName; +import org.apache.hop.metadata.api.IHopMetadataObjectFactory; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.composite.DvCompositeSource; import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; import org.hopper.edw.datavault.metadata.file.DvCsvSource; import org.hopper.edw.datavault.metadata.file.DvParquetSource; import org.hopper.edw.datavault.metadata.iceberg.DvIcebergSource; import org.hopper.edw.datavault.metadata.json.DvJsonSource; -import org.apache.hop.metadata.api.HopMetadataObject; -import org.apache.hop.metadata.api.IHasName; -import org.apache.hop.metadata.api.IHopMetadataObjectFactory; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Common interface for Data Vault source system definitions. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/ModelConfigurationExtractSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/ModelConfigurationExtractSupport.java index 6114cec5..437ce2c4 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/ModelConfigurationExtractSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/ModelConfigurationExtractSupport.java @@ -18,18 +18,18 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelConfiguration; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadata; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.apache.hop.ui.core.dialog.ErrorDialog; import org.apache.hop.ui.core.metadata.MetadataManager; import org.apache.hop.ui.hopgui.HopGui; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelConfiguration; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/metadata/ModelConfigurationResolver.java b/src/main/java/org/hopper/edw/datavault/metadata/ModelConfigurationResolver.java index 8489100d..6aa8b4d5 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/ModelConfigurationResolver.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/ModelConfigurationResolver.java @@ -19,15 +19,15 @@ import org.apache.hop.core.CheckResult; import org.apache.hop.core.ICheckResult; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadata; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelConfiguration; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadata; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Resolves named project model-configuration metadata and keeps inline {@code } as a diff --git a/src/main/java/org/hopper/edw/datavault/metadata/RecordSourceIndicatorDatabaseImportSection.java b/src/main/java/org/hopper/edw/datavault/metadata/RecordSourceIndicatorDatabaseImportSection.java index 249f633f..bb6a0f92 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/RecordSourceIndicatorDatabaseImportSection.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/RecordSourceIndicatorDatabaseImportSection.java @@ -17,7 +17,6 @@ import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.eclipse.swt.SWT; @@ -30,6 +29,7 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; /** Record source options for database table bulk import. */ public final class RecordSourceIndicatorDatabaseImportSection { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/RecordSourceIndicatorImportSection.java b/src/main/java/org/hopper/edw/datavault/metadata/RecordSourceIndicatorImportSection.java index 6907e8d1..7c5bc0b5 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/RecordSourceIndicatorImportSection.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/RecordSourceIndicatorImportSection.java @@ -18,8 +18,6 @@ import java.util.List; import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; -import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.eclipse.swt.SWT; @@ -33,6 +31,8 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; +import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; /** Reusable SWT section for choosing static record source vs source column during import. */ public final class RecordSourceIndicatorImportSection { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/SourceFieldInputOptions.java b/src/main/java/org/hopper/edw/datavault/metadata/SourceFieldInputOptions.java index 4c4ea815..3b510cc3 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/SourceFieldInputOptions.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/SourceFieldInputOptions.java @@ -18,8 +18,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.hopper.edw.datavault.metadata.datatypemapping.FieldConversionOptions; import org.apache.hop.metadata.api.HopMetadataProperty; +import org.hopper.edw.datavault.metadata.datatypemapping.FieldConversionOptions; /** Format-specific input options for a Data Vault source field. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultBvReferenceSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultBvReferenceSupport.java index 83f972ce..c1ad0407 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultBvReferenceSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultBvReferenceSupport.java @@ -21,13 +21,13 @@ import java.util.List; import java.util.Locale; import java.util.Set; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionType; import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.CatalogModelRegistrySupport; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionType; +import org.hopper.edw.datavault.catalog.CatalogModelRegistrySupport; /** Helpers for Business Vault canvas references to tables in other BV models. */ public final class BusinessVaultBvReferenceSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultConfiguration.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultConfiguration.java index fafc9c76..8f265f16 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultConfiguration.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultConfiguration.java @@ -20,7 +20,6 @@ import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.gui.plugin.GuiElementType; import org.apache.hop.core.gui.plugin.GuiPlugin; @@ -28,16 +27,17 @@ import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DvLoadCycleSupport; -import org.hopper.edw.datavault.metadata.DvTargetLoadConfigurationSupport; -import org.hopper.edw.datavault.metadata.DvTargetLoadMode; -import org.hopper.edw.datavault.metadata.IDvTargetLoadConfiguration; import org.apache.hop.metadata.api.HopMetadata; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.HopMetadataPropertyType; import org.apache.hop.metadata.api.IHopMetadata; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.datavault.metadata.DvLoadCycleSupport; +import org.hopper.edw.datavault.metadata.DvTargetLoadConfigurationSupport; +import org.hopper.edw.datavault.metadata.DvTargetLoadMode; +import org.hopper.edw.datavault.metadata.IDvTargetLoadConfiguration; /** * Configuration for Business Vault physical implementation and update strategy. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDerivativeValidationSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDerivativeValidationSupport.java index 9cf01a52..a2d42bcb 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDerivativeValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDerivativeValidationSupport.java @@ -19,9 +19,9 @@ import org.apache.hop.core.CheckResult; import org.apache.hop.core.ICheckResult; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.i18n.BaseMessages; final class BusinessVaultDerivativeValidationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDvModelResolver.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDvModelResolver.java index 7c91de1d..7a2f6e7d 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDvModelResolver.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDvModelResolver.java @@ -23,14 +23,14 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvModelLoadSupport; import org.hopper.edw.datavault.metadata.IDvTable; import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDvReferenceSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDvReferenceSupport.java index b3fb47b8..8d81c98c 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDvReferenceSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDvReferenceSupport.java @@ -19,17 +19,17 @@ import java.util.Collections; import java.util.List; import java.util.Locale; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionType; import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.datavault.catalog.CatalogModelRegistrySupport; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvModelLoadSupport; import org.hopper.edw.datavault.metadata.DvTableType; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Helpers for Business Vault canvas references to Data Vault tables (linked or multi-model). */ public final class BusinessVaultDvReferenceSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultModel.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultModel.java index 19410f18..a8941b5a 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultModel.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultModel.java @@ -40,6 +40,12 @@ import org.apache.hop.core.undo.ChangeAction; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.HopMetadataBase; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHasName; +import org.apache.hop.metadata.api.IHopMetadata; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvNote; import org.hopper.edw.datavault.metadata.DvTargetLoadModelCheckSupport; @@ -47,12 +53,6 @@ import org.hopper.edw.datavault.metadata.IDvTable; import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.hopper.edw.datavault.metadata.coaching.ModelCoachingConfiguration; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.HopMetadataBase; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHasName; -import org.apache.hop.metadata.api.IHopMetadata; -import org.apache.hop.metadata.api.IHopMetadataProvider; import org.jspecify.annotations.NonNull; /** A Business Vault model referencing one Data Vault model and owning BV derivative tables. */ diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvBusinessTable.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvBusinessTable.java index 2a8c8561..51fa48ff 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvBusinessTable.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvBusinessTable.java @@ -24,10 +24,10 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.row.RowMeta; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.DataVaultModel; /** * SQL-sourced business table materialised as a database view or table ({@code CREATE OR REPLACE diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvDerivativeRef.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvDerivativeRef.java index e9ee31ba..bb889602 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvDerivativeRef.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvDerivativeRef.java @@ -18,8 +18,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.hopper.edw.datavault.metadata.DvTableType; import org.apache.hop.metadata.api.HopMetadataProperty; +import org.hopper.edw.datavault.metadata.DvTableType; /** Reference from a Business Vault table to a Data Vault hub, link, or satellite. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvDvTableReference.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvDvTableReference.java index c5226af3..aa872f48 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvDvTableReference.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvDvTableReference.java @@ -19,8 +19,8 @@ import lombok.NoArgsConstructor; import lombok.Setter; import org.apache.hop.core.gui.Point; -import org.hopper.edw.datavault.metadata.DvTableType; import org.apache.hop.metadata.api.HopMetadataProperty; +import org.hopper.edw.datavault.metadata.DvTableType; /** * A placed reference on a Business Vault canvas to a Hub, Link, or Satellite table in the linked diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvGeneratedPipelineSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvGeneratedPipelineSupport.java index b6fa8b28..5ae350a0 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvGeneratedPipelineSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvGeneratedPipelineSupport.java @@ -18,13 +18,13 @@ import java.util.List; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.config.DataVaultConfigSingleton; import org.hopper.edw.datavault.layout.DvPipelineElkLayout; import org.hopper.edw.datavault.layout.ElkLayout; import org.hopper.edw.datavault.layout.ElkLayoutAlgorithm; import org.hopper.edw.datavault.metadata.DvGeneratedPipelineSupport; import org.hopper.edw.datavault.metadata.IDvTargetLoadConfiguration; -import org.apache.hop.pipeline.PipelineMeta; /** Saves generated Business Vault build pipelines when configured to do so. */ public final class BvGeneratedPipelineSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvPitPipelineSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvPitPipelineSupport.java index a3e4c284..334cb446 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvPitPipelineSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvPitPipelineSupport.java @@ -30,6 +30,14 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineHopMeta; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; +import org.apache.hop.pipeline.transforms.rowgenerator.GeneratorField; +import org.apache.hop.pipeline.transforms.rowgenerator.RowGeneratorMeta; +import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.hopper.edw.datavault.metadata.DataVaultConfiguration; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvHub; @@ -39,14 +47,6 @@ import org.hopper.edw.datavault.metadata.DvSqlSupport; import org.hopper.edw.datavault.metadata.DvTargetLoadSupport; import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineHopMeta; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; -import org.apache.hop.pipeline.transforms.rowgenerator.GeneratorField; -import org.apache.hop.pipeline.transforms.rowgenerator.RowGeneratorMeta; -import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; /** Generates PIT build pipelines from DV hub/satellite history. */ public final class BvPitPipelineSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvPitTable.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvPitTable.java index 3f411123..268cdd3a 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvPitTable.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvPitTable.java @@ -22,10 +22,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.DataVaultModel; /** Point-in-time table combining a DV hub grain with satellite snapshots. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvPitValidationSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvPitValidationSupport.java index 3c5d5820..d469b40a 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvPitValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvPitValidationSupport.java @@ -23,14 +23,14 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultConfiguration; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvHub; import org.hopper.edw.datavault.metadata.DvSatellite; import org.hopper.edw.datavault.metadata.DvSpecialRecordSupport; import org.hopper.edw.datavault.metadata.DvTableType; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Validation rules for Business Vault PIT tables. */ final class BvPitValidationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2FieldMappingValidationSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2FieldMappingValidationSupport.java index 51d5e1b6..46ee7eb5 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2FieldMappingValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2FieldMappingValidationSupport.java @@ -25,12 +25,12 @@ import org.apache.hop.core.ICheckResult; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.datavault.metadata.DataVaultConfiguration; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvSatellite; import org.hopper.edw.datavault.metadata.DvTableType; import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.apache.hop.i18n.BaseMessages; /** Validation rules for explicit satellite-to-BV SCD2 field mappings. */ final class BvScd2FieldMappingValidationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2PipelineSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2PipelineSupport.java index a7fdc80c..720f261e 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2PipelineSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2PipelineSupport.java @@ -46,25 +46,6 @@ import org.apache.hop.core.row.value.ValueMetaTimestamp; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultConfiguration; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DvHub; -import org.hopper.edw.datavault.metadata.DvLink; -import org.hopper.edw.datavault.metadata.DvLoadCycleSupport; -import org.hopper.edw.datavault.metadata.DvSatellite; -import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; -import org.hopper.edw.datavault.metadata.DvSpecialRecordSupport; -import org.hopper.edw.datavault.metadata.DvSqlSupport; -import org.hopper.edw.datavault.metadata.DvTableType; -import org.hopper.edw.datavault.metadata.DvTargetLoadSupport; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; -import org.hopper.edw.datavault.metadata.HashAlgorithm; -import org.hopper.edw.datavault.metadata.HashKeyDataType; -import org.hopper.edw.datavault.metadata.IDvTable; -import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.hopper.edw.datavault.transform.sortedschemamerge.SortedSchemaMergeMeta; -import org.hopper.edw.datavault.transform.sortedschemamerge.SortedSchemaMergeMetaFactory; -import org.hopper.edw.datavault.transform.sortedschemamerge.SortedSchemaMergeSortKey; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; @@ -94,6 +75,25 @@ import org.apache.hop.pipeline.transforms.update.UpdateKeyField; import org.apache.hop.pipeline.transforms.update.UpdateLookupField; import org.apache.hop.pipeline.transforms.update.UpdateMeta; +import org.hopper.edw.datavault.metadata.DataVaultConfiguration; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvHub; +import org.hopper.edw.datavault.metadata.DvLink; +import org.hopper.edw.datavault.metadata.DvLoadCycleSupport; +import org.hopper.edw.datavault.metadata.DvSatellite; +import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; +import org.hopper.edw.datavault.metadata.DvSpecialRecordSupport; +import org.hopper.edw.datavault.metadata.DvSqlSupport; +import org.hopper.edw.datavault.metadata.DvTableType; +import org.hopper.edw.datavault.metadata.DvTargetLoadSupport; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; +import org.hopper.edw.datavault.metadata.HashAlgorithm; +import org.hopper.edw.datavault.metadata.HashKeyDataType; +import org.hopper.edw.datavault.metadata.IDvTable; +import org.hopper.edw.datavault.metadata.SatelliteAttribute; +import org.hopper.edw.datavault.transform.sortedschemamerge.SortedSchemaMergeMeta; +import org.hopper.edw.datavault.transform.sortedschemamerge.SortedSchemaMergeMetaFactory; +import org.hopper.edw.datavault.transform.sortedschemamerge.SortedSchemaMergeSortKey; /** * Generates SCD2 build pipelines from DV satellite history using Analytic Query (LAG/LEAD validity diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2Table.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2Table.java index 3fc56bbf..62b76bc7 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2Table.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2Table.java @@ -25,13 +25,13 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultConfiguration; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DvTableType; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.DataVaultConfiguration; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvTableType; /** Business Vault SCD2 table derived from one or more DV satellites. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlModelPathSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlModelPathSupport.java index 78c999e7..0aabd9fa 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlModelPathSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlModelPathSupport.java @@ -29,11 +29,11 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvModelLoadSupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlRef.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlRef.java index 269b85d2..0f922de2 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlRef.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlRef.java @@ -18,8 +18,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.hopper.edw.datavault.metadata.DvTableType; import org.apache.hop.metadata.api.HopMetadataProperty; +import org.hopper.edw.datavault.metadata.DvTableType; /** * A parsed {@code ref()} from SQL, optionally enriched with resolution results for canvas diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlRefResolver.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlRefResolver.java index 14d92e00..fbbb72d8 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlRefResolver.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlRefResolver.java @@ -22,12 +22,12 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.jinja.BvSqlJinjaRenderResult; import org.hopper.edw.datavault.jinja.BvSqlJinjaSupport; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvModelLoadSupport; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Resolves {@code ref()} / {@code source()} macros against Business Vault and Data Vault models and diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlValidationSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlValidationSupport.java index 673505dc..12f91c57 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlValidationSupport.java @@ -27,12 +27,12 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.jinja.BvSqlJinjaRenderResult; import org.hopper.edw.datavault.jinja.BvSqlJinjaSupport; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Model-check rules for SQL-sourced Business Vault tables ({@link BvBusinessTable}): templates, diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlViewPipelineSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlViewPipelineSupport.java index 8b367154..6352de3e 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlViewPipelineSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlViewPipelineSupport.java @@ -22,13 +22,13 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.sql.ExecSqlMeta; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; /** * Generates build pipelines that materialize SQL business tables as views or tables via Execute diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvTableBase.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvTableBase.java index dd059ad7..51a5486e 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvTableBase.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/BvTableBase.java @@ -33,17 +33,17 @@ import org.apache.hop.core.row.RowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DvConstraintDdlSupport; -import org.hopper.edw.datavault.metadata.DvDdlSupport; -import org.hopper.edw.datavault.metadata.ForeignKeySpec; -import org.hopper.edw.datavault.metadata.targettypemapping.TargetTypeMappingSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadata; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvConstraintDdlSupport; +import org.hopper.edw.datavault.metadata.DvDdlSupport; +import org.hopper.edw.datavault.metadata.ForeignKeySpec; +import org.hopper.edw.datavault.metadata.targettypemapping.TargetTypeMappingSupport; @Getter @Setter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/IBvTable.java b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/IBvTable.java index 0944a00a..55f485f1 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/businessvault/IBvTable.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/businessvault/IBvTable.java @@ -24,12 +24,12 @@ import org.apache.hop.core.gui.IGuiPosition; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.metadata.api.HopMetadataObject; import org.apache.hop.metadata.api.IHasName; import org.apache.hop.metadata.api.IHopMetadataObjectFactory; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.DataVaultModel; /** Common interface for Business Vault tables on a {@link BusinessVaultModel} canvas. */ @HopMetadataObject(xmlKey = "tableType", objectFactory = IBvTable.BvTableFactory.class) diff --git a/src/main/java/org/hopper/edw/datavault/metadata/coaching/BvCoachingModelAdapter.java b/src/main/java/org/hopper/edw/datavault/metadata/coaching/BvCoachingModelAdapter.java index 34232d56..e4196e2d 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/coaching/BvCoachingModelAdapter.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/coaching/BvCoachingModelAdapter.java @@ -25,6 +25,7 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvTableType; @@ -33,7 +34,6 @@ import org.hopper.edw.datavault.metadata.businessvault.BvDerivativeRef; import org.hopper.edw.datavault.metadata.businessvault.BvDvTableReference; import org.hopper.edw.datavault.metadata.businessvault.IBvTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Coaching adapter for Business Vault models (DV derivatives only for auto sources). */ public class BvCoachingModelAdapter implements ICoachingModelAdapter { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/coaching/DmCoachingModelAdapter.java b/src/main/java/org/hopper/edw/datavault/metadata/coaching/DmCoachingModelAdapter.java index bb89ccbb..28b82aec 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/coaching/DmCoachingModelAdapter.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/coaching/DmCoachingModelAdapter.java @@ -25,13 +25,13 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.DmSourceConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DmSourceType; import org.hopper.edw.datavault.metadata.dimensional.DmTableBase; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Coaching adapter for dimensional models. */ public class DmCoachingModelAdapter implements ICoachingModelAdapter { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/coaching/DvCoachingModelAdapter.java b/src/main/java/org/hopper/edw/datavault/metadata/coaching/DvCoachingModelAdapter.java index a5e63151..b9e1fb95 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/coaching/DvCoachingModelAdapter.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/coaching/DvCoachingModelAdapter.java @@ -19,15 +19,15 @@ import java.util.List; import java.util.function.Consumer; import lombok.Getter; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.ICheckResult; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Coaching adapter for Data Vault models. */ public class DvCoachingModelAdapter implements ICoachingModelAdapter { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeHubSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeHubSourcePipelineBuilder.java index a2cb04e7..d8e33387 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeHubSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeHubSourcePipelineBuilder.java @@ -19,6 +19,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -26,8 +28,6 @@ import org.hopper.edw.datavault.metadata.DvSqlOrderByCollationSupport; import org.hopper.edw.datavault.metadata.DvSqlOrderBySupport; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; /** Hub load from a composite (multi-table) source query. */ public class DvCompositeHubSourcePipelineBuilder extends DvCompositeSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeLinkSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeLinkSourcePipelineBuilder.java index cf457530..9f22524e 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeLinkSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeLinkSourcePipelineBuilder.java @@ -22,6 +22,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DependentChildKey; @@ -30,8 +32,6 @@ import org.hopper.edw.datavault.metadata.DvLink; import org.hopper.edw.datavault.metadata.DvLinkHubSourceKeyFieldSupport; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; /** Link load from a composite (multi-table) source query. */ public class DvCompositeLinkSourcePipelineBuilder extends DvCompositeSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSatelliteSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSatelliteSourcePipelineBuilder.java index dd1f819c..bec92f63 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSatelliteSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSatelliteSourcePipelineBuilder.java @@ -24,6 +24,8 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.AttributeSource; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -34,8 +36,6 @@ import org.hopper.edw.datavault.metadata.DvSatelliteParentKeySupport; import org.hopper.edw.datavault.metadata.IDvSource; import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; /** Satellite load from a composite (multi-table) source query. */ public class DvCompositeSatelliteSourcePipelineBuilder extends DvCompositeSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSource.java b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSource.java index 3115010e..8c2058bc 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSource.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSource.java @@ -23,11 +23,11 @@ import org.apache.hop.core.gui.plugin.GuiElementType; import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DvSourceBase; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Composed multi-table feed defined by a {@code SourceQuery} inside a {@code .hsm} source model. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSourcePipelineBuilder.java index 8c3e3a60..5597a454 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSourcePipelineBuilder.java @@ -27,6 +27,11 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineHopMeta; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; +import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -38,11 +43,6 @@ import org.hopper.edw.datavault.metadata.IDvTable; import org.hopper.edw.datavault.metadata.sourcemodel.SourceQueryGenerationMode; import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQueryPipelineGenerator; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineHopMeta; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; -import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.jspecify.annotations.NonNull; /** diff --git a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSourcePreviewSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSourcePreviewSupport.java index bdac7c7d..782edacf 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSourcePreviewSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSourcePreviewSupport.java @@ -25,8 +25,8 @@ import org.apache.hop.core.logging.SimpleLoggingObject; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQueryPreviewSupport; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQueryPreviewSupport; /** Preview rows for a {@link DvCompositeSource} (SQL mode only). */ public final class DvCompositeSourcePreviewSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSourceResolver.java b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSourceResolver.java index b2af6c83..1ff1e629 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSourceResolver.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/composite/DvCompositeSourceResolver.java @@ -19,13 +19,13 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; import org.hopper.edw.datavault.metadata.sourcemodel.SourceQueryGenerationMode; import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQueryGenerationSupport; import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQuerySqlGenerator; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Loads a live {@link SourceQuery} for a {@link DvCompositeSource} and resolves SQL when possible. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSource.java b/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSource.java index d6ea121d..37a57702 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSource.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSource.java @@ -25,11 +25,11 @@ import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DvSourceBase; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Database (RDBMS) implementation of {@link IDvSource}, embedded in {@link diff --git a/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourceImportSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourceImportSupport.java index 234310d8..d5f478c8 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourceImportSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourceImportSupport.java @@ -21,8 +21,6 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; -import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; import org.apache.hop.core.Const; import org.apache.hop.core.database.Database; import org.apache.hop.core.database.DatabaseMeta; @@ -37,13 +35,6 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; -import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.SourceField; -import org.hopper.edw.datavault.metadata.SourceFieldPrimaryKeySupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.dialog.EditRowsDialog; @@ -53,6 +44,15 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; +import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; +import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.SourceField; +import org.hopper.edw.datavault.metadata.SourceFieldPrimaryKeySupport; /** Shared helpers for importing database tables as record definitions in the data catalog. */ public final class DvDatabaseSourceImportSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourceLiveSchemaSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourceLiveSchemaSupport.java index 0749d367..6a14464b 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourceLiveSchemaSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourceLiveSchemaSupport.java @@ -26,8 +26,8 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DvModelCheckCache; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metadata.DvModelCheckCache; /** Resolves live table column metadata for {@link DvDatabaseSource}. */ public final class DvDatabaseSourceLiveSchemaSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourcePipelineBuilder.java index 412fdcbc..aaef3e1c 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourcePipelineBuilder.java @@ -24,6 +24,13 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineHopMeta; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; +import org.apache.hop.pipeline.transforms.selectvalues.SelectMetadataChange; +import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; +import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -34,13 +41,6 @@ import org.hopper.edw.datavault.metadata.DvSqlSupport; import org.hopper.edw.datavault.metadata.IDvSource; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineHopMeta; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; -import org.apache.hop.pipeline.transforms.selectvalues.SelectMetadataChange; -import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; -import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.jspecify.annotations.NonNull; @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourcePreviewSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourcePreviewSupport.java index 9986dacf..010f97ef 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourcePreviewSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/database/DvDatabaseSourcePreviewSupport.java @@ -29,8 +29,8 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metadata.SourceField; /** Reads sample rows from a {@link DvDatabaseSource} table for interactive preview. */ public final class DvDatabaseSourcePreviewSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/database/ImportDatabaseTablesCatalogDialog.java b/src/main/java/org/hopper/edw/datavault/metadata/database/ImportDatabaseTablesCatalogDialog.java index 796b1a42..9a1cb695 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/database/ImportDatabaseTablesCatalogDialog.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/database/ImportDatabaseTablesCatalogDialog.java @@ -19,14 +19,11 @@ import java.util.Map; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.history.AuditManager; import org.apache.hop.history.AuditState; import org.apache.hop.i18n.BaseMessages; @@ -43,6 +40,9 @@ import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** Asks which data catalog connection should receive imported record definitions. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/database/ImportDatabaseTablesOptionsDialog.java b/src/main/java/org/hopper/edw/datavault/metadata/database/ImportDatabaseTablesOptionsDialog.java index c844882a..befe5981 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/database/ImportDatabaseTablesOptionsDialog.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/database/ImportDatabaseTablesOptionsDialog.java @@ -24,10 +24,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.RecordSourceIndicatorDatabaseImportSection; import org.apache.hop.history.AuditManager; import org.apache.hop.history.AuditState; import org.apache.hop.i18n.BaseMessages; @@ -45,6 +41,10 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.RecordSourceIndicatorDatabaseImportSection; /** Collects database/schema and naming options before bulk-importing tables. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/DataTypeMappingMetaEditor.java b/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/DataTypeMappingMetaEditor.java index 96a83568..e2aa8547 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/DataTypeMappingMetaEditor.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/DataTypeMappingMetaEditor.java @@ -24,8 +24,6 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.metadata.MetadataEditor; @@ -46,6 +44,8 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** Editor for project-level {@link DataTypeMappingMeta} profiles. */ @GuiPlugin(description = "Editor for Data Type Mapping metadata") diff --git a/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/DataTypeMappingPipelineSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/DataTypeMappingPipelineSupport.java index c7049d78..3882111c 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/DataTypeMappingPipelineSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/DataTypeMappingPipelineSupport.java @@ -26,9 +26,6 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.SourceField; -import org.hopper.edw.datavault.metadata.SourceFieldInputOptions; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; @@ -36,6 +33,9 @@ import org.apache.hop.pipeline.transforms.selectvalues.SelectField; import org.apache.hop.pipeline.transforms.selectvalues.SelectMetadataChange; import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.SourceField; +import org.hopper.edw.datavault.metadata.SourceFieldInputOptions; /** * Builds and injects Select Values transforms that apply the effective data type mapping layout. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/PhysicalSourceField.java b/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/PhysicalSourceField.java index 126f7b53..996af4de 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/PhysicalSourceField.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/PhysicalSourceField.java @@ -18,9 +18,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.hopper.edw.catalog.model.CatalogSourceField; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; +import org.hopper.edw.catalog.model.CatalogSourceField; import org.hopper.edw.datavault.metadata.CsvFieldOptions; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.SourceFieldInputOptions; diff --git a/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/SourceDataTypeMappingPublishSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/SourceDataTypeMappingPublishSupport.java index 9b47dcaa..eb9b2ae2 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/SourceDataTypeMappingPublishSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/SourceDataTypeMappingPublishSupport.java @@ -18,8 +18,8 @@ import java.util.ArrayList; import java.util.List; import org.apache.hop.core.exception.HopException; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metadata.SourceField; /** * Resolves physical source fields through data type mappings into the catalog {@link SourceField} diff --git a/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/SourceDataTypeMappingSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/SourceDataTypeMappingSupport.java index f9e1f997..5847778e 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/SourceDataTypeMappingSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/SourceDataTypeMappingSupport.java @@ -20,6 +20,7 @@ import org.apache.hop.core.ICheckResult; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.sourcemodel.SourceColumn; import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; import org.hopper.edw.datavault.metadata.sourcemodel.SourceJsonField; @@ -27,7 +28,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; import org.hopper.edw.datavault.metadata.sourcemodel.SourceQueryColumn; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Resolve and validate data type mappings for source-model entities. */ public final class SourceDataTypeMappingSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/xp/RegisterDataTypeMappingMetadataExtensionPoint.java b/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/xp/RegisterDataTypeMappingMetadataExtensionPoint.java index e32b75f2..b74f5a69 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/xp/RegisterDataTypeMappingMetadataExtensionPoint.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/datatypemapping/xp/RegisterDataTypeMappingMetadataExtensionPoint.java @@ -26,9 +26,9 @@ import org.apache.hop.core.plugins.IPlugin; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingMeta; import org.apache.hop.metadata.api.HopMetadata; import org.apache.hop.metadata.plugin.MetadataPluginType; +import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingMeta; /** Registers {@link DataTypeMappingMeta} with Hop metadata after environment init. */ @ExtensionPoint( diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DimensionalConfiguration.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DimensionalConfiguration.java index bc743d98..2c714f56 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DimensionalConfiguration.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DimensionalConfiguration.java @@ -19,7 +19,6 @@ import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.gui.plugin.GuiElementType; import org.apache.hop.core.gui.plugin.GuiPlugin; @@ -27,17 +26,18 @@ import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.config.DataVaultConfigSingleton; -import org.hopper.edw.datavault.metadata.DvLoadCycleSupport; -import org.hopper.edw.datavault.metadata.DvTargetLoadConfigurationSupport; -import org.hopper.edw.datavault.metadata.DvTargetLoadMode; -import org.hopper.edw.datavault.metadata.IDvTargetLoadConfiguration; import org.apache.hop.metadata.api.HopMetadata; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.HopMetadataPropertyType; import org.apache.hop.metadata.api.IHopMetadata; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.datavault.config.DataVaultConfigSingleton; +import org.hopper.edw.datavault.metadata.DvLoadCycleSupport; +import org.hopper.edw.datavault.metadata.DvTargetLoadConfigurationSupport; +import org.hopper.edw.datavault.metadata.DvTargetLoadMode; +import org.hopper.edw.datavault.metadata.IDvTargetLoadConfiguration; /** * Warehouse configuration for dimensional models. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DimensionalModel.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DimensionalModel.java index 3daec59d..0dcaa1de 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DimensionalModel.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DimensionalModel.java @@ -39,17 +39,17 @@ import org.apache.hop.core.undo.ChangeAction; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DvNote; -import org.hopper.edw.datavault.metadata.DvTargetLoadModelCheckSupport; -import org.hopper.edw.datavault.metadata.DvTargetUnicodeCapabilitySupport; -import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; -import org.hopper.edw.datavault.metadata.coaching.ModelCoachingConfiguration; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHasName; import org.apache.hop.metadata.api.IHopMetadata; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metadata.DvNote; +import org.hopper.edw.datavault.metadata.DvTargetLoadModelCheckSupport; +import org.hopper.edw.datavault.metadata.DvTargetUnicodeCapabilitySupport; +import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; +import org.hopper.edw.datavault.metadata.coaching.ModelCoachingConfiguration; import org.jspecify.annotations.NonNull; /** Kimball dimensional model (star/snowflake scaffold). */ diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmAccumulatingSnapshotFact.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmAccumulatingSnapshotFact.java index 2ff26865..1d0e6878 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmAccumulatingSnapshotFact.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmAccumulatingSnapshotFact.java @@ -24,10 +24,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmAccumulatingSnapshotLoadBuilder; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmAccumulatingSnapshotLoadBuilder; /** Kimball accumulating snapshot fact updated across lifecycle milestones. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmAggregateFact.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmAggregateFact.java index 6248ace5..c0a28e65 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmAggregateFact.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmAggregateFact.java @@ -24,10 +24,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmFactLikeLoadBuilder; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmFactLikeLoadBuilder; /** Kimball aggregate fact at a reduced grain. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmBridge.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmBridge.java index 220112f5..f2624272 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmBridge.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmBridge.java @@ -24,10 +24,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmBridgeLoadBuilder; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmBridgeLoadBuilder; /** Kimball bridge table for many-to-many relationships. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmDateGeneratorConfiguration.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmDateGeneratorConfiguration.java index 88308a12..e9a633fd 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmDateGeneratorConfiguration.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmDateGeneratorConfiguration.java @@ -19,10 +19,10 @@ import java.util.List; import lombok.Getter; import lombok.Setter; +import org.apache.hop.metadata.api.HopMetadataProperty; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorField; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorMeta; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorMetaFactory; -import org.apache.hop.metadata.api.HopMetadataProperty; /** * Calendar generator options stored on a dimensional table with {@link diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmDimension.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmDimension.java index 6364be4a..b997c9b8 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmDimension.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmDimension.java @@ -25,13 +25,13 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.dimensional.DmDimensionLoadStrategySupport.DmDimensionLoadStrategy; import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmDimensionLookupBuilder; import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmInsertUpdateBuilder; import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmScd2DimensionBuilder; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; /** Kimball dimension table. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmFact.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmFact.java index 8649f9a0..3d100927 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmFact.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmFact.java @@ -24,10 +24,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmFactLikeLoadBuilder; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmFactLikeLoadBuilder; /** Kimball fact table. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmFactlessFact.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmFactlessFact.java index 40679341..74f7564c 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmFactlessFact.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmFactlessFact.java @@ -24,10 +24,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmFactLikeLoadBuilder; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmFactLikeLoadBuilder; /** Kimball factless fact (dimension foreign keys only). */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmJunkDimension.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmJunkDimension.java index b3ed9c45..90a18289 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmJunkDimension.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmJunkDimension.java @@ -24,10 +24,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmJunkDimensionBuilder; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmJunkDimensionBuilder; /** Kimball junk dimension maintained via Combination Lookup. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmLayoutSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmLayoutSupport.java index 85ae8b7c..3a90bd74 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmLayoutSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmLayoutSupport.java @@ -29,8 +29,8 @@ import org.apache.hop.core.row.value.ValueMetaTimestamp; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DvLoadCycleSupport; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metadata.DvLoadCycleSupport; /** Target table layout helpers aligned with Hop warehouse transform contracts. */ public final class DmLayoutSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmModelLoadSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmModelLoadSupport.java index a0e79df0..c9349f25 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmModelLoadSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmModelLoadSupport.java @@ -23,11 +23,11 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; -import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; +import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmPeriodicSnapshotFact.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmPeriodicSnapshotFact.java index 8da977e2..00b52271 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmPeriodicSnapshotFact.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmPeriodicSnapshotFact.java @@ -24,10 +24,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmFactLikeLoadBuilder; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmFactLikeLoadBuilder; /** Kimball periodic snapshot fact. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmSourceFieldResolutionSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmSourceFieldResolutionSupport.java index 996e768c..2d6ad17d 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmSourceFieldResolutionSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmSourceFieldResolutionSupport.java @@ -24,10 +24,10 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorField; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorMetaFactory; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Resolves field names produced by dimensional staging sources for validation. */ public final class DmSourceFieldResolutionSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmSourcePipelineSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmSourcePipelineSupport.java index 7879047d..770390ca 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmSourcePipelineSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmSourcePipelineSupport.java @@ -27,12 +27,12 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.pipeline.HeadlessPipelineFieldSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transforms.metainject.MetaInjectMeta; import org.apache.hop.pipeline.transforms.metainject.MetaInjectOutputField; +import org.hopper.edw.datavault.metadata.pipeline.HeadlessPipelineFieldSupport; /** Helpers for dimensional tables that use a Hop pipeline as the staging source. */ public final class DmSourcePipelineSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmSourceRecordDefinitionSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmSourceRecordDefinitionSupport.java index c31e0a73..47a84cf9 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmSourceRecordDefinitionSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmSourceRecordDefinitionSupport.java @@ -18,24 +18,24 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.hopper.edw.catalog.hopgui.preview.RecordDefinitionPreviewSupport; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; -import org.hopper.edw.datavault.metadata.DvSourcePreviewInputSupport; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.catalog.hopgui.preview.RecordDefinitionPreviewSupport; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; +import org.hopper.edw.datavault.metadata.DvSourcePreviewInputSupport; +import org.hopper.edw.datavault.metadata.SourceField; /** * Helpers for dimensional tables that use a data-catalog record definition as the staging source. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmTableBase.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmTableBase.java index 0466d3fb..15221c69 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmTableBase.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmTableBase.java @@ -32,15 +32,15 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DvConstraintDdlSupport; -import org.hopper.edw.datavault.metadata.DvDdlSupport; -import org.hopper.edw.datavault.metadata.ForeignKeySpec; -import org.hopper.edw.datavault.metadata.targettypemapping.TargetTypeMappingSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadata; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metadata.DvConstraintDdlSupport; +import org.hopper.edw.datavault.metadata.DvDdlSupport; +import org.hopper.edw.datavault.metadata.ForeignKeySpec; +import org.hopper.edw.datavault.metadata.targettypemapping.TargetTypeMappingSupport; @Getter @Setter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmValidationSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmValidationSupport.java index 12155925..ab2ebfd6 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/DmValidationSupport.java @@ -28,9 +28,9 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic; /** Kimball validation rules for dimensional model tables. */ public final class DmValidationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/dbimport/DmDatabaseTableImportSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/dbimport/DmDatabaseTableImportSupport.java index a0d35b8b..4b5b42f3 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/dbimport/DmDatabaseTableImportSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/dbimport/DmDatabaseTableImportSupport.java @@ -32,6 +32,8 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.DmBridge; @@ -48,8 +50,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DmTableBase; import org.hopper.edw.datavault.metadata.dimensional.DmTableType; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Imports existing database tables as draft dimensional model tables. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/dbimport/ImportDmDatabaseTablesOptionsDialog.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/dbimport/ImportDmDatabaseTablesOptionsDialog.java index cfd5ba59..a2ea63f5 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/dbimport/ImportDmDatabaseTablesOptionsDialog.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/dbimport/ImportDmDatabaseTablesOptionsDialog.java @@ -19,10 +19,6 @@ import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.EnumDialogSupport; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.dimensional.DmDimensionScdType; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.PropsUi; @@ -38,6 +34,10 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.EnumDialogSupport; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.dimensional.DmDimensionScdType; /** Collects connection and default SCD options before importing database tables. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmAccumulatingSnapshotLoadBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmAccumulatingSnapshotLoadBuilder.java index 10d38807..dd2955e0 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmAccumulatingSnapshotLoadBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmAccumulatingSnapshotLoadBuilder.java @@ -19,11 +19,6 @@ import java.util.List; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.hopper.edw.datavault.metadata.dimensional.DmAccumulatingSnapshotFact; -import org.hopper.edw.datavault.metadata.dimensional.DmFactDimensionRole; -import org.hopper.edw.datavault.metadata.dimensional.DmFactMeasure; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; @@ -32,6 +27,11 @@ import org.apache.hop.pipeline.transforms.insertupdate.InsertUpdateLookupField; import org.apache.hop.pipeline.transforms.insertupdate.InsertUpdateMeta; import org.apache.hop.pipeline.transforms.insertupdate.InsertUpdateValue; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; +import org.hopper.edw.datavault.metadata.dimensional.DmAccumulatingSnapshotFact; +import org.hopper.edw.datavault.metadata.dimensional.DmFactDimensionRole; +import org.hopper.edw.datavault.metadata.dimensional.DmFactMeasure; /** Generates accumulating snapshot fact pipelines with dimension lookups and Insert/Update. */ public final class DmAccumulatingSnapshotLoadBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmBridgeLoadBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmBridgeLoadBuilder.java index f48356e1..a7a16385 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmBridgeLoadBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmBridgeLoadBuilder.java @@ -19,10 +19,6 @@ import java.util.List; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.hopper.edw.datavault.metadata.dimensional.DmBridge; -import org.hopper.edw.datavault.metadata.dimensional.DmBridgeDimensionRef; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; @@ -31,6 +27,10 @@ import org.apache.hop.pipeline.transforms.insertupdate.InsertUpdateLookupField; import org.apache.hop.pipeline.transforms.insertupdate.InsertUpdateMeta; import org.apache.hop.pipeline.transforms.insertupdate.InsertUpdateValue; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; +import org.hopper.edw.datavault.metadata.dimensional.DmBridge; +import org.hopper.edw.datavault.metadata.dimensional.DmBridgeDimensionRef; /** Generates bridge table load pipelines using Insert/Update on dimension key combinations. */ public final class DmBridgeLoadBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmCombinationLookupBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmCombinationLookupBuilder.java index 13fb9358..3561ea8c 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmCombinationLookupBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmCombinationLookupBuilder.java @@ -16,10 +16,10 @@ package org.hopper.edw.datavault.metadata.dimensional.pipeline; import org.apache.hop.core.exception.HopException; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.hopper.edw.datavault.metadata.dimensional.DmJunkDimension; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; +import org.hopper.edw.datavault.metadata.dimensional.DmJunkDimension; /** * @deprecated Use {@link DmJunkDimensionBuilder} instead. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmDimensionLookupBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmDimensionLookupBuilder.java index 09acf9fc..b9736442 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmDimensionLookupBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmDimensionLookupBuilder.java @@ -19,6 +19,11 @@ import java.util.List; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineHopMeta; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; +import org.apache.hop.pipeline.transforms.dimensionlookup.DimensionLookupMeta; import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; @@ -30,11 +35,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DmScdUpdatePolicy; import org.hopper.edw.datavault.metadata.dimensional.DmSurrogateKeyStrategy; import org.hopper.edw.datavault.metadata.dimensional.DmSurrogateKeySupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineHopMeta; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; -import org.apache.hop.pipeline.transforms.dimensionlookup.DimensionLookupMeta; /** Builds Dimension Lookup transforms for fact FK resolution and hybrid / Type 3 dimensions. */ public final class DmDimensionLookupBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmFactDimensionJoinBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmFactDimensionJoinBuilder.java index 4ad48da3..c9088f07 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmFactDimensionJoinBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmFactDimensionJoinBuilder.java @@ -22,14 +22,6 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.hopper.edw.datavault.metadata.dimensional.DmDimension; -import org.hopper.edw.datavault.metadata.dimensional.DmDimensionResolutionSupport; -import org.hopper.edw.datavault.metadata.dimensional.DmFactDimensionJoinValidationSupport; -import org.hopper.edw.datavault.metadata.dimensional.DmFactDimensionRole; -import org.hopper.edw.datavault.metadata.dimensional.DmLayoutSupport; -import org.hopper.edw.datavault.metadata.dimensional.DmSurrogateKeySupport; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; @@ -38,6 +30,14 @@ import org.apache.hop.pipeline.transforms.selectvalues.SelectField; import org.apache.hop.pipeline.transforms.selectvalues.SelectMetadataChange; import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; +import org.hopper.edw.datavault.metadata.dimensional.DmDimension; +import org.hopper.edw.datavault.metadata.dimensional.DmDimensionResolutionSupport; +import org.hopper.edw.datavault.metadata.dimensional.DmFactDimensionJoinValidationSupport; +import org.hopper.edw.datavault.metadata.dimensional.DmFactDimensionRole; +import org.hopper.edw.datavault.metadata.dimensional.DmLayoutSupport; +import org.hopper.edw.datavault.metadata.dimensional.DmSurrogateKeySupport; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic; /** Prepares fact stream fields and dimension lookups for fact-to-dimension joins. */ public final class DmFactDimensionJoinBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmFactJunkDimensionJoinBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmFactJunkDimensionJoinBuilder.java index 54c0c70b..e2f3bf21 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmFactJunkDimensionJoinBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmFactJunkDimensionJoinBuilder.java @@ -18,12 +18,12 @@ import java.util.List; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.DmFactJunkDimensionRole; import org.hopper.edw.datavault.metadata.dimensional.DmJunkDimension; import org.hopper.edw.datavault.metadata.dimensional.DmJunkDimensionSupport; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; /** Configures JunkDimension transforms for fact junk dimension roles. */ public final class DmFactJunkDimensionJoinBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmFactLikeLoadBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmFactLikeLoadBuilder.java index aae1f317..aca509e9 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmFactLikeLoadBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmFactLikeLoadBuilder.java @@ -17,13 +17,13 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.DmTableBase; import org.hopper.edw.datavault.metadata.dimensional.IDmFactLikeTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; /** Generates fact-like load pipelines with role-playing dimension lookups. */ public final class DmFactLikeLoadBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmGeneratedPipelineSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmGeneratedPipelineSupport.java index 82ce659c..42d3d2c9 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmGeneratedPipelineSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmGeneratedPipelineSupport.java @@ -18,11 +18,11 @@ import java.util.List; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.layout.DvPipelineElkLayout; import org.hopper.edw.datavault.metadata.DvGeneratedPipelineSupport; import org.hopper.edw.datavault.metadata.IDvTargetLoadConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; -import org.apache.hop.pipeline.PipelineMeta; /** Saves generated dimensional update pipelines when configured to do so. */ public final class DmGeneratedPipelineSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmInsertUpdateBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmInsertUpdateBuilder.java index d36a3697..2b2922de 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmInsertUpdateBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmInsertUpdateBuilder.java @@ -18,9 +18,6 @@ import java.util.ArrayList; import java.util.List; import org.apache.hop.core.exception.HopException; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.hopper.edw.datavault.metadata.dimensional.DmDimension; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; @@ -29,6 +26,9 @@ import org.apache.hop.pipeline.transforms.insertupdate.InsertUpdateLookupField; import org.apache.hop.pipeline.transforms.insertupdate.InsertUpdateMeta; import org.apache.hop.pipeline.transforms.insertupdate.InsertUpdateValue; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; +import org.hopper.edw.datavault.metadata.dimensional.DmDimension; /** Generates SCD Type 1 dimension load pipelines using Insert/Update. */ public final class DmInsertUpdateBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmJunkDimensionBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmJunkDimensionBuilder.java index 0821ba07..cb1dc6cc 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmJunkDimensionBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmJunkDimensionBuilder.java @@ -19,6 +19,13 @@ import java.util.List; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineHopMeta; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; +import org.apache.hop.pipeline.transforms.combinationlookup.CFields; +import org.apache.hop.pipeline.transforms.combinationlookup.KeyField; +import org.apache.hop.pipeline.transforms.combinationlookup.ReturnFields; import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; @@ -30,13 +37,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DmNaturalKeyField; import org.hopper.edw.datavault.metadata.dimensional.DmSurrogateKeySupport; import org.hopper.edw.datavault.transform.junkdimension.JunkDimensionMeta; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineHopMeta; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; -import org.apache.hop.pipeline.transforms.combinationlookup.CFields; -import org.apache.hop.pipeline.transforms.combinationlookup.KeyField; -import org.apache.hop.pipeline.transforms.combinationlookup.ReturnFields; /** Generates junk dimension pipelines using the project-local JunkDimension transform. */ public final class DmJunkDimensionBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmNumberRangeBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmNumberRangeBuilder.java index 3aa1b5d8..5c93dbcd 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmNumberRangeBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmNumberRangeBuilder.java @@ -18,15 +18,15 @@ import java.util.List; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; +import org.apache.hop.pipeline.PipelineHopMeta; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; +import org.apache.hop.pipeline.transforms.numberrange.NumberRangeMeta; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.DmFactRangeDimensionRole; import org.hopper.edw.datavault.metadata.dimensional.DmRangeBand; import org.hopper.edw.datavault.metadata.dimensional.DmRangeDimension; import org.hopper.edw.datavault.metadata.dimensional.DmRangeDimensionSupport; -import org.apache.hop.pipeline.PipelineHopMeta; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; -import org.apache.hop.pipeline.transforms.numberrange.NumberRangeMeta; /** Configures NumberRange transforms for fact range dimension roles. */ public final class DmNumberRangeBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmPipelineBuilderSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmPipelineBuilderSupport.java index 730276ff..e217d390 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmPipelineBuilderSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmPipelineBuilderSupport.java @@ -25,6 +25,13 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineHopMeta; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; +import org.apache.hop.pipeline.transforms.dummy.DummyMeta; +import org.apache.hop.pipeline.transforms.metainject.MetaInjectMeta; +import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.hopper.edw.datavault.metadata.DvLoadCycleSupport; import org.hopper.edw.datavault.metadata.DvSqlSupport; import org.hopper.edw.datavault.metadata.DvTargetLoadSupport; @@ -43,13 +50,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DmTableBase; import org.hopper.edw.datavault.metadata.dimensional.DmTargetDatabaseSupport; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorMeta; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineHopMeta; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; -import org.apache.hop.pipeline.transforms.dummy.DummyMeta; -import org.apache.hop.pipeline.transforms.metainject.MetaInjectMeta; -import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; /** Shared helpers for generated dimensional load pipelines. */ public final class DmPipelineBuilderSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmScd2DimensionBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmScd2DimensionBuilder.java index 1cbc87fb..86bea998 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmScd2DimensionBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/pipeline/DmScd2DimensionBuilder.java @@ -30,13 +30,6 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.row.value.ValueMetaString; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.DvSqlSupport; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.hopper.edw.datavault.metadata.dimensional.DmDimension; -import org.hopper.edw.datavault.metadata.dimensional.DmSurrogateKeyStrategy; -import org.hopper.edw.datavault.metadata.dimensional.DmSurrogateKeySupport; -import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; @@ -63,6 +56,13 @@ import org.apache.hop.pipeline.transforms.update.UpdateKeyField; import org.apache.hop.pipeline.transforms.update.UpdateLookupField; import org.apache.hop.pipeline.transforms.update.UpdateMeta; +import org.hopper.edw.datavault.metadata.DvSqlSupport; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; +import org.hopper.edw.datavault.metadata.dimensional.DmDimension; +import org.hopper.edw.datavault.metadata.dimensional.DmSurrogateKeyStrategy; +import org.hopper.edw.datavault.metadata.dimensional.DmSurrogateKeySupport; +import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; /** Generates SCD Type 2 dimension pipelines using the proven satellite MergeRowsPlus pattern. */ public final class DmScd2DimensionBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/publish/DvPublishModelSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/publish/DvPublishModelSupport.java index 2216328e..c3def897 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/publish/DvPublishModelSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/publish/DvPublishModelSupport.java @@ -20,15 +20,15 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/publish/DvToDimensionalPublish.java b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/publish/DvToDimensionalPublish.java index 92bea55a..8cc8cded 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/dimensional/publish/DvToDimensionalPublish.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/dimensional/publish/DvToDimensionalPublish.java @@ -27,6 +27,7 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.BusinessKeySource; import org.hopper.edw.datavault.metadata.DataVaultConfiguration; @@ -53,7 +54,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DmSurrogateKeyStrategy; import org.hopper.edw.datavault.metadata.dimensional.DmTableBase; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.i18n.BaseMessages; /** * Publishes a Data Vault model to a draft Kimball dimensional model. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/CsvFileMetadataDiscovery.java b/src/main/java/org/hopper/edw/datavault/metadata/file/CsvFileMetadataDiscovery.java index a9742cf6..eb208f1d 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/CsvFileMetadataDiscovery.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/CsvFileMetadataDiscovery.java @@ -24,9 +24,6 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.CsvFieldOptions; -import org.hopper.edw.datavault.metadata.SourceField; -import org.hopper.edw.datavault.metadata.SourceFieldInputOptions; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; @@ -36,6 +33,9 @@ import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.dummy.DummyMeta; import org.apache.hop.pipeline.transforms.filemetadata.FileMetadataMeta; +import org.hopper.edw.datavault.metadata.CsvFieldOptions; +import org.hopper.edw.datavault.metadata.SourceField; +import org.hopper.edw.datavault.metadata.SourceFieldInputOptions; /** Discovers CSV / delimited file layout using the Hop File Metadata transform. */ public final class CsvFileMetadataDiscovery { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvHubSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvHubSourcePipelineBuilder.java index 73bd3190..4cbcf96d 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvHubSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvHubSourcePipelineBuilder.java @@ -23,15 +23,15 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvBusinessKeyPartSupport; import org.hopper.edw.datavault.metadata.DvHub; import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; public class DvCsvHubSourcePipelineBuilder extends DvFileSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvLinkSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvLinkSourcePipelineBuilder.java index 4fddf421..6c23641b 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvLinkSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvLinkSourcePipelineBuilder.java @@ -23,6 +23,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DependentChildKey; @@ -32,8 +34,6 @@ import org.hopper.edw.datavault.metadata.DvLinkHubSourceKeyFieldSupport; import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; @Getter @Setter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvReferenceSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvReferenceSourcePipelineBuilder.java index 5931ff49..922bdea7 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvReferenceSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvReferenceSourcePipelineBuilder.java @@ -26,6 +26,9 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -33,9 +36,6 @@ import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; import org.hopper.edw.datavault.metadata.IDvSource; import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; /** CSV/delimited file source leg for {@link DvReferenceTable} FULL_REPLACE loads. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvSatelliteSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvSatelliteSourcePipelineBuilder.java index 8b5df384..ae741de4 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvSatelliteSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvSatelliteSourcePipelineBuilder.java @@ -26,6 +26,8 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.AttributeSource; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -37,8 +39,6 @@ import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; import org.hopper.edw.datavault.metadata.IDvSource; import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; @Getter @Setter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvSource.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvSource.java index 496103dc..87d031c7 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvSource.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvSource.java @@ -19,10 +19,10 @@ import lombok.Setter; import org.apache.hop.core.gui.plugin.GuiElementType; import org.apache.hop.core.gui.plugin.GuiWidgetElement; +import org.apache.hop.metadata.api.HopMetadataProperty; import org.hopper.edw.datavault.metadata.DvSourceBase; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.HopMetadataProperty; /** * CSV / delimited text file implementation of {@link IDvSource}, embedded in {@link diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvSourceImportSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvSourceImportSupport.java index 73153052..92c6d37a 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvSourceImportSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvCsvSourceImportSupport.java @@ -18,15 +18,23 @@ import java.util.List; import java.util.stream.Collectors; import org.apache.commons.vfs2.FileObject; -import org.hopper.edw.catalog.discovery.PhysicalSourceRef; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; -import org.hopper.edw.catalog.discovery.RecordDefinitionDiscoveryService; -import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.ui.core.dialog.BaseDialog; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.hopgui.HopGui; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.MessageBox; +import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.discovery.PhysicalSourceRef; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; +import org.hopper.edw.catalog.discovery.RecordDefinitionDiscoveryService; +import org.hopper.edw.catalog.hopgui.perspective.DataCatalogPerspective; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; @@ -36,14 +44,6 @@ import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceImportSupport; import org.hopper.edw.datavault.metadata.database.ImportDatabaseTablesCatalogDialog; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.ui.core.dialog.BaseDialog; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.hopgui.HopGui; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.MessageBox; -import org.eclipse.swt.widgets.Shell; /** * Imports a single CSV file as a catalog-backed record definition using File Metadata discovery. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvFileLocationSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvFileLocationSupport.java index d0ddf854..75f707a7 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvFileLocationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvFileLocationSupport.java @@ -15,8 +15,8 @@ */ package org.hopper.edw.datavault.metadata.file; -import org.hopper.edw.catalog.model.PhysicalFileRef; import org.apache.hop.core.util.Utils; +import org.hopper.edw.catalog.model.PhysicalFileRef; /** Shared helpers for file-based Data Vault source locations. */ public final class DvFileLocationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvFileSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvFileSourcePipelineBuilder.java index 2d2318b0..d52ba599 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvFileSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvFileSourcePipelineBuilder.java @@ -28,14 +28,6 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.DvSortRowsSupport; -import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; -import org.hopper.edw.datavault.metadata.DvSourcePipelineBuilder; -import org.hopper.edw.datavault.metadata.IDvSource; -import org.hopper.edw.datavault.metadata.IDvTable; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; @@ -51,6 +43,14 @@ import org.apache.hop.pipeline.transforms.sort.SortRowsField; import org.apache.hop.pipeline.transforms.sort.SortRowsMeta; import org.apache.hop.pipeline.transforms.uniquerowsbyhashset.UniqueRowsByHashSetMeta; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.DvSortRowsSupport; +import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; +import org.hopper.edw.datavault.metadata.DvSourcePipelineBuilder; +import org.hopper.edw.datavault.metadata.IDvSource; +import org.hopper.edw.datavault.metadata.IDvTable; +import org.hopper.edw.datavault.metadata.SourceField; /** * Base pipeline builder for CSV / delimited file Data Vault sources. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetFileSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetFileSourcePipelineBuilder.java index 8f97b0a6..e18c5e9b 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetFileSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetFileSourcePipelineBuilder.java @@ -25,11 +25,6 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.IDvSource; -import org.hopper.edw.datavault.metadata.IDvTable; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; @@ -38,6 +33,11 @@ import org.apache.hop.pipeline.transforms.getfilenames.FileItem; import org.apache.hop.pipeline.transforms.getfilenames.FilterItem; import org.apache.hop.pipeline.transforms.getfilenames.GetFileNamesMeta; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.IDvSource; +import org.hopper.edw.datavault.metadata.IDvTable; +import org.hopper.edw.datavault.metadata.SourceField; /** Base pipeline builder for Parquet file Data Vault sources. */ public abstract class DvParquetFileSourcePipelineBuilder extends DvFileSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetHubSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetHubSourcePipelineBuilder.java index 448db22b..1fd2208f 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetHubSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetHubSourcePipelineBuilder.java @@ -23,15 +23,15 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvBusinessKeyPartSupport; import org.hopper.edw.datavault.metadata.DvHub; import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; public class DvParquetHubSourcePipelineBuilder extends DvParquetFileSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetLinkSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetLinkSourcePipelineBuilder.java index d2f19ba5..83f0bdfd 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetLinkSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetLinkSourcePipelineBuilder.java @@ -23,6 +23,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DrivingKeySource; @@ -31,8 +33,6 @@ import org.hopper.edw.datavault.metadata.DvLinkHubSourceKeyFieldSupport; import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; @Getter @Setter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetSatelliteSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetSatelliteSourcePipelineBuilder.java index fb07363f..afe3880b 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetSatelliteSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetSatelliteSourcePipelineBuilder.java @@ -26,6 +26,8 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.AttributeSource; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -37,8 +39,6 @@ import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; import org.hopper.edw.datavault.metadata.IDvSource; import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; @Getter @Setter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetSource.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetSource.java index 4d9d2342..186b474a 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetSource.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetSource.java @@ -19,9 +19,9 @@ import lombok.Setter; import org.apache.hop.core.gui.plugin.GuiElementType; import org.apache.hop.core.gui.plugin.GuiWidgetElement; +import org.apache.hop.metadata.api.HopMetadataProperty; import org.hopper.edw.datavault.metadata.DvSourceBase; import org.hopper.edw.datavault.metadata.DvSourceType; -import org.apache.hop.metadata.api.HopMetadataProperty; /** Parquet file implementation of a Data Vault source. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetSourceImportSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetSourceImportSupport.java index 95c9bd48..3c9b5622 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetSourceImportSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvParquetSourceImportSupport.java @@ -18,14 +18,22 @@ import java.util.List; import java.util.stream.Collectors; import org.apache.commons.vfs2.FileObject; -import org.hopper.edw.catalog.discovery.PhysicalSourceRef; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; -import org.hopper.edw.catalog.discovery.RecordDefinitionDiscoveryService; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.ui.core.dialog.BaseDialog; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.hopgui.HopGui; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.MessageBox; +import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.discovery.PhysicalSourceRef; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; +import org.hopper.edw.catalog.discovery.RecordDefinitionDiscoveryService; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; @@ -35,14 +43,6 @@ import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceImportSupport; import org.hopper.edw.datavault.metadata.database.ImportDatabaseTablesCatalogDialog; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.ui.core.dialog.BaseDialog; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.hopgui.HopGui; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.MessageBox; -import org.eclipse.swt.widgets.Shell; /** Imports a single Parquet file as a catalog-backed record definition. */ public final class DvParquetSourceImportSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/DvTextFileInputFieldSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/file/DvTextFileInputFieldSupport.java index e51ab3ae..082db81b 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/DvTextFileInputFieldSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/DvTextFileInputFieldSupport.java @@ -20,9 +20,9 @@ import org.apache.hop.core.gui.ITextFileInputField; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; +import org.apache.hop.pipeline.transforms.csvinput.CsvInputField; import org.hopper.edw.datavault.metadata.CsvFieldOptions; import org.hopper.edw.datavault.metadata.SourceField; -import org.apache.hop.pipeline.transforms.csvinput.CsvInputField; /** Applies {@link SourceField} typing and CSV parsing options to Hop text-file input fields. */ public final class DvTextFileInputFieldSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/ImportCsvFileOptionsDialog.java b/src/main/java/org/hopper/edw/datavault/metadata/file/ImportCsvFileOptionsDialog.java index 84f14155..a6f2cc90 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/ImportCsvFileOptionsDialog.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/ImportCsvFileOptionsDialog.java @@ -19,10 +19,6 @@ import lombok.Getter; import lombok.Setter; import org.apache.hop.core.Const; -import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.RecordSourceIndicatorImportSection; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -36,6 +32,10 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.RecordSourceIndicatorImportSection; /** Collects import options before importing a CSV file as a catalog record definition. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/ImportParquetFileOptionsDialog.java b/src/main/java/org/hopper/edw/datavault/metadata/file/ImportParquetFileOptionsDialog.java index 913e0a8b..556e0e5e 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/ImportParquetFileOptionsDialog.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/ImportParquetFileOptionsDialog.java @@ -19,10 +19,6 @@ import lombok.Getter; import lombok.Setter; import org.apache.hop.core.Const; -import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.RecordSourceIndicatorImportSection; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -36,6 +32,10 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.RecordSourceIndicatorImportSection; /** Collects import options before importing a Parquet file as a catalog record definition. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/file/ParquetFileMetadataDiscovery.java b/src/main/java/org/hopper/edw/datavault/metadata/file/ParquetFileMetadataDiscovery.java index 36798bdd..c4b6032d 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/file/ParquetFileMetadataDiscovery.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/file/ParquetFileMetadataDiscovery.java @@ -24,7 +24,6 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; @@ -38,6 +37,7 @@ import org.apache.hop.pipeline.transforms.getfilenames.FilterItem; import org.apache.hop.pipeline.transforms.getfilenames.GetFileNamesMeta; import org.apache.hop.pipeline.transforms.metastructure.TransformMetaStructureMeta; +import org.hopper.edw.datavault.metadata.SourceField; /** Discovers Parquet file layout by running an anonymous Hop pipeline in the Parquet plugin. */ public final class ParquetFileMetadataDiscovery { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergHubSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergHubSourcePipelineBuilder.java index 749362e5..287c4ddf 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergHubSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergHubSourcePipelineBuilder.java @@ -23,15 +23,15 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvBusinessKeyPartSupport; import org.hopper.edw.datavault.metadata.DvHub; import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; public class DvIcebergHubSourcePipelineBuilder extends DvIcebergSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergLinkSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergLinkSourcePipelineBuilder.java index bc7830d4..00a87ae5 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergLinkSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergLinkSourcePipelineBuilder.java @@ -23,6 +23,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DrivingKeySource; @@ -31,8 +33,6 @@ import org.hopper.edw.datavault.metadata.DvLinkHubSourceKeyFieldSupport; import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; @Getter @Setter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSatelliteSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSatelliteSourcePipelineBuilder.java index 3328a24a..fd479efc 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSatelliteSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSatelliteSourcePipelineBuilder.java @@ -26,6 +26,8 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.AttributeSource; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -37,8 +39,6 @@ import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; import org.hopper.edw.datavault.metadata.IDvSource; import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; @Getter @Setter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSource.java b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSource.java index 5de95b68..dfcffcfe 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSource.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSource.java @@ -26,11 +26,11 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DvSourceBase; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.SourceField; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Iceberg table implementation of a Data Vault source. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSourceImportSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSourceImportSupport.java index faa80e00..67612ade 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSourceImportSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSourceImportSupport.java @@ -17,12 +17,19 @@ import java.util.List; import java.util.stream.Collectors; -import org.hopper.edw.catalog.discovery.PhysicalSourceRef; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; -import org.hopper.edw.catalog.discovery.RecordDefinitionDiscoveryService; import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.ui.core.dialog.ErrorDialog; +import org.apache.hop.ui.hopgui.HopGui; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.MessageBox; +import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.catalog.discovery.PhysicalSourceRef; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; +import org.hopper.edw.catalog.discovery.RecordDefinitionDiscoveryService; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; @@ -32,13 +39,6 @@ import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceImportSupport; import org.hopper.edw.datavault.metadata.database.ImportDatabaseTablesCatalogDialog; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.ui.core.dialog.ErrorDialog; -import org.apache.hop.ui.hopgui.HopGui; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.MessageBox; -import org.eclipse.swt.widgets.Shell; /** Imports an Iceberg table as a catalog-backed record definition. */ public final class DvIcebergSourceImportSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSourceLiveSchemaSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSourceLiveSchemaSupport.java index e66607c6..6e7619dd 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSourceLiveSchemaSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSourceLiveSchemaSupport.java @@ -15,14 +15,14 @@ */ package org.hopper.edw.datavault.metadata.iceberg; -import org.hopper.edw.catalog.discovery.HopVariableResolutionSupport; -import org.hopper.edw.catalog.discovery.PhysicalSourceRef; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.discovery.HopVariableResolutionSupport; +import org.hopper.edw.catalog.discovery.PhysicalSourceRef; +import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; /** Resolves live Iceberg table column metadata for {@link DvIcebergSource}. */ public final class DvIcebergSourceLiveSchemaSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSourcePipelineBuilder.java index c8a6e471..419f2545 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/DvIcebergSourcePipelineBuilder.java @@ -23,6 +23,9 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.IDvSource; @@ -31,9 +34,6 @@ import org.hopper.edw.datavault.metadata.file.DvFileSourcePipelineBuilder; import org.hopper.edw.datavault.transform.iceberginput.IcebergTableInputField; import org.hopper.edw.datavault.transform.iceberginput.IcebergTableInputMeta; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; /** Base pipeline builder for Iceberg Data Vault sources. */ public abstract class DvIcebergSourcePipelineBuilder extends DvFileSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/IcebergConnectionSettings.java b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/IcebergConnectionSettings.java index b56d3a99..001689af 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/IcebergConnectionSettings.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/IcebergConnectionSettings.java @@ -15,11 +15,11 @@ */ package org.hopper.edw.datavault.metadata.iceberg; -import org.hopper.edw.catalog.discovery.HopVariableResolutionSupport; -import org.hopper.edw.catalog.discovery.PhysicalSourceRef; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.hopper.edw.catalog.discovery.HopVariableResolutionSupport; +import org.hopper.edw.catalog.discovery.PhysicalSourceRef; import org.hopper.edw.datavault.transform.iceberginput.IcebergTableInputMeta; /** Resolved Iceberg REST catalog and warehouse connection settings. */ diff --git a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/IcebergTableMetadataDiscovery.java b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/IcebergTableMetadataDiscovery.java index 8e1ce36a..b987973d 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/IcebergTableMetadataDiscovery.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/IcebergTableMetadataDiscovery.java @@ -20,12 +20,10 @@ import java.util.List; import java.util.Map; import org.apache.hadoop.conf.Configuration; -import org.hopper.edw.catalog.discovery.PhysicalSourceRef; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.i18n.BaseMessages; import org.apache.iceberg.CatalogProperties; import org.apache.iceberg.CatalogUtil; @@ -35,6 +33,8 @@ import org.apache.iceberg.catalog.TableIdentifier; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; +import org.hopper.edw.catalog.discovery.PhysicalSourceRef; +import org.hopper.edw.datavault.metadata.SourceField; /** Discovers Iceberg table layout from a REST catalog and S3-compatible warehouse. */ public final class IcebergTableMetadataDiscovery { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/ImportIcebergTableDialog.java b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/ImportIcebergTableDialog.java index 7ff4a1bf..1e0d87a7 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/ImportIcebergTableDialog.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/ImportIcebergTableDialog.java @@ -20,8 +20,6 @@ import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -36,6 +34,8 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; /** Collects Iceberg connection settings before importing a table into the data catalog. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/ImportIcebergTableOptionsDialog.java b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/ImportIcebergTableOptionsDialog.java index d814c7e0..225bfa64 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/iceberg/ImportIcebergTableOptionsDialog.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/iceberg/ImportIcebergTableOptionsDialog.java @@ -21,10 +21,6 @@ import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.RecordSourceIndicatorImportSection; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.BaseDialog; @@ -39,6 +35,10 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.RecordSourceIndicatorImportSection; /** Collects import options before importing an Iceberg table as a catalog record definition. */ @Getter diff --git a/src/main/java/org/hopper/edw/datavault/metadata/jinja/JinjaMacroLibraryMetaEditor.java b/src/main/java/org/hopper/edw/datavault/metadata/jinja/JinjaMacroLibraryMetaEditor.java index a7cd5f35..1d202562 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/jinja/JinjaMacroLibraryMetaEditor.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/jinja/JinjaMacroLibraryMetaEditor.java @@ -22,9 +22,6 @@ import org.apache.hop.core.Const; import org.apache.hop.core.gui.plugin.GuiPlugin; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.jinja.BvSqlJinjaSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.dialog.ErrorDialog; @@ -46,6 +43,9 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.jinja.BvSqlJinjaSupport; /** Editor for project-level {@link JinjaMacroLibraryMeta} libraries. */ @GuiPlugin(description = "Editor for Jinja Macro Library metadata") diff --git a/src/main/java/org/hopper/edw/datavault/metadata/jinja/xp/RegisterJinjaMacroLibraryMetadataExtensionPoint.java b/src/main/java/org/hopper/edw/datavault/metadata/jinja/xp/RegisterJinjaMacroLibraryMetadataExtensionPoint.java index d2fa554f..eab009d9 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/jinja/xp/RegisterJinjaMacroLibraryMetadataExtensionPoint.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/jinja/xp/RegisterJinjaMacroLibraryMetadataExtensionPoint.java @@ -26,9 +26,9 @@ import org.apache.hop.core.plugins.IPlugin; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.jinja.JinjaMacroLibraryMeta; import org.apache.hop.metadata.api.HopMetadata; import org.apache.hop.metadata.plugin.MetadataPluginType; +import org.hopper.edw.datavault.metadata.jinja.JinjaMacroLibraryMeta; /** Registers {@link JinjaMacroLibraryMeta} with Hop metadata after environment init. */ @ExtensionPoint( diff --git a/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonHubSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonHubSourcePipelineBuilder.java index 92bb68f3..4d74ae09 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonHubSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonHubSourcePipelineBuilder.java @@ -20,15 +20,15 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvBusinessKeyPartSupport; import org.hopper.edw.datavault.metadata.DvHub; import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; /** * JSON hub source: after the JsonInput graph, sort and distinct on hub identity fields so diff --git a/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonLinkSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonLinkSourcePipelineBuilder.java index 11e111e3..1bbafa5c 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonLinkSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonLinkSourcePipelineBuilder.java @@ -17,12 +17,12 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvLink; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; public class DvJsonLinkSourcePipelineBuilder extends DvJsonSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSatelliteSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSatelliteSourcePipelineBuilder.java index f4921f0a..58155dd9 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSatelliteSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSatelliteSourcePipelineBuilder.java @@ -17,12 +17,12 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvSatellite; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; public class DvJsonSatelliteSourcePipelineBuilder extends DvJsonSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSource.java b/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSource.java index ab4fe6aa..e97762ea 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSource.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSource.java @@ -24,11 +24,11 @@ import org.apache.hop.core.gui.plugin.GuiElementType; import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DvSourceBase; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * JSON extraction feed defined by a {@code SourceJson} inside a {@code .hsm} source model. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSourcePipelineBuilder.java index 7780c8ba..3a7058be 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSourcePipelineBuilder.java @@ -25,15 +25,6 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.DvSatellite; -import org.hopper.edw.datavault.metadata.DvSortRowsSupport; -import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; -import org.hopper.edw.datavault.metadata.DvSourcePipelineBuilder; -import org.hopper.edw.datavault.metadata.IDvSource; -import org.hopper.edw.datavault.metadata.IDvTable; -import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceJsonPipelineGenerator; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; @@ -45,6 +36,15 @@ import org.apache.hop.pipeline.transforms.sort.SortRowsField; import org.apache.hop.pipeline.transforms.sort.SortRowsMeta; import org.apache.hop.pipeline.transforms.uniquerowsbyhashset.UniqueRowsByHashSetMeta; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.DvSatellite; +import org.hopper.edw.datavault.metadata.DvSortRowsSupport; +import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; +import org.hopper.edw.datavault.metadata.DvSourcePipelineBuilder; +import org.hopper.edw.datavault.metadata.IDvSource; +import org.hopper.edw.datavault.metadata.IDvTable; +import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceJsonPipelineGenerator; /** * Base pipeline builder for {@link DvJsonSource}: inject parent + JsonInput graph from .hsm, then diff --git a/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSourceResolver.java b/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSourceResolver.java index 60162994..a1a350f6 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSourceResolver.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/json/DvJsonSourceResolver.java @@ -18,10 +18,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Loads a live {@link SourceJson} for a {@link DvJsonSource}. */ public final class DvJsonSourceResolver { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/lineage/FileFolderBackendSettings.java b/src/main/java/org/hopper/edw/datavault/metadata/lineage/FileFolderBackendSettings.java index b404ca18..019235f1 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/lineage/FileFolderBackendSettings.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/lineage/FileFolderBackendSettings.java @@ -27,10 +27,10 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; -import org.hopper.edw.datavault.lineageview.backend.LineageBackendKind; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.lineageview.backend.LineageBackendKind; /** Folder of exported OpenLineage RunEvent JSON files. */ @GuiPlugin(id = "GUI-FileFolderLineageBackend") diff --git a/src/main/java/org/hopper/edw/datavault/metadata/lineage/ILineageBackendSettings.java b/src/main/java/org/hopper/edw/datavault/metadata/lineage/ILineageBackendSettings.java index 3672b6f8..8e60029d 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/lineage/ILineageBackendSettings.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/lineage/ILineageBackendSettings.java @@ -18,9 +18,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.lineageview.backend.LineageBackendKind; import org.apache.hop.metadata.api.HopMetadataObject; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.lineageview.backend.LineageBackendKind; /** Nested settings for a lineage backend connection. */ @HopMetadataObject(objectFactory = LineageBackendSettingsFactory.class) diff --git a/src/main/java/org/hopper/edw/datavault/metadata/lineage/LocalModelsBackendSettings.java b/src/main/java/org/hopper/edw/datavault/metadata/lineage/LocalModelsBackendSettings.java index 496b7bbc..08518817 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/lineage/LocalModelsBackendSettings.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/lineage/LocalModelsBackendSettings.java @@ -17,7 +17,6 @@ import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.plugin.GuiElementType; import org.apache.hop.core.gui.plugin.GuiPlugin; @@ -25,12 +24,13 @@ import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.lineageview.backend.LineageBackendKind; -import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; -import org.hopper.edw.datavault.resourcedefinition.ValidationModels; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.datavault.lineageview.backend.LineageBackendKind; +import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; +import org.hopper.edw.datavault.resourcedefinition.ValidationModels; /** Collects lineage from current DV/BV/DM models in a resource definition group. */ @GuiPlugin(id = "GUI-LocalModelsLineageBackend") diff --git a/src/main/java/org/hopper/edw/datavault/metadata/lineage/MarquezBackendSettings.java b/src/main/java/org/hopper/edw/datavault/metadata/lineage/MarquezBackendSettings.java index 495470e9..785ed600 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/lineage/MarquezBackendSettings.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/lineage/MarquezBackendSettings.java @@ -25,12 +25,12 @@ import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.lineageview.backend.LineageBackendKind; -import org.hopper.edw.datavault.lineageview.backend.marquez.MarquezLineageQueryService; -import org.hopper.edw.datavault.lineageview.backend.marquez.MarquezUrls; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.lineageview.backend.LineageBackendKind; +import org.hopper.edw.datavault.lineageview.backend.marquez.MarquezLineageQueryService; +import org.hopper.edw.datavault.lineageview.backend.marquez.MarquezUrls; /** Marquez 0.50 HTTP query settings. */ @GuiPlugin(id = "GUI-MarquezLineageBackend") diff --git a/src/main/java/org/hopper/edw/datavault/metadata/lineage/xp/RegisterLineageBackendMetadataExtensionPoint.java b/src/main/java/org/hopper/edw/datavault/metadata/lineage/xp/RegisterLineageBackendMetadataExtensionPoint.java index 9f41944d..16981ec7 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/lineage/xp/RegisterLineageBackendMetadataExtensionPoint.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/lineage/xp/RegisterLineageBackendMetadataExtensionPoint.java @@ -26,9 +26,9 @@ import org.apache.hop.core.plugins.IPlugin; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.lineage.LineageBackendMeta; import org.apache.hop.metadata.api.HopMetadata; import org.apache.hop.metadata.plugin.MetadataPluginType; +import org.hopper.edw.datavault.metadata.lineage.LineageBackendMeta; /** Registers {@link LineageBackendMeta} with Hop metadata after environment init. */ @ExtensionPoint( diff --git a/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineHubSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineHubSourcePipelineBuilder.java index c164936e..0f4b819b 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineHubSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineHubSourcePipelineBuilder.java @@ -20,15 +20,15 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvBusinessKeyPartSupport; import org.hopper.edw.datavault.metadata.DvHub; import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; /** Pipeline hub source: MetaInject + sort/distinct on hub identity fields. */ public class DvPipelineHubSourcePipelineBuilder extends DvPipelineSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineLinkSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineLinkSourcePipelineBuilder.java index cbf3b627..c0373a01 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineLinkSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineLinkSourcePipelineBuilder.java @@ -17,12 +17,12 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvLink; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; /** Pipeline link source: MetaInject + record-source indicator. */ public class DvPipelineLinkSourcePipelineBuilder extends DvPipelineSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSatelliteSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSatelliteSourcePipelineBuilder.java index aaed232d..6b540d53 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSatelliteSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSatelliteSourcePipelineBuilder.java @@ -17,12 +17,12 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvSatellite; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; /** Pipeline satellite source: MetaInject + record-source indicator. */ public class DvPipelineSatelliteSourcePipelineBuilder extends DvPipelineSourcePipelineBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSource.java b/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSource.java index 14d12844..90222c4e 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSource.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSource.java @@ -23,11 +23,11 @@ import org.apache.hop.core.gui.plugin.GuiElementType; import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DvSourceBase; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.IDvSource; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Pipeline-backed feed, typically published from a {@code SourcePipeline} in a {@code .hsm} source diff --git a/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSourcePipelineBuilder.java b/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSourcePipelineBuilder.java index 0c829801..535a7b59 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSourcePipelineBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSourcePipelineBuilder.java @@ -23,14 +23,6 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DataVaultSource; -import org.hopper.edw.datavault.metadata.DvSatellite; -import org.hopper.edw.datavault.metadata.DvSortRowsSupport; -import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; -import org.hopper.edw.datavault.metadata.DvSourcePipelineBuilder; -import org.hopper.edw.datavault.metadata.IDvSource; -import org.hopper.edw.datavault.metadata.IDvTable; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; @@ -43,6 +35,14 @@ import org.apache.hop.pipeline.transforms.sort.SortRowsField; import org.apache.hop.pipeline.transforms.sort.SortRowsMeta; import org.apache.hop.pipeline.transforms.uniquerowsbyhashset.UniqueRowsByHashSetMeta; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DataVaultSource; +import org.hopper.edw.datavault.metadata.DvSatellite; +import org.hopper.edw.datavault.metadata.DvSortRowsSupport; +import org.hopper.edw.datavault.metadata.DvSourceFieldMappingSupport; +import org.hopper.edw.datavault.metadata.DvSourcePipelineBuilder; +import org.hopper.edw.datavault.metadata.IDvSource; +import org.hopper.edw.datavault.metadata.IDvTable; /** * Base builder for {@link DvPipelineSource}: MetaInject of the user pipeline, then record-source diff --git a/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSourceSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSourceSupport.java index 90f953e8..fa252c80 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSourceSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSourceSupport.java @@ -26,7 +26,6 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.vfs.HopVfs; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.Pipeline; @@ -36,6 +35,7 @@ import org.apache.hop.pipeline.transform.RowAdapter; import org.apache.hop.pipeline.transforms.metainject.MetaInjectMeta; import org.apache.hop.pipeline.transforms.metainject.MetaInjectOutputField; +import org.hopper.edw.datavault.metadata.SourceField; /** Helpers for {@link DvPipelineSource}: load pipeline meta, MetaInject, and preview. */ public final class DvPipelineSourceSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceJson.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceJson.java index f3220923..74f31620 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceJson.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceJson.java @@ -21,11 +21,11 @@ import lombok.Getter; import lombok.Setter; import org.apache.hop.core.gui.Point; -import org.hopper.edw.datavault.metadata.datatypemapping.IDataTypeMappingTarget; -import org.hopper.edw.datavault.metadata.datatypemapping.SourceFieldTypeMapping; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadata; +import org.hopper.edw.datavault.metadata.datatypemapping.IDataTypeMappingTarget; +import org.hopper.edw.datavault.metadata.datatypemapping.SourceFieldTypeMapping; import org.jspecify.annotations.NonNull; /** diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceModel.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceModel.java index c39186a8..463dbf29 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceModel.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceModel.java @@ -37,14 +37,14 @@ import org.apache.hop.core.undo.ChangeAction; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DvNote; -import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHasName; import org.apache.hop.metadata.api.IHopMetadata; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metadata.DvNote; +import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.jspecify.annotations.NonNull; /** diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceModelConfiguration.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceModelConfiguration.java index 98ef12e6..f475944f 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceModelConfiguration.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceModelConfiguration.java @@ -26,12 +26,12 @@ import org.apache.hop.core.gui.plugin.GuiPlugin; import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.datatypemapping.IDataTypeMappingTarget; import org.apache.hop.metadata.api.HopMetadata; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.HopMetadataPropertyType; import org.apache.hop.metadata.api.IHopMetadata; +import org.hopper.edw.datavault.metadata.datatypemapping.IDataTypeMappingTarget; /** * Default connection and naming settings for source models. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceModelLoadSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceModelLoadSupport.java index 4a744bb8..ff54220c 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceModelLoadSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceModelLoadSupport.java @@ -19,9 +19,9 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourcePipeline.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourcePipeline.java index 8d25c315..73ccc759 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourcePipeline.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourcePipeline.java @@ -21,11 +21,11 @@ import lombok.Getter; import lombok.Setter; import org.apache.hop.core.gui.Point; -import org.hopper.edw.datavault.metadata.datatypemapping.IDataTypeMappingTarget; -import org.hopper.edw.datavault.metadata.datatypemapping.SourceFieldTypeMapping; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadata; +import org.hopper.edw.datavault.metadata.datatypemapping.IDataTypeMappingTarget; +import org.hopper.edw.datavault.metadata.datatypemapping.SourceFieldTypeMapping; import org.jspecify.annotations.NonNull; /** diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceQuery.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceQuery.java index d06bb34e..871667b3 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceQuery.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceQuery.java @@ -21,11 +21,11 @@ import lombok.Getter; import lombok.Setter; import org.apache.hop.core.gui.Point; -import org.hopper.edw.datavault.metadata.datatypemapping.IDataTypeMappingTarget; -import org.hopper.edw.datavault.metadata.datatypemapping.SourceFieldTypeMapping; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadata; +import org.hopper.edw.datavault.metadata.datatypemapping.IDataTypeMappingTarget; +import org.hopper.edw.datavault.metadata.datatypemapping.SourceFieldTypeMapping; import org.jspecify.annotations.NonNull; /** diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceQueryValidationSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceQueryValidationSupport.java index bb1b742a..604e82ff 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceQueryValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceQueryValidationSupport.java @@ -25,11 +25,11 @@ import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQueryGenerationSupport; import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQuerySqlGenerator; import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlEngine; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Structural and SQL-generation checks for a {@link SourceQuery}. */ public final class SourceQueryValidationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceTable.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceTable.java index be1d7cd5..d5fa35d4 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceTable.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceTable.java @@ -24,12 +24,12 @@ import org.apache.hop.core.gui.IGuiPosition; import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.DvSourceType; -import org.hopper.edw.datavault.metadata.datatypemapping.IDataTypeMappingTarget; -import org.hopper.edw.datavault.metadata.datatypemapping.SourceFieldTypeMapping; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadata; +import org.hopper.edw.datavault.metadata.DvSourceType; +import org.hopper.edw.datavault.metadata.datatypemapping.IDataTypeMappingTarget; +import org.hopper.edw.datavault.metadata.datatypemapping.SourceFieldTypeMapping; import org.jspecify.annotations.NonNull; /** diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceTableLiveSchemaSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceTableLiveSchemaSupport.java index 08deab85..c4c846a6 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceTableLiveSchemaSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceTableLiveSchemaSupport.java @@ -33,10 +33,10 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.database.DvDatabaseSourceImportSupport; import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceTablePreviewSupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Live database column discovery and compare for source-model tables (Get columns / Show diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceTableValidationSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceTableValidationSupport.java index 904d7339..20a333b4 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceTableValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/SourceTableValidationSupport.java @@ -23,8 +23,8 @@ import org.apache.hop.core.ICheckResult; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceTablePreviewSupport; import org.apache.hop.i18n.BaseMessages; +import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceTablePreviewSupport; /** Structural checks for a single {@link SourceTable}. */ public final class SourceTableValidationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonParentSampleSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonParentSampleSupport.java index 4d85cfde..124a41dd 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonParentSampleSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonParentSampleSupport.java @@ -26,6 +26,7 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; import org.hopper.edw.datavault.metadata.sourcemodel.SourceJsonParentKind; @@ -33,7 +34,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; import org.hopper.edw.datavault.metadata.sourcemodel.SourceQueryGenerationMode; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Samples JSON document strings from a {@link SourceJson} parent (table / query / chained JSON). diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonPipelineGenerator.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonPipelineGenerator.java index f7f547b4..8a5ad706 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonPipelineGenerator.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonPipelineGenerator.java @@ -24,13 +24,6 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DvSqlSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceJsonField; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceJsonParentKind; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; @@ -40,6 +33,13 @@ import org.apache.hop.pipeline.transforms.selectvalues.SelectField; import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.datavault.metadata.DvSqlSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceJsonField; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceJsonParentKind; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; /** * Builds a Hop pipeline that materialises a {@link SourceJson} extraction: parent source input + diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonPreviewSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonPreviewSupport.java index 71c857cf..1bf4b9f3 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonPreviewSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonPreviewSupport.java @@ -22,8 +22,6 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.Pipeline; import org.apache.hop.pipeline.PipelineMeta; @@ -31,6 +29,8 @@ import org.apache.hop.pipeline.transform.ITransform; import org.apache.hop.pipeline.transform.RowAdapter; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; /** * Interactive preview of a {@link SourceJson} extraction by generating and running a limited local diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourcePipelineCatalogImportSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourcePipelineCatalogImportSupport.java index 4c20f955..338a944b 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourcePipelineCatalogImportSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourcePipelineCatalogImportSupport.java @@ -17,16 +17,16 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.transform.recorddatainput.RecordDefinitionDataInputMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.pipeline.DvPipelineSourceSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.SourcePipelineCatalogSource; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.ITransformMeta; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.catalog.transform.recorddatainput.RecordDefinitionDataInputMeta; +import org.hopper.edw.datavault.metadata.pipeline.DvPipelineSourceSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.SourcePipelineCatalogSource; /** * Scans a Hop pipeline for {@link RecordDefinitionDataInputMeta} transforms and builds catalog diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceQueryPipelineGenerator.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceQueryPipelineGenerator.java index c88d640a..8e9c8ddb 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceQueryPipelineGenerator.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceQueryPipelineGenerator.java @@ -25,16 +25,6 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.DvSqlSupport; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceQueryColumn; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceQueryGenerationMode; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceQueryJoin; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; -import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlEngine; -import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlOptions; -import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlPlan; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; @@ -45,6 +35,16 @@ import org.apache.hop.pipeline.transforms.sort.SortRowsField; import org.apache.hop.pipeline.transforms.sort.SortRowsMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.datavault.metadata.DvSqlSupport; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceQueryColumn; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceQueryGenerationMode; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceQueryJoin; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; +import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlEngine; +import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlOptions; +import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlPlan; /** * Builds a Hop pipeline that materialises a {@link SourceQuery}. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceQueryPreviewSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceQueryPreviewSupport.java index e7811ce3..8719cd57 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceQueryPreviewSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceQueryPreviewSupport.java @@ -26,10 +26,10 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceQuery; import org.hopper.edw.datavault.metadata.sourcemodel.SourceQueryGenerationMode; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Interactive preview of a source query (SQL mode and FREE_SQL). */ public final class SourceQueryPreviewSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceTablePreviewSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceTablePreviewSupport.java index 5c855f27..a346d3f9 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceTablePreviewSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceTablePreviewSupport.java @@ -26,10 +26,10 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Interactive preview of a {@link SourceTable} (database tables). */ public final class SourceTablePreviewSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/importing/DatabaseSchemaImportSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/importing/DatabaseSchemaImportSupport.java index 31ace12d..d338f312 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/importing/DatabaseSchemaImportSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/importing/DatabaseSchemaImportSupport.java @@ -22,7 +22,6 @@ import java.util.Locale; import java.util.Map; import java.util.Set; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; import org.apache.hop.core.Const; import org.apache.hop.core.database.Database; import org.apache.hop.core.database.DatabaseMeta; @@ -33,6 +32,9 @@ import org.apache.hop.core.logging.SimpleLoggingObject; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -47,8 +49,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelConfiguration; import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Imports database tables (columns, PKs) and FK relationships into a {@link SourceModel}. diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/profile/SourceRelationshipProfiler.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/profile/SourceRelationshipProfiler.java index a079988d..09112863 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/profile/SourceRelationshipProfiler.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/profile/SourceRelationshipProfiler.java @@ -24,13 +24,13 @@ import org.apache.hop.core.logging.SimpleLoggingObject; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationshipMultiplicity; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Profiles a {@link SourceRelationship} to suggest child/parent multiplicities using size-gated SQL diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourceJsonCatalogPublisher.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourceJsonCatalogPublisher.java index 43f337a6..79d61df3 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourceJsonCatalogPublisher.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourceJsonCatalogPublisher.java @@ -17,12 +17,14 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; import org.hopper.edw.datavault.catalog.CatalogModelRegistrySupport; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; @@ -36,8 +38,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.SourceJsonField; import org.hopper.edw.datavault.metadata.sourcemodel.SourceJsonFieldSupport; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Publishes a {@link SourceJson} as a catalog {@code DV_SOURCE} of type {@code JSON}. */ public final class SourceJsonCatalogPublisher { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourcePipelineCatalogPublisher.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourcePipelineCatalogPublisher.java index 9507a74e..2c1cbf17 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourcePipelineCatalogPublisher.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourcePipelineCatalogPublisher.java @@ -17,11 +17,13 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; import org.hopper.edw.datavault.catalog.CatalogModelRegistrySupport; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; @@ -33,8 +35,6 @@ import org.hopper.edw.datavault.metadata.pipeline.DvPipelineSource; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourcePipeline; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Publishes a {@link SourcePipeline} as a catalog {@code DV_SOURCE} of type {@code PIPELINE}. */ public final class SourcePipelineCatalogPublisher { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourceQueryCatalogPublisher.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourceQueryCatalogPublisher.java index 88895ae5..3d2d7b22 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourceQueryCatalogPublisher.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourceQueryCatalogPublisher.java @@ -20,12 +20,14 @@ import java.util.List; import java.util.Locale; import java.util.Map; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; import org.apache.hop.core.Const; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; import org.hopper.edw.datavault.catalog.CatalogModelRegistrySupport; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; @@ -45,8 +47,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQuerySqlGenerator; import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlEngine; import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlPlan; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Publishes a {@link SourceQuery} as a catalog {@code DV_SOURCE} of type {@code COMPOSITE}. */ public final class SourceQueryCatalogPublisher { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourceTableCatalogPublisher.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourceTableCatalogPublisher.java index 45844f12..1068a738 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourceTableCatalogPublisher.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/publish/SourceTableCatalogPublisher.java @@ -17,11 +17,13 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogWriter; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorOptions; import org.hopper.edw.datavault.catalog.RecordSourceIndicatorSupport; import org.hopper.edw.datavault.metadata.DataVaultSource; @@ -33,8 +35,6 @@ import org.hopper.edw.datavault.metadata.datatypemapping.SourceDataTypeMappingSupport; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Publishes a {@link SourceTable} as a catalog {@code DV_SOURCE} of type {@code DATABASE}. */ public final class SourceTableCatalogPublisher { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultApplySupport.java b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultApplySupport.java index d8047e0e..4a4ad7c5 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultApplySupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultApplySupport.java @@ -23,6 +23,7 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.BusinessKeySource; import org.hopper.edw.datavault.metadata.DataVaultModel; @@ -43,7 +44,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourcePipelineCatalogPublisher; import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceQueryCatalogPublisher; import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceTableCatalogPublisher; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Writes accepted {@link SourceToVaultProposal}s into a {@link DataVaultModel} (new or existing). diff --git a/src/main/java/org/hopper/edw/datavault/metadata/targettypemapping/TargetTypeMappingMetaEditor.java b/src/main/java/org/hopper/edw/datavault/metadata/targettypemapping/TargetTypeMappingMetaEditor.java index 65eb6ec0..3d813283 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/targettypemapping/TargetTypeMappingMetaEditor.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/targettypemapping/TargetTypeMappingMetaEditor.java @@ -24,9 +24,6 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; -import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingPatternSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.PropsUi; import org.apache.hop.ui.core.metadata.MetadataEditor; @@ -47,6 +44,9 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; +import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingPatternSupport; /** Editor for project-level {@link TargetTypeMappingMeta} profiles. */ @GuiPlugin(description = "Editor for Target Type Mapping metadata") diff --git a/src/main/java/org/hopper/edw/datavault/metadata/targettypemapping/TargetTypeMappingValidationSupport.java b/src/main/java/org/hopper/edw/datavault/metadata/targettypemapping/TargetTypeMappingValidationSupport.java index 1ab0b485..1f3b7bfb 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/targettypemapping/TargetTypeMappingValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/targettypemapping/TargetTypeMappingValidationSupport.java @@ -23,9 +23,9 @@ import org.apache.hop.core.CheckResult; import org.apache.hop.core.ICheckResult; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingPatternSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metadata.datatypemapping.DataTypeMappingPatternSupport; /** Design-time checks for target type mapping profiles. */ public final class TargetTypeMappingValidationSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metadata/targettypemapping/xp/RegisterTargetTypeMappingMetadataExtensionPoint.java b/src/main/java/org/hopper/edw/datavault/metadata/targettypemapping/xp/RegisterTargetTypeMappingMetadataExtensionPoint.java index 868cf2a0..7b0afea7 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/targettypemapping/xp/RegisterTargetTypeMappingMetadataExtensionPoint.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/targettypemapping/xp/RegisterTargetTypeMappingMetadataExtensionPoint.java @@ -26,9 +26,9 @@ import org.apache.hop.core.plugins.IPlugin; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.targettypemapping.TargetTypeMappingMeta; import org.apache.hop.metadata.api.HopMetadata; import org.apache.hop.metadata.plugin.MetadataPluginType; +import org.hopper.edw.datavault.metadata.targettypemapping.TargetTypeMappingMeta; /** Registers {@link TargetTypeMappingMeta} with Hop metadata after environment init. */ @ExtensionPoint( diff --git a/src/main/java/org/hopper/edw/datavault/metadata/xp/RegisterModelConfigurationMetadataExtensionPoint.java b/src/main/java/org/hopper/edw/datavault/metadata/xp/RegisterModelConfigurationMetadataExtensionPoint.java index 3aa43d3c..0f7c6fbf 100644 --- a/src/main/java/org/hopper/edw/datavault/metadata/xp/RegisterModelConfigurationMetadataExtensionPoint.java +++ b/src/main/java/org/hopper/edw/datavault/metadata/xp/RegisterModelConfigurationMetadataExtensionPoint.java @@ -26,12 +26,12 @@ import org.apache.hop.core.plugins.IPlugin; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.HopMetadata; +import org.apache.hop.metadata.plugin.MetadataPluginType; import org.hopper.edw.datavault.metadata.DataVaultConfiguration; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelConfiguration; -import org.apache.hop.metadata.api.HopMetadata; -import org.apache.hop.metadata.plugin.MetadataPluginType; /** Registers the four shared model-configuration metadata types after environment init. */ @ExtensionPoint( diff --git a/src/main/java/org/hopper/edw/datavault/metrics/ExecutionInfoAiContextBuilder.java b/src/main/java/org/hopper/edw/datavault/metrics/ExecutionInfoAiContextBuilder.java index d4e622b8..2b2d77c7 100644 --- a/src/main/java/org/hopper/edw/datavault/metrics/ExecutionInfoAiContextBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metrics/ExecutionInfoAiContextBuilder.java @@ -31,7 +31,6 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.ai.DvAiContextBuilder; import org.apache.hop.execution.Execution; import org.apache.hop.execution.ExecutionState; import org.apache.hop.execution.ExecutionStateComponentMetrics; @@ -39,6 +38,7 @@ import org.apache.hop.execution.IExecutionInfoLocation; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.Pipeline; +import org.hopper.edw.datavault.ai.DvAiContextBuilder; /** Loads recent execution logs and transform metrics from Hop Execution Information Locations. */ public final class ExecutionInfoAiContextBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metrics/ExecutionMetricsProfileResolver.java b/src/main/java/org/hopper/edw/datavault/metrics/ExecutionMetricsProfileResolver.java index 9dbb7a55..29dc834e 100644 --- a/src/main/java/org/hopper/edw/datavault/metrics/ExecutionMetricsProfileResolver.java +++ b/src/main/java/org/hopper/edw/datavault/metrics/ExecutionMetricsProfileResolver.java @@ -18,10 +18,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.workflow.WorkflowMeta; import org.apache.hop.workflow.engine.IWorkflowEngine; +import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; /** Resolves execution metrics settings from a profile reference and legacy action fields. */ public final class ExecutionMetricsProfileResolver { diff --git a/src/main/java/org/hopper/edw/datavault/metrics/LoadRunMetricsCatalogPublisher.java b/src/main/java/org/hopper/edw/datavault/metrics/LoadRunMetricsCatalogPublisher.java index 18dc4096..632c1237 100644 --- a/src/main/java/org/hopper/edw/datavault/metrics/LoadRunMetricsCatalogPublisher.java +++ b/src/main/java/org/hopper/edw/datavault/metrics/LoadRunMetricsCatalogPublisher.java @@ -19,11 +19,6 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import org.hopper.edw.catalog.model.PhysicalTableRef; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.database.Database; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; @@ -37,10 +32,15 @@ import org.apache.hop.core.row.value.ValueMetaString; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.model.PhysicalTableRef; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.model.RecordDefinitionType; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.hopper.edw.datavault.metadata.DvBulkLoadPluginSupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Publishes load-run metrics record definitions and persists run rows to the target database. */ public final class LoadRunMetricsCatalogPublisher { diff --git a/src/main/java/org/hopper/edw/datavault/metrics/MetadataMetricsResolver.java b/src/main/java/org/hopper/edw/datavault/metrics/MetadataMetricsResolver.java index 2160a832..558baa56 100644 --- a/src/main/java/org/hopper/edw/datavault/metrics/MetadataMetricsResolver.java +++ b/src/main/java/org/hopper/edw/datavault/metrics/MetadataMetricsResolver.java @@ -20,8 +20,6 @@ import java.util.List; import java.util.Optional; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; import org.apache.hop.pipeline.Pipeline; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.engine.EngineMetrics; @@ -29,6 +27,8 @@ import org.apache.hop.pipeline.engine.IEngineMetric; import org.apache.hop.pipeline.engine.IPipelineEngine; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; /** * Resolves pipeline and transform metrics from stamped metadata attributes, with name-heuristic diff --git a/src/main/java/org/hopper/edw/datavault/metrics/MetricsAiContextBuilder.java b/src/main/java/org/hopper/edw/datavault/metrics/MetricsAiContextBuilder.java index 822c06f7..42b63afb 100644 --- a/src/main/java/org/hopper/edw/datavault/metrics/MetricsAiContextBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/metrics/MetricsAiContextBuilder.java @@ -26,9 +26,9 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.ai.DvAiContextBuilder; import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Loads recent load-run metrics and insights for AI performance advisory context. */ public final class MetricsAiContextBuilder { diff --git a/src/main/java/org/hopper/edw/datavault/metrics/WorkflowLoadOverviewPublisher.java b/src/main/java/org/hopper/edw/datavault/metrics/WorkflowLoadOverviewPublisher.java index 77c75d38..eb182a94 100644 --- a/src/main/java/org/hopper/edw/datavault/metrics/WorkflowLoadOverviewPublisher.java +++ b/src/main/java/org/hopper/edw/datavault/metrics/WorkflowLoadOverviewPublisher.java @@ -19,11 +19,6 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import org.hopper.edw.catalog.model.PhysicalTableRef; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.database.Database; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; @@ -37,9 +32,14 @@ import org.apache.hop.core.row.value.ValueMetaString; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.model.PhysicalTableRef; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.model.RecordDefinitionType; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.metadata.DvBulkLoadPluginSupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Publishes workflow load overview rows and catalog record definitions. */ public final class WorkflowLoadOverviewPublisher { diff --git a/src/main/java/org/hopper/edw/datavault/metrics/WorkflowOverviewMetricsResolver.java b/src/main/java/org/hopper/edw/datavault/metrics/WorkflowOverviewMetricsResolver.java index 88b76b9d..a96bf34b 100644 --- a/src/main/java/org/hopper/edw/datavault/metrics/WorkflowOverviewMetricsResolver.java +++ b/src/main/java/org/hopper/edw/datavault/metrics/WorkflowOverviewMetricsResolver.java @@ -18,8 +18,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; /** Resolves OPS database and catalog settings for workflow overview publishing. */ public final class WorkflowOverviewMetricsResolver { diff --git a/src/main/java/org/hopper/edw/datavault/metrics/live/UpdateRunLiveMetricsExtractor.java b/src/main/java/org/hopper/edw/datavault/metrics/live/UpdateRunLiveMetricsExtractor.java index 75d2246b..e11d83cf 100644 --- a/src/main/java/org/hopper/edw/datavault/metrics/live/UpdateRunLiveMetricsExtractor.java +++ b/src/main/java/org/hopper/edw/datavault/metrics/live/UpdateRunLiveMetricsExtractor.java @@ -19,9 +19,6 @@ import java.util.List; import java.util.Map; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; -import org.hopper.edw.datavault.metrics.DvUpdateMetricsConstants; import org.apache.hop.pipeline.Pipeline; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.engine.EngineMetrics; @@ -29,6 +26,9 @@ import org.apache.hop.pipeline.engine.IEngineMetric; import org.apache.hop.pipeline.engine.IPipelineEngine; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; +import org.hopper.edw.datavault.metrics.DvUpdateMetricsConstants; /** Samples live engine metrics from the orchestrator and its active child pipelines. */ public final class UpdateRunLiveMetricsExtractor { diff --git a/src/main/java/org/hopper/edw/datavault/metrics/live/UpdateRunLiveMonitor.java b/src/main/java/org/hopper/edw/datavault/metrics/live/UpdateRunLiveMonitor.java index e8e39158..7c9428df 100644 --- a/src/main/java/org/hopper/edw/datavault/metrics/live/UpdateRunLiveMonitor.java +++ b/src/main/java/org/hopper/edw/datavault/metrics/live/UpdateRunLiveMonitor.java @@ -23,10 +23,10 @@ import java.util.concurrent.atomic.AtomicReference; import org.apache.hop.core.logging.LogLevel; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.config.DataVaultConfigSingleton; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.engine.IPipelineEngine; +import org.hopper.edw.datavault.config.DataVaultConfigSingleton; /** Polls a running orchestrator engine and publishes live update snapshots. */ public final class UpdateRunLiveMonitor implements AutoCloseable { diff --git a/src/main/java/org/hopper/edw/datavault/metrics/live/UpdateRunLiveStagingPipelineSupport.java b/src/main/java/org/hopper/edw/datavault/metrics/live/UpdateRunLiveStagingPipelineSupport.java index f414f833..799cecfb 100644 --- a/src/main/java/org/hopper/edw/datavault/metrics/live/UpdateRunLiveStagingPipelineSupport.java +++ b/src/main/java/org/hopper/edw/datavault/metrics/live/UpdateRunLiveStagingPipelineSupport.java @@ -22,7 +22,6 @@ import java.util.concurrent.ConcurrentMap; import org.apache.hop.core.Result; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.engine.IPipelineEngine; import org.apache.hop.workflow.IActionListener; @@ -30,6 +29,7 @@ import org.apache.hop.workflow.action.ActionMeta; import org.apache.hop.workflow.action.IAction; import org.apache.hop.workflow.engine.IWorkflowEngine; +import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; /** Tracks running pipeline actions inside generated staging-file bulk workflows. */ public final class UpdateRunLiveStagingPipelineSupport { diff --git a/src/main/java/org/hopper/edw/datavault/metrics/metadata/ExecutionMetricsProfileMeta.java b/src/main/java/org/hopper/edw/datavault/metrics/metadata/ExecutionMetricsProfileMeta.java index 6cdb9fcb..7b03b650 100644 --- a/src/main/java/org/hopper/edw/datavault/metrics/metadata/ExecutionMetricsProfileMeta.java +++ b/src/main/java/org/hopper/edw/datavault/metrics/metadata/ExecutionMetricsProfileMeta.java @@ -17,12 +17,12 @@ import lombok.Getter; import lombok.Setter; -import org.hopper.edw.datavault.metrics.LoadRunInsightEngine; import org.apache.hop.metadata.api.HopMetadata; import org.apache.hop.metadata.api.HopMetadataBase; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.HopMetadataPropertyType; import org.apache.hop.metadata.api.IHopMetadata; +import org.hopper.edw.datavault.metrics.LoadRunInsightEngine; /** * Reusable configuration for load-run metrics collection, catalog publishing, and insight rules on diff --git a/src/main/java/org/hopper/edw/datavault/metrics/xp/RegisterExecutionMetricsProfileMetadataExtensionPoint.java b/src/main/java/org/hopper/edw/datavault/metrics/xp/RegisterExecutionMetricsProfileMetadataExtensionPoint.java index 508f4ee3..5510be09 100644 --- a/src/main/java/org/hopper/edw/datavault/metrics/xp/RegisterExecutionMetricsProfileMetadataExtensionPoint.java +++ b/src/main/java/org/hopper/edw/datavault/metrics/xp/RegisterExecutionMetricsProfileMetadataExtensionPoint.java @@ -26,9 +26,9 @@ import org.apache.hop.core.plugins.IPlugin; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; import org.apache.hop.metadata.api.HopMetadata; import org.apache.hop.metadata.plugin.MetadataPluginType; +import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; /** Registers {@link ExecutionMetricsProfileMeta} with Hop metadata after environment init. */ @ExtensionPoint( diff --git a/src/main/java/org/hopper/edw/datavault/openlineage/OpenLineageDatasetLocationResolver.java b/src/main/java/org/hopper/edw/datavault/openlineage/OpenLineageDatasetLocationResolver.java index f3761843..c3729f33 100644 --- a/src/main/java/org/hopper/edw/datavault/openlineage/OpenLineageDatasetLocationResolver.java +++ b/src/main/java/org/hopper/edw/datavault/openlineage/OpenLineageDatasetLocationResolver.java @@ -15,6 +15,10 @@ */ package org.hopper.edw.datavault.openlineage; +import org.apache.hop.core.database.DatabaseMeta; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.model.DvSourceRecord; import org.hopper.edw.catalog.model.PhysicalFileRef; import org.hopper.edw.catalog.model.PhysicalIcebergTableRef; @@ -22,14 +26,10 @@ import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.database.DatabaseMeta; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.lineage.FieldContribution; import org.hopper.edw.datavault.lineage.TableLineage; import org.hopper.edw.datavault.lineage.TableSourceKind; import org.hopper.edw.datavault.lineage.TableSourceRef; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Resolves physical dataset locations from model lineage + catalog + DatabaseMeta. */ public final class OpenLineageDatasetLocationResolver { diff --git a/src/main/java/org/hopper/edw/datavault/openlineage/OpenLineageExportService.java b/src/main/java/org/hopper/edw/datavault/openlineage/OpenLineageExportService.java index 4d0df673..89de4177 100644 --- a/src/main/java/org/hopper/edw/datavault/openlineage/OpenLineageExportService.java +++ b/src/main/java/org/hopper/edw/datavault/openlineage/OpenLineageExportService.java @@ -19,18 +19,18 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.hopper.edw.datavault.lineage.BvModelLineageCollector; import org.hopper.edw.datavault.lineage.DmModelLineageCollector; import org.hopper.edw.datavault.lineage.DvModelLineageCollector; import org.hopper.edw.datavault.lineage.LineageSnapshot; import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.hopper.edw.datavault.resourcedefinition.ValidationModels; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Collects model lineage and exports OpenLineage events to file and/or HTTP. */ public final class OpenLineageExportService { diff --git a/src/main/java/org/hopper/edw/datavault/openlineage/OpsLineageEnricher.java b/src/main/java/org/hopper/edw/datavault/openlineage/OpsLineageEnricher.java index 041c141f..5fea4d68 100644 --- a/src/main/java/org/hopper/edw/datavault/openlineage/OpsLineageEnricher.java +++ b/src/main/java/org/hopper/edw/datavault/openlineage/OpsLineageEnricher.java @@ -29,8 +29,8 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metrics.LoadRunMetricsCatalogPublisher; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metrics.LoadRunMetricsCatalogPublisher; /** * Optionally attaches last-load operational facts from {@code load_pipeline_metric} onto diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/BaselineContractSupport.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/BaselineContractSupport.java index c95a95e3..2c53828c 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/BaselineContractSupport.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/BaselineContractSupport.java @@ -17,16 +17,16 @@ import java.util.List; import java.util.Optional; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.catalog.versioning.CatalogVersionService; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.hopper.edw.datavault.metadata.SourceField; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Resolves baseline (truth) field contracts from the working catalog or an immutable catalog diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/HarvestBackedValidationSupport.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/HarvestBackedValidationSupport.java index 330e94ff..6872accf 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/HarvestBackedValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/HarvestBackedValidationSupport.java @@ -20,6 +20,9 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import org.apache.hop.core.Const; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport.ChangeKind; import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport.FieldChange; import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport.SchemaDiff; @@ -28,9 +31,6 @@ import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestSubjectResult; import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.apache.hop.core.Const; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueKind; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueSeverity; diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/ModelContractValidationSupport.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/ModelContractValidationSupport.java index afb1cff9..34398ed5 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/ModelContractValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/ModelContractValidationSupport.java @@ -19,12 +19,14 @@ import java.util.List; import java.util.Map; import java.util.Optional; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.Const; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvSatellite; @@ -37,8 +39,6 @@ import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RemediationProposal; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Compares baseline catalog contracts to mapped DV model attributes. Baseline fields never come diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/RemediationProposalApplySupport.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/RemediationProposalApplySupport.java index 6f76fc23..17a223ec 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/RemediationProposalApplySupport.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/RemediationProposalApplySupport.java @@ -24,13 +24,6 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogRefreshSupport; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.model.CatalogSourceField; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.versioning.CatalogVersionService; import org.apache.hop.core.Const; import org.apache.hop.core.database.Database; import org.apache.hop.core.database.DatabaseMeta; @@ -43,6 +36,16 @@ import org.apache.hop.core.row.value.ValueMetaString; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.ui.hopgui.HopGui; +import org.hopper.edw.catalog.discovery.RecordDefinitionCatalogRefreshSupport; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.model.CatalogSourceField; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.versioning.CatalogVersionService; import org.hopper.edw.datavault.ai.DvAiProposal; import org.hopper.edw.datavault.ai.DvAiProposalApplier; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; @@ -52,6 +55,7 @@ import org.hopper.edw.datavault.metadata.DvDataTypeSupport; import org.hopper.edw.datavault.metadata.DvDdlSupport; import org.hopper.edw.datavault.metadata.DvHub; +import org.hopper.edw.datavault.metadata.DvReadOnlyExistingVaultSupport; import org.hopper.edw.datavault.metadata.DvSatellite; import org.hopper.edw.datavault.metadata.DvSpecialRecordSupport; import org.hopper.edw.datavault.metadata.IDvTable; @@ -70,9 +74,6 @@ import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RemediationProposal; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.ui.hopgui.HopGui; /** Applies remediation proposals produced by source validation. */ public final class RemediationProposalApplySupport { @@ -574,6 +575,9 @@ private static ApplyResult applyGenerateTargetDdlPackage(ProposalContext context usage.modelFilename(), context.variables(), context.metadataProvider()); modelsByFilename.put(usage.modelFilename(), model); } + if (DvReadOnlyExistingVaultSupport.isReadOnly(model)) { + continue; + } IDvTable table = model.findTable(usage.modelElementName()); if (!(table instanceof DvSatellite satellite)) { continue; @@ -781,6 +785,9 @@ private static void collectTargetDdl( DvSatellite satellite, ProposalContext context) throws HopException { + if (DvReadOnlyExistingVaultSupport.isReadOnly(model)) { + return; + } DataVaultConfiguration config = model.getConfigurationOrDefault(); DatabaseMeta targetDatabaseMeta = DvSpecialRecordSupport.loadTargetDatabase(context.metadataProvider(), config); diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/RemediationProposalSupport.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/RemediationProposalSupport.java index a0a8d7f8..eb4dc4bd 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/RemediationProposalSupport.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/RemediationProposalSupport.java @@ -19,15 +19,15 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; -import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; +import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueKind; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueSeverity; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ProposalType; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RemediationProposal; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; -import org.apache.hop.i18n.BaseMessages; /** Builds report-only remediation proposals for source schema drift. */ public final class RemediationProposalSupport { diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/ResourceDefinitionGroupResolver.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/ResourceDefinitionGroupResolver.java index d5aeb3de..c77ecc7c 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/ResourceDefinitionGroupResolver.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/ResourceDefinitionGroupResolver.java @@ -17,12 +17,15 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; @@ -32,9 +35,6 @@ import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultDvModelResolver; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/ResourceDefinitionModelPersistenceSupport.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/ResourceDefinitionModelPersistenceSupport.java index 0f0dc40f..87d8ecd5 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/ResourceDefinitionModelPersistenceSupport.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/ResourceDefinitionModelPersistenceSupport.java @@ -19,6 +19,8 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; @@ -26,8 +28,6 @@ import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Persists DV, BV, and DM models referenced by resource definition validation. */ public final class ResourceDefinitionModelPersistenceSupport { diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/SchemaImpactSimulationService.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/SchemaImpactSimulationService.java index cdb1e677..ea869e0d 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/SchemaImpactSimulationService.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/SchemaImpactSimulationService.java @@ -20,6 +20,13 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import org.apache.hop.core.Const; +import org.apache.hop.core.database.DatabaseMeta; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.discovery.RecordDefinitionDiscoveryService; import org.hopper.edw.catalog.discovery.RecordDefinitionPhysicalRefSupport; import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; @@ -33,11 +40,6 @@ import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.catalog.versioning.CatalogVersionService; -import org.apache.hop.core.Const; -import org.apache.hop.core.database.DatabaseMeta; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; @@ -50,8 +52,6 @@ import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueKind; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Orchestrates schema gap analysis (catalog/version vs live or version) and optional downstream diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/SchemaRemediationArtifactsSupport.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/SchemaRemediationArtifactsSupport.java index 2c01c813..d12fe723 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/SchemaRemediationArtifactsSupport.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/SchemaRemediationArtifactsSupport.java @@ -24,9 +24,9 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.datavault.config.DataVaultConfig; import org.hopper.edw.datavault.config.DataVaultConfigSingleton; -import org.apache.hop.i18n.BaseMessages; /** * Resolves the schema-remediation root folder from plugin settings and writes named remediation diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/SchemaValidationReportFormatter.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/SchemaValidationReportFormatter.java index be0237f8..0827ea10 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/SchemaValidationReportFormatter.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/SchemaValidationReportFormatter.java @@ -21,16 +21,16 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; -import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; +import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; import org.hopper.edw.datavault.lineage.LineageDiffReportFormatter; import org.hopper.edw.datavault.resourcedefinition.ValidationFindingFormatter.StructuredFinding; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueKind; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueSeverity; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; -import org.apache.hop.i18n.BaseMessages; /** * Formats schema impact simulation results for logs, Markdown CI artifacts, and HTML. diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/SourceRecordValidationService.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/SourceRecordValidationService.java index d3bddfea..3f228688 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/SourceRecordValidationService.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/SourceRecordValidationService.java @@ -18,6 +18,12 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import org.apache.hop.core.Const; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.util.Utils; +import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.catalog.discovery.RecordDefinitionDiscoveryService; import org.hopper.edw.catalog.discovery.RecordDefinitionPhysicalRefSupport; import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; @@ -26,10 +32,6 @@ import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.apache.hop.core.Const; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.util.Utils; -import org.apache.hop.core.variables.IVariables; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.hopper.edw.datavault.metadata.DvSourceType; @@ -37,8 +39,6 @@ import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueKind; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** Validates source record definitions referenced by a resource definition group. */ public final class SourceRecordValidationService { diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/SourceUsageIndexBuilder.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/SourceUsageIndexBuilder.java index 8717f163..bb9d8955 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/SourceUsageIndexBuilder.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/SourceUsageIndexBuilder.java @@ -19,9 +19,9 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.datavault.catalog.DvCatalogNamespaces; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.BusinessKeySource; diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/TargetSchemaValidationSupport.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/TargetSchemaValidationSupport.java index b6c061d6..d2ded2f5 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/TargetSchemaValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/TargetSchemaValidationSupport.java @@ -29,8 +29,11 @@ import org.apache.hop.core.logging.SimpleLoggingObject; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultConfiguration; import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvReadOnlyExistingVaultSupport; import org.hopper.edw.datavault.metadata.DvSatellite; import org.hopper.edw.datavault.metadata.DvSpecialRecordSupport; import org.hopper.edw.datavault.metadata.IDvTable; @@ -40,8 +43,6 @@ import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RemediationProposal; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Detects DV target tables whose physical layout lags the model (DDL required). Does not invent @@ -185,6 +186,9 @@ private static TargetCheckResult checkTargetTable( DataVaultModel model = ResourceDefinitionGroupResolver.loadDataVaultModel( usage.modelFilename(), variables, metadataProvider); + if (DvReadOnlyExistingVaultSupport.isReadOnly(model)) { + return TargetCheckResult.empty(); + } IDvTable table = model.findTable(usage.modelElementName()); if (!(table instanceof DvSatellite satellite)) { return TargetCheckResult.empty(); diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/ValidationAcknowledgementSupport.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/ValidationAcknowledgementSupport.java index 61923786..c4195660 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/ValidationAcknowledgementSupport.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/ValidationAcknowledgementSupport.java @@ -19,14 +19,14 @@ import java.util.Date; import java.util.Iterator; import java.util.List; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionValidationAcknowledgement; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionValidationAcknowledgement; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; /** Persists validation issue acknowledgements on catalog record definitions. */ public final class ValidationAcknowledgementSupport { diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/ValidationIssueSupport.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/ValidationIssueSupport.java index 130dc3d7..3c71059b 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/ValidationIssueSupport.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/ValidationIssueSupport.java @@ -18,11 +18,11 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import org.apache.hop.core.Const; +import org.apache.hop.core.util.Utils; import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionValidationAcknowledgement; -import org.apache.hop.core.Const; -import org.apache.hop.core.util.Utils; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueKind; /** Stable issue identifiers and acknowledgement lifecycle helpers. */ diff --git a/src/main/java/org/hopper/edw/datavault/resourcedefinition/ValidationReportFormatter.java b/src/main/java/org/hopper/edw/datavault/resourcedefinition/ValidationReportFormatter.java index 76e8ba66..ae0efbec 100644 --- a/src/main/java/org/hopper/edw/datavault/resourcedefinition/ValidationReportFormatter.java +++ b/src/main/java/org/hopper/edw/datavault/resourcedefinition/ValidationReportFormatter.java @@ -15,13 +15,13 @@ */ package org.hopper.edw.datavault.resourcedefinition; -import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; +import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RemediationProposal; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; -import org.apache.hop.i18n.BaseMessages; /** Formats validation reports for logs and export. */ public final class ValidationReportFormatter { diff --git a/src/main/java/org/hopper/edw/datavault/transform/datedimensiongenerator/DateDimensionGenerator.java b/src/main/java/org/hopper/edw/datavault/transform/datedimensiongenerator/DateDimensionGenerator.java index 783c80ae..134f55cb 100644 --- a/src/main/java/org/hopper/edw/datavault/transform/datedimensiongenerator/DateDimensionGenerator.java +++ b/src/main/java/org/hopper/edw/datavault/transform/datedimensiongenerator/DateDimensionGenerator.java @@ -16,13 +16,13 @@ package org.hopper.edw.datavault.transform.datedimensiongenerator; import org.apache.hop.core.exception.HopException; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.DateRange; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.GeneratorContext; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.pipeline.Pipeline; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.BaseTransform; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.DateRange; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.GeneratorContext; /** Generates one row per day between a start and end date with configurable calendar fields. */ public class DateDimensionGenerator diff --git a/src/main/java/org/hopper/edw/datavault/transform/datedimensiongenerator/DateDimensionGeneratorData.java b/src/main/java/org/hopper/edw/datavault/transform/datedimensiongenerator/DateDimensionGeneratorData.java index c4580983..ccd7f425 100644 --- a/src/main/java/org/hopper/edw/datavault/transform/datedimensiongenerator/DateDimensionGeneratorData.java +++ b/src/main/java/org/hopper/edw/datavault/transform/datedimensiongenerator/DateDimensionGeneratorData.java @@ -18,10 +18,10 @@ import java.time.LocalDate; import java.util.List; import org.apache.hop.core.row.IRowMeta; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.GeneratorContext; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.PreparedField; import org.apache.hop.pipeline.transform.BaseTransformData; import org.apache.hop.pipeline.transform.ITransformData; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.GeneratorContext; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.PreparedField; @SuppressWarnings("java:S1104") public class DateDimensionGeneratorData extends BaseTransformData implements ITransformData { diff --git a/src/main/java/org/hopper/edw/datavault/transform/dvhashkey/DvHashKeyMeta.java b/src/main/java/org/hopper/edw/datavault/transform/dvhashkey/DvHashKeyMeta.java index 677d06ee..53baf236 100644 --- a/src/main/java/org/hopper/edw/datavault/transform/dvhashkey/DvHashKeyMeta.java +++ b/src/main/java/org/hopper/edw/datavault/transform/dvhashkey/DvHashKeyMeta.java @@ -28,15 +28,15 @@ import org.apache.hop.core.row.value.ValueMetaString; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.HashAlgorithm; -import org.hopper.edw.datavault.metadata.HashContentCasing; -import org.hopper.edw.datavault.metadata.HashKeyDataType; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.BaseTransformMeta; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.datavault.metadata.HashAlgorithm; +import org.hopper.edw.datavault.metadata.HashContentCasing; +import org.hopper.edw.datavault.metadata.HashKeyDataType; @Transform( id = "DvHashKey", diff --git a/src/main/java/org/hopper/edw/datavault/transform/iceberginput/IcebergTableInput.java b/src/main/java/org/hopper/edw/datavault/transform/iceberginput/IcebergTableInput.java index 8da2080c..c377a08c 100644 --- a/src/main/java/org/hopper/edw/datavault/transform/iceberginput/IcebergTableInput.java +++ b/src/main/java/org/hopper/edw/datavault/transform/iceberginput/IcebergTableInput.java @@ -19,13 +19,13 @@ import java.util.List; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.iceberg.IcebergConnectionSettings; -import org.hopper.edw.datavault.metadata.iceberg.IcebergTableReader; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.pipeline.Pipeline; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.BaseTransform; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.datavault.metadata.iceberg.IcebergConnectionSettings; +import org.hopper.edw.datavault.metadata.iceberg.IcebergTableReader; /** Reads rows from an Iceberg table registered in a REST catalog. */ public class IcebergTableInput extends BaseTransform { diff --git a/src/main/java/org/hopper/edw/datavault/transform/iceberginput/IcebergTableInputData.java b/src/main/java/org/hopper/edw/datavault/transform/iceberginput/IcebergTableInputData.java index cc09625a..45c162e2 100644 --- a/src/main/java/org/hopper/edw/datavault/transform/iceberginput/IcebergTableInputData.java +++ b/src/main/java/org/hopper/edw/datavault/transform/iceberginput/IcebergTableInputData.java @@ -16,9 +16,9 @@ package org.hopper.edw.datavault.transform.iceberginput; import org.apache.hop.core.row.IRowMeta; -import org.hopper.edw.datavault.metadata.iceberg.IcebergTableReader; import org.apache.hop.pipeline.transform.BaseTransformData; import org.apache.hop.pipeline.transform.ITransformData; +import org.hopper.edw.datavault.metadata.iceberg.IcebergTableReader; @SuppressWarnings("java:S1104") public class IcebergTableInputData extends BaseTransformData implements ITransformData { diff --git a/src/main/java/org/hopper/edw/datavault/transform/iceberginput/IcebergTableInputMeta.java b/src/main/java/org/hopper/edw/datavault/transform/iceberginput/IcebergTableInputMeta.java index 570924f2..f80c871e 100644 --- a/src/main/java/org/hopper/edw/datavault/transform/iceberginput/IcebergTableInputMeta.java +++ b/src/main/java/org/hopper/edw/datavault/transform/iceberginput/IcebergTableInputMeta.java @@ -26,14 +26,14 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.iceberg.IcebergConnectionSettings; -import org.hopper.edw.datavault.metadata.iceberg.IcebergTableReader; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.BaseTransformMeta; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.datavault.metadata.iceberg.IcebergConnectionSettings; +import org.hopper.edw.datavault.metadata.iceberg.IcebergTableReader; @Transform( id = "IcebergTableInput", diff --git a/src/main/java/org/hopper/edw/datavault/transform/junkdimension/JunkDimension.java b/src/main/java/org/hopper/edw/datavault/transform/junkdimension/JunkDimension.java index 9ad2321c..a3ff975a 100644 --- a/src/main/java/org/hopper/edw/datavault/transform/junkdimension/JunkDimension.java +++ b/src/main/java/org/hopper/edw/datavault/transform/junkdimension/JunkDimension.java @@ -40,8 +40,6 @@ import org.apache.hop.core.row.value.ValueMetaInteger; import org.apache.hop.core.row.value.ValueMetaString; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metadata.dimensional.DmJunkHashCodeStrategy; -import org.hopper.edw.datavault.metadata.dimensional.DmJunkSurrogateKeyStrategy; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.pipeline.Pipeline; import org.apache.hop.pipeline.PipelineMeta; @@ -50,6 +48,8 @@ import org.apache.hop.pipeline.transforms.combinationlookup.CFields; import org.apache.hop.pipeline.transforms.combinationlookup.KeyField; import org.apache.hop.pipeline.transforms.combinationlookup.ReturnFields; +import org.hopper.edw.datavault.metadata.dimensional.DmJunkHashCodeStrategy; +import org.hopper.edw.datavault.metadata.dimensional.DmJunkSurrogateKeyStrategy; /** * Manages or looks up information in a Type 1 or junk dimension.
diff --git a/src/main/java/org/hopper/edw/datavault/transform/junkdimension/JunkDimensionMeta.java b/src/main/java/org/hopper/edw/datavault/transform/junkdimension/JunkDimensionMeta.java index ab1d9453..7606c3c9 100644 --- a/src/main/java/org/hopper/edw/datavault/transform/junkdimension/JunkDimensionMeta.java +++ b/src/main/java/org/hopper/edw/datavault/transform/junkdimension/JunkDimensionMeta.java @@ -38,8 +38,6 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.metadata.dimensional.DmJunkHashCodeStrategy; -import org.hopper.edw.datavault.metadata.dimensional.DmJunkSurrogateKeyStrategy; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.HopMetadataPropertyType; @@ -52,6 +50,8 @@ import org.apache.hop.pipeline.transforms.combinationlookup.KeyField; import org.apache.hop.pipeline.transforms.combinationlookup.ReturnFields; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.datavault.metadata.dimensional.DmJunkHashCodeStrategy; +import org.hopper.edw.datavault.metadata.dimensional.DmJunkSurrogateKeyStrategy; import org.w3c.dom.Node; @Transform( diff --git a/src/main/java/org/hopper/edw/datavault/transform/sortedschemamerge/SortedSchemaMergeData.java b/src/main/java/org/hopper/edw/datavault/transform/sortedschemamerge/SortedSchemaMergeData.java index 7d0919ad..adf4d8cb 100644 --- a/src/main/java/org/hopper/edw/datavault/transform/sortedschemamerge/SortedSchemaMergeData.java +++ b/src/main/java/org/hopper/edw/datavault/transform/sortedschemamerge/SortedSchemaMergeData.java @@ -18,9 +18,9 @@ import java.util.Comparator; import java.util.List; import org.apache.hop.core.row.IRowMeta; -import org.hopper.edw.datavault.transform.sortedschemamerge.SortedSchemaMergeLogic.SchemaMapping; import org.apache.hop.pipeline.transform.BaseTransformData; import org.apache.hop.pipeline.transform.ITransformData; +import org.hopper.edw.datavault.transform.sortedschemamerge.SortedSchemaMergeLogic.SchemaMapping; @SuppressWarnings("java:S1104") public class SortedSchemaMergeData extends BaseTransformData implements ITransformData { diff --git a/src/main/java/org/hopper/edw/datavault/transform/sourcemodelsql/SourceModelSqlSupport.java b/src/main/java/org/hopper/edw/datavault/transform/sourcemodelsql/SourceModelSqlSupport.java index d3922765..7266829e 100644 --- a/src/main/java/org/hopper/edw/datavault/transform/sourcemodelsql/SourceModelSqlSupport.java +++ b/src/main/java/org/hopper/edw/datavault/transform/sourcemodelsql/SourceModelSqlSupport.java @@ -27,6 +27,8 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.layout.DvPipelineElkLayout; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; @@ -35,8 +37,6 @@ import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlEngine; import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlOptions; import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlPlan; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; /** Shared planning/execution helpers for the Source Model SQL transform and dialog. */ public final class SourceModelSqlSupport { diff --git a/src/main/java/org/hopper/edw/datavault/virtualization/execute/SourceModelSqlExecutor.java b/src/main/java/org/hopper/edw/datavault/virtualization/execute/SourceModelSqlExecutor.java index dcab1c13..9c425861 100644 --- a/src/main/java/org/hopper/edw/datavault/virtualization/execute/SourceModelSqlExecutor.java +++ b/src/main/java/org/hopper/edw/datavault/virtualization/execute/SourceModelSqlExecutor.java @@ -23,18 +23,18 @@ import org.apache.hop.core.logging.LogLevel; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.virtualization.generate.RelToPipelineGenerator; -import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlEngine; -import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlException; -import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlOptions; -import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlPlan; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.pipeline.Pipeline; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.engines.local.LocalPipelineEngine; import org.apache.hop.pipeline.transform.ITransform; import org.apache.hop.pipeline.transform.RowAdapter; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.virtualization.generate.RelToPipelineGenerator; +import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlEngine; +import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlException; +import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlOptions; +import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlPlan; /** Runs a planned source-model SQL pipeline locally and collects preview rows. */ public final class SourceModelSqlExecutor { diff --git a/src/main/java/org/hopper/edw/datavault/virtualization/generate/RelToPipelineGenerator.java b/src/main/java/org/hopper/edw/datavault/virtualization/generate/RelToPipelineGenerator.java index 765bf5db..3c8cb31e 100644 --- a/src/main/java/org/hopper/edw/datavault/virtualization/generate/RelToPipelineGenerator.java +++ b/src/main/java/org/hopper/edw/datavault/virtualization/generate/RelToPipelineGenerator.java @@ -47,6 +47,24 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.PipelineHopMeta; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; +import org.apache.hop.pipeline.transforms.calculator.CalculationType; +import org.apache.hop.pipeline.transforms.calculator.CalculatorMeta; +import org.apache.hop.pipeline.transforms.calculator.CalculatorMetaFunction; +import org.apache.hop.pipeline.transforms.filterrows.FilterRowsMeta; +import org.apache.hop.pipeline.transforms.groupby.Aggregation; +import org.apache.hop.pipeline.transforms.groupby.GroupByMeta; +import org.apache.hop.pipeline.transforms.groupby.GroupingField; +import org.apache.hop.pipeline.transforms.mergejoin.MergeJoinMeta; +import org.apache.hop.pipeline.transforms.metainject.MetaInjectMeta; +import org.apache.hop.pipeline.transforms.selectvalues.SelectField; +import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; +import org.apache.hop.pipeline.transforms.sort.SortRowsField; +import org.apache.hop.pipeline.transforms.sort.SortRowsMeta; +import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.DvSqlSupport; import org.hopper.edw.datavault.metadata.SourceField; @@ -68,24 +86,6 @@ import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlOptions; import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlPlan; import org.hopper.edw.datavault.virtualization.sql.SupportedSqlFeatures; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.PipelineHopMeta; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; -import org.apache.hop.pipeline.transforms.calculator.CalculationType; -import org.apache.hop.pipeline.transforms.calculator.CalculatorMeta; -import org.apache.hop.pipeline.transforms.calculator.CalculatorMetaFunction; -import org.apache.hop.pipeline.transforms.filterrows.FilterRowsMeta; -import org.apache.hop.pipeline.transforms.groupby.Aggregation; -import org.apache.hop.pipeline.transforms.groupby.GroupByMeta; -import org.apache.hop.pipeline.transforms.groupby.GroupingField; -import org.apache.hop.pipeline.transforms.mergejoin.MergeJoinMeta; -import org.apache.hop.pipeline.transforms.metainject.MetaInjectMeta; -import org.apache.hop.pipeline.transforms.selectvalues.SelectField; -import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; -import org.apache.hop.pipeline.transforms.sort.SortRowsField; -import org.apache.hop.pipeline.transforms.sort.SortRowsMeta; -import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; /** * Converts a Calcite {@link RelNode} plan into a Hop {@link PipelineMeta}, preferring full SQL diff --git a/src/main/java/org/hopper/edw/datavault/virtualization/jdbc/HopSourceModelJdbcConnection.java b/src/main/java/org/hopper/edw/datavault/virtualization/jdbc/HopSourceModelJdbcConnection.java index a779b025..8c078806 100644 --- a/src/main/java/org/hopper/edw/datavault/virtualization/jdbc/HopSourceModelJdbcConnection.java +++ b/src/main/java/org/hopper/edw/datavault/virtualization/jdbc/HopSourceModelJdbcConnection.java @@ -35,8 +35,8 @@ import java.util.Properties; import java.util.concurrent.Executor; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; /** Read-only JDBC connection bound to a loaded {@link SourceModel}. */ public class HopSourceModelJdbcConnection implements Connection { diff --git a/src/main/java/org/hopper/edw/datavault/virtualization/jdbc/HopSourceModelJdbcDriver.java b/src/main/java/org/hopper/edw/datavault/virtualization/jdbc/HopSourceModelJdbcDriver.java index 5397ced3..db432edc 100644 --- a/src/main/java/org/hopper/edw/datavault/virtualization/jdbc/HopSourceModelJdbcDriver.java +++ b/src/main/java/org/hopper/edw/datavault/virtualization/jdbc/HopSourceModelJdbcDriver.java @@ -26,12 +26,12 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.util.HopMetadataInstance; import org.apache.hop.metadata.util.HopMetadataUtil; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelLoadSupport; /** * In-process JDBC driver for free SQL against a local {@code .hsm} file (requires full Hop). diff --git a/src/main/java/org/hopper/edw/datavault/virtualization/sql/SourceModelSqlEngine.java b/src/main/java/org/hopper/edw/datavault/virtualization/sql/SourceModelSqlEngine.java index 87db4b34..68d49b8b 100644 --- a/src/main/java/org/hopper/edw/datavault/virtualization/sql/SourceModelSqlEngine.java +++ b/src/main/java/org/hopper/edw/datavault/virtualization/sql/SourceModelSqlEngine.java @@ -17,10 +17,10 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.virtualization.calcite.SourceModelRelPlanner; import org.hopper.edw.datavault.virtualization.generate.RelToPipelineGenerator; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Entry point for free SQL against a {@link SourceModel}: parse → plan → Hop pipeline generation. diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/beginvaultupdate/ActionBeginVaultUpdate.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/beginvaultupdate/ActionBeginVaultUpdate.java index 38f856b2..916875bd 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/beginvaultupdate/ActionBeginVaultUpdate.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/beginvaultupdate/ActionBeginVaultUpdate.java @@ -24,11 +24,11 @@ import org.apache.hop.core.gui.plugin.GuiPlugin; import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.metrics.VaultUpdateExecutionSupport; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.workflow.action.ActionBase; import org.apache.hop.workflow.action.IAction; +import org.hopper.edw.datavault.metrics.VaultUpdateExecutionSupport; /** Starts a correlated vault update run by assigning a workflow execution id. */ @Action( diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/beginvaultupdate/ActionBeginVaultUpdateDialog.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/beginvaultupdate/ActionBeginVaultUpdateDialog.java index 41838b46..d9130473 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/beginvaultupdate/ActionBeginVaultUpdateDialog.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/beginvaultupdate/ActionBeginVaultUpdateDialog.java @@ -18,8 +18,6 @@ import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -33,6 +31,8 @@ import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; public class ActionBeginVaultUpdateDialog extends ActionDialog { diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/businessvaultupdate/ActionBusinessVaultUpdate.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/businessvaultupdate/ActionBusinessVaultUpdate.java index 31fb2a6e..75225d42 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/businessvaultupdate/ActionBusinessVaultUpdate.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/businessvaultupdate/ActionBusinessVaultUpdate.java @@ -27,7 +27,6 @@ import lombok.Setter; import org.apache.commons.lang3.StringUtils; import org.apache.commons.vfs2.FileObject; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.apache.hop.core.Const; import org.apache.hop.core.ICheckResult; import org.apache.hop.core.Result; @@ -46,6 +45,16 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.config.PipelineRunConfiguration; +import org.apache.hop.workflow.action.ActionBase; +import org.apache.hop.workflow.action.IAction; +import org.apache.hop.workflow.config.WorkflowRunConfiguration; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.datavault.catalog.BvCatalogPublisher; import org.hopper.edw.datavault.config.DvRunConfigurationSupport; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; @@ -71,15 +80,6 @@ import org.hopper.edw.datavault.metrics.ExecutionMetricsProfileResolver; import org.hopper.edw.datavault.metrics.ResolvedExecutionMetrics; import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.config.PipelineRunConfiguration; -import org.apache.hop.workflow.action.ActionBase; -import org.apache.hop.workflow.action.IAction; -import org.apache.hop.workflow.config.WorkflowRunConfiguration; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/datavaultupdate/ActionDataVaultUpdate.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/datavaultupdate/ActionDataVaultUpdate.java index 913846cf..e51de40e 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/datavaultupdate/ActionDataVaultUpdate.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/datavaultupdate/ActionDataVaultUpdate.java @@ -28,7 +28,6 @@ import lombok.Setter; import org.apache.commons.lang3.StringUtils; import org.apache.commons.vfs2.FileObject; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.apache.hop.core.Const; import org.apache.hop.core.ICheckResult; import org.apache.hop.core.Result; @@ -49,6 +48,17 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.config.PipelineRunConfiguration; +import org.apache.hop.workflow.WorkflowMeta; +import org.apache.hop.workflow.action.ActionBase; +import org.apache.hop.workflow.action.IAction; +import org.apache.hop.workflow.config.WorkflowRunConfiguration; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.datavault.catalog.DvCatalogPublisher; import org.hopper.edw.datavault.config.DvRunConfigurationSupport; import org.hopper.edw.datavault.lineage.DdlLineageExplainSupport; @@ -65,6 +75,7 @@ import org.hopper.edw.datavault.metadata.DvMultiSourceUpdateWorkflowSupport; import org.hopper.edw.datavault.metadata.DvOrphanHandlingSupport; import org.hopper.edw.datavault.metadata.DvPipelineOrchestratorSupport; +import org.hopper.edw.datavault.metadata.DvReadOnlyExistingVaultSupport; import org.hopper.edw.datavault.metadata.DvSpecialRecordSupport; import org.hopper.edw.datavault.metadata.DvTableType; import org.hopper.edw.datavault.metadata.DvTargetLoadMode; @@ -78,16 +89,6 @@ import org.hopper.edw.datavault.metrics.ExecutionMetricsProfileResolver; import org.hopper.edw.datavault.metrics.ResolvedExecutionMetrics; import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.config.PipelineRunConfiguration; -import org.apache.hop.workflow.WorkflowMeta; -import org.apache.hop.workflow.action.ActionBase; -import org.apache.hop.workflow.action.IAction; -import org.apache.hop.workflow.config.WorkflowRunConfiguration; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -403,6 +404,10 @@ public Result execute(Result result, int nr) throws HopException { } DataVaultModel model = loadReferencedDataModel(getMetadataProvider(), this); + if (DvReadOnlyExistingVaultSupport.isReadOnly(model)) { + logError(DvReadOnlyExistingVaultSupport.refuseUpdateMessage()); + return result; + } // Perform model check if requested if (logModelCheckFailures || abortOnModelCheckFailures) { diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/datavaultupdate/ActionDataVaultUpdateDialog.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/datavaultupdate/ActionDataVaultUpdateDialog.java index b07d03d9..c3d3a4ea 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/datavaultupdate/ActionDataVaultUpdateDialog.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/datavaultupdate/ActionDataVaultUpdateDialog.java @@ -18,9 +18,6 @@ import org.apache.hop.core.Const; import org.apache.hop.core.Props; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.file.vault.HopGuiDataVaultModelDialog; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -40,6 +37,9 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.hopper.edw.datavault.hopgui.file.vault.HopGuiDataVaultModelDialog; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; public class ActionDataVaultUpdateDialog extends ActionDialog { private static final Class PKG = ActionDataVaultUpdate.class; diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/dimensionalpublish/ActionDimensionalPublish.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/dimensionalpublish/ActionDimensionalPublish.java index fd85f99c..1b47605c 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/dimensionalpublish/ActionDimensionalPublish.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/dimensionalpublish/ActionDimensionalPublish.java @@ -29,17 +29,17 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.workflow.action.ActionBase; +import org.apache.hop.workflow.action.IAction; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.publish.DvPublishModelSupport; import org.hopper.edw.datavault.metadata.dimensional.publish.DvPublishOptions; import org.hopper.edw.datavault.metadata.dimensional.publish.DvPublishResult; import org.hopper.edw.datavault.metadata.dimensional.publish.DvToDimensionalPublish; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.workflow.action.ActionBase; -import org.apache.hop.workflow.action.IAction; /** Publishes a draft dimensional model (.hdm) from a Data Vault model (.hdv). */ @Action( diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/dimensionalupdate/ActionDimensionalUpdate.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/dimensionalupdate/ActionDimensionalUpdate.java index ff7346d5..e0a9f24b 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/dimensionalupdate/ActionDimensionalUpdate.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/dimensionalupdate/ActionDimensionalUpdate.java @@ -28,7 +28,6 @@ import lombok.Setter; import org.apache.commons.lang3.StringUtils; import org.apache.commons.vfs2.FileObject; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.apache.hop.core.Const; import org.apache.hop.core.ICheckResult; import org.apache.hop.core.Result; @@ -47,6 +46,16 @@ import org.apache.hop.core.variables.IVariables; import org.apache.hop.core.vfs.HopVfs; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.config.PipelineRunConfiguration; +import org.apache.hop.workflow.action.ActionBase; +import org.apache.hop.workflow.action.IAction; +import org.apache.hop.workflow.config.WorkflowRunConfiguration; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.datavault.catalog.DmCatalogPublisher; import org.hopper.edw.datavault.config.DvRunConfigurationSupport; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; @@ -71,15 +80,6 @@ import org.hopper.edw.datavault.metrics.ExecutionMetricsProfileResolver; import org.hopper.edw.datavault.metrics.ResolvedExecutionMetrics; import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.config.PipelineRunConfiguration; -import org.apache.hop.workflow.action.ActionBase; -import org.apache.hop.workflow.action.IAction; -import org.apache.hop.workflow.config.WorkflowRunConfiguration; import org.w3c.dom.Document; import org.w3c.dom.Node; diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/endvaultupdate/ActionEndVaultUpdate.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/endvaultupdate/ActionEndVaultUpdate.java index e3b68c8e..e5b0e723 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/endvaultupdate/ActionEndVaultUpdate.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/endvaultupdate/ActionEndVaultUpdate.java @@ -18,7 +18,6 @@ import java.util.Date; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.apache.hop.core.Result; import org.apache.hop.core.annotations.Action; import org.apache.hop.core.database.DatabaseMeta; @@ -29,6 +28,14 @@ import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.workflow.WorkflowMeta; +import org.apache.hop.workflow.action.ActionBase; +import org.apache.hop.workflow.action.IAction; +import org.apache.hop.workflow.engine.IWorkflowEngine; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.datavault.metrics.VaultUpdateExecutionSupport; import org.hopper.edw.datavault.metrics.WorkflowLoadOverviewFileWriter; import org.hopper.edw.datavault.metrics.WorkflowLoadOverviewLoader; @@ -39,13 +46,6 @@ import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; import org.hopper.edw.datavault.workflow.ReferencedFilename; import org.hopper.edw.datavault.workflow.WorkflowReferencedObjectVariableSupport; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.workflow.WorkflowMeta; -import org.apache.hop.workflow.action.ActionBase; -import org.apache.hop.workflow.action.IAction; -import org.apache.hop.workflow.engine.IWorkflowEngine; /** Ends a correlated vault update run and publishes workflow load overview reports. */ @Action( diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/endvaultupdate/ActionEndVaultUpdateDialog.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/endvaultupdate/ActionEndVaultUpdateDialog.java index 5916f1f1..a85e3767 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/endvaultupdate/ActionEndVaultUpdateDialog.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/endvaultupdate/ActionEndVaultUpdateDialog.java @@ -18,8 +18,6 @@ import org.apache.hop.core.Const; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -33,6 +31,8 @@ import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; public class ActionEndVaultUpdateDialog extends ActionDialog { diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/exportarchitecture/ActionExportArchitecture.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/exportarchitecture/ActionExportArchitecture.java index cb701766..cde1fa6d 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/exportarchitecture/ActionExportArchitecture.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/exportarchitecture/ActionExportArchitecture.java @@ -20,7 +20,6 @@ import java.util.List; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.Result; import org.apache.hop.core.annotations.Action; import org.apache.hop.core.exception.HopException; @@ -29,14 +28,15 @@ import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.architecture.ArchitectureExportService; -import org.hopper.edw.datavault.architecture.ArchitectureExportService.ExportResult; -import org.hopper.edw.datavault.architecture.ArchitectureViewType; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.workflow.action.ActionBase; import org.apache.hop.workflow.action.IAction; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.datavault.architecture.ArchitectureExportService; +import org.hopper.edw.datavault.architecture.ArchitectureExportService.ExportResult; +import org.hopper.edw.datavault.architecture.ArchitectureViewType; /** * Exports a Draw.io architecture diagram from a workflow root (SOLUTION view) and/or model lineage diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/exportdatalineage/ActionExportDataLineage.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/exportdatalineage/ActionExportDataLineage.java index 65997d37..e5978b9d 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/exportdatalineage/ActionExportDataLineage.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/exportdatalineage/ActionExportDataLineage.java @@ -19,7 +19,6 @@ import java.util.List; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.Result; import org.apache.hop.core.annotations.Action; import org.apache.hop.core.database.DatabaseMeta; @@ -29,15 +28,16 @@ import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.util.Utils; -import org.hopper.edw.datavault.openlineage.OpenLineageDestinationMode; -import org.hopper.edw.datavault.openlineage.OpenLineageExportOptions; -import org.hopper.edw.datavault.openlineage.OpenLineageExportResult; -import org.hopper.edw.datavault.openlineage.OpenLineageExportService; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.workflow.action.ActionBase; import org.apache.hop.workflow.action.IAction; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.datavault.openlineage.OpenLineageDestinationMode; +import org.hopper.edw.datavault.openlineage.OpenLineageExportOptions; +import org.hopper.edw.datavault.openlineage.OpenLineageExportResult; +import org.hopper.edw.datavault.openlineage.OpenLineageExportService; /** * Exports model-derived OpenLineage events (table + column lineage) for DV/BV/DM models in a diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/exportdatalineage/ActionExportDataLineageDialog.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/exportdatalineage/ActionExportDataLineageDialog.java index 786eba06..14b49e8b 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/exportdatalineage/ActionExportDataLineageDialog.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/exportdatalineage/ActionExportDataLineageDialog.java @@ -23,8 +23,6 @@ import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -42,6 +40,8 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; public class ActionExportDataLineageDialog extends ActionDialog { diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/generateexecutionmap/ActionGenerateExecutionMap.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/generateexecutionmap/ActionGenerateExecutionMap.java index 1c5eb050..9b6726db 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/generateexecutionmap/ActionGenerateExecutionMap.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/generateexecutionmap/ActionGenerateExecutionMap.java @@ -27,10 +27,6 @@ import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.command.executionmap.ExecutionMapService; -import org.hopper.edw.datavault.command.executionmap.ExecutionMapService.GenerateResult; -import org.hopper.edw.datavault.executionmap.CrawlOptions; -import org.hopper.edw.datavault.executionmap.ExecutionMapPersistence; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; @@ -38,6 +34,10 @@ import org.apache.hop.workflow.action.ActionBase; import org.apache.hop.workflow.action.IAction; import org.apache.hop.workflow.engine.IWorkflowEngine; +import org.hopper.edw.datavault.command.executionmap.ExecutionMapService; +import org.hopper.edw.datavault.command.executionmap.ExecutionMapService.GenerateResult; +import org.hopper.edw.datavault.executionmap.CrawlOptions; +import org.hopper.edw.datavault.executionmap.ExecutionMapPersistence; /** Crawls a workflow or pipeline and writes a read-only execution map (.hem) file. */ @Action( diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/harvestmetadata/ActionHarvestSourceMetadata.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/harvestmetadata/ActionHarvestSourceMetadata.java index 24a1ad26..2095e2f9 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/harvestmetadata/ActionHarvestSourceMetadata.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/harvestmetadata/ActionHarvestSourceMetadata.java @@ -21,17 +21,6 @@ import lombok.Getter; import lombok.Setter; import org.apache.commons.vfs2.FileObject; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.BaselineMode; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestRequest; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestStatus; -import org.hopper.edw.catalog.harvest.SchemaHarvestService; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher.PublishContext; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher.PublishResult; -import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher.PublishStatus; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.Const; import org.apache.hop.core.Result; import org.apache.hop.core.annotations.Action; @@ -43,12 +32,23 @@ import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.vfs.HopVfs; -import org.hopper.edw.datavault.metrics.DvUpdateMetricsConstants; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.HopMetadataProperty; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.workflow.action.ActionBase; import org.apache.hop.workflow.action.IAction; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.BaselineMode; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestRequest; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestStatus; +import org.hopper.edw.catalog.harvest.SchemaHarvestService; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher.PublishContext; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher.PublishResult; +import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher.PublishStatus; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.datavault.metrics.DvUpdateMetricsConstants; /** * Harvests live source metadata for record definitions in a resource definition group, stores diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/importdbt/ActionImportDbtProject.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/importdbt/ActionImportDbtProject.java index f0c1fed5..c189f108 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/importdbt/ActionImportDbtProject.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/importdbt/ActionImportDbtProject.java @@ -28,6 +28,11 @@ import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.vfs.HopVfs; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.workflow.action.ActionBase; +import org.apache.hop.workflow.action.IAction; import org.hopper.edw.datavault.dbt.DbtImportConflictPolicy; import org.hopper.edw.datavault.dbt.DbtImportDestination; import org.hopper.edw.datavault.dbt.DbtImportOptions; @@ -40,11 +45,6 @@ import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BvSqlModelPathSupport; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.workflow.action.ActionBase; -import org.apache.hop.workflow.action.IAction; /** * Headless dbt-core import: scan a project and write SQL business tables into one or more {@code diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/importdbt/ActionImportDbtProjectDialog.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/importdbt/ActionImportDbtProjectDialog.java index 909486c2..b0b9f412 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/importdbt/ActionImportDbtProjectDialog.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/importdbt/ActionImportDbtProjectDialog.java @@ -17,8 +17,6 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.ui.core.FormDataBuilder; import org.apache.hop.ui.core.PropsUi; @@ -32,6 +30,8 @@ import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; public class ActionImportDbtProjectDialog extends ActionDialog { diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ActionUpdateResourceDefinitionGroup.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ActionUpdateResourceDefinitionGroup.java index 3b05bcf0..2944f69b 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ActionUpdateResourceDefinitionGroup.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ActionUpdateResourceDefinitionGroup.java @@ -22,8 +22,6 @@ import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.StringUtils; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.Const; import org.apache.hop.core.Result; import org.apache.hop.core.annotations.Action; @@ -36,6 +34,18 @@ import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.pipeline.config.PipelineRunConfiguration; +import org.apache.hop.ui.hopgui.HopGui; +import org.apache.hop.workflow.action.ActionBase; +import org.apache.hop.workflow.action.IAction; +import org.apache.hop.workflow.config.WorkflowRunConfiguration; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvReadOnlyExistingVaultSupport; import org.hopper.edw.datavault.metadata.targettypemapping.TargetTypeMappingMeta; import org.hopper.edw.datavault.metrics.VaultUpdateExecutionSupport; import org.hopper.edw.datavault.metrics.WorkflowLoadOverviewFileWriter; @@ -53,14 +63,6 @@ import org.hopper.edw.datavault.workflow.actions.dimensionalupdate.ActionDimensionalUpdate; import org.hopper.edw.datavault.workflow.actions.updateresourcegroup.ResourceGroupModelUpdatePlanner.ModelUpdateJob; import org.hopper.edw.datavault.workflow.actions.updateresourcegroup.ResourceGroupModelValidationSupport.ModelCheckOutcome; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.pipeline.config.PipelineRunConfiguration; -import org.apache.hop.ui.hopgui.HopGui; -import org.apache.hop.workflow.action.ActionBase; -import org.apache.hop.workflow.action.IAction; -import org.apache.hop.workflow.config.WorkflowRunConfiguration; /** * Updates every DV / BV / DM model listed on a resource definition group, in layer order (DV → BV → @@ -689,6 +691,14 @@ public Result execute(Result result, int nr) throws HopException { int index = 0; for (ModelUpdateJob job : jobs) { index++; + if (shouldSkipReadOnlyDataVaultJob(job)) { + logBasic( + BaseMessages.getString( + PKG, + "ActionUpdateResourceDefinitionGroup.Log.SkippingReadOnlyExistingVault", + job.modelFile())); + continue; + } logBasic( BaseMessages.getString( PKG, @@ -864,6 +874,20 @@ private static GroupModelValidationReportFileWriter.ReportFormat parseValidation } } + private boolean shouldSkipReadOnlyDataVaultJob(ModelUpdateJob job) { + if (job == null || job.layer() != ResourceGroupModelUpdatePlanner.ModelLayer.DATA_VAULT) { + return false; + } + try { + DataVaultModel model = + ResourceDefinitionGroupResolver.loadDataVaultModel( + job.modelFile(), this, getMetadataProvider()); + return DvReadOnlyExistingVaultSupport.skipDataVaultUpdateInResourceGroup(true, model); + } catch (Exception e) { + return false; + } + } + private Result runModelUpdate( ModelUpdateJob job, String catalogConnection, diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ResourceGroupModelUpdatePlanner.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ResourceGroupModelUpdatePlanner.java index 50d4e7b5..d5395b34 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ResourceGroupModelUpdatePlanner.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ResourceGroupModelUpdatePlanner.java @@ -17,9 +17,9 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; /** * Builds the ordered list of model update jobs for a resource definition group. diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ResourceGroupModelValidationSupport.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ResourceGroupModelValidationSupport.java index fae56701..c0c411e5 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ResourceGroupModelValidationSupport.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ResourceGroupModelValidationSupport.java @@ -17,13 +17,14 @@ import java.util.List; import java.util.Map; -import org.hopper.edw.catalog.harvest.SchemaHarvestModelCheckSupport; import org.apache.hop.core.Const; import org.apache.hop.core.ICheckResult; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.harvest.SchemaHarvestModelCheckSupport; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvModelCheckOptions; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; @@ -31,7 +32,6 @@ import org.hopper.edw.datavault.resourcedefinition.ParallelValidationSupport; import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.hopper.edw.datavault.workflow.actions.updateresourcegroup.ResourceGroupModelUpdatePlanner.ModelUpdateJob; -import org.apache.hop.metadata.api.IHopMetadataProvider; /** * Parallel model-check helper for {@link ActionUpdateResourceDefinitionGroup}: validates every diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/validatedefinitions/ActionValidateResourceDefinitions.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/validatedefinitions/ActionValidateResourceDefinitions.java index c1611271..dc8a84f4 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/validatedefinitions/ActionValidateResourceDefinitions.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/validatedefinitions/ActionValidateResourceDefinitions.java @@ -22,9 +22,6 @@ import java.util.Set; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.versioning.CatalogVersionEntry; -import org.hopper.edw.catalog.versioning.CatalogVersionService; import org.apache.hop.core.Const; import org.apache.hop.core.Result; import org.apache.hop.core.annotations.Action; @@ -35,6 +32,14 @@ import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.workflow.action.ActionBase; +import org.apache.hop.workflow.action.IAction; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.versioning.CatalogVersionEntry; +import org.hopper.edw.catalog.versioning.CatalogVersionService; import org.hopper.edw.datavault.catalog.DvSourceCatalogService; import org.hopper.edw.datavault.resourcedefinition.ParallelValidationSupport; import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; @@ -50,11 +55,6 @@ import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueSeverity; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.ValidationIssue; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.HopMetadataProperty; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.workflow.action.ActionBase; -import org.apache.hop.workflow.action.IAction; /** * CI/CD schema gate: validates source contracts for a resource definition group, optionally against diff --git a/src/main/java/org/hopper/edw/datavault/workflow/actions/validatedefinitions/ActionValidateResourceDefinitionsDialog.java b/src/main/java/org/hopper/edw/datavault/workflow/actions/validatedefinitions/ActionValidateResourceDefinitionsDialog.java index 3d012881..228ea0cf 100644 --- a/src/main/java/org/hopper/edw/datavault/workflow/actions/validatedefinitions/ActionValidateResourceDefinitionsDialog.java +++ b/src/main/java/org/hopper/edw/datavault/workflow/actions/validatedefinitions/ActionValidateResourceDefinitionsDialog.java @@ -24,8 +24,6 @@ import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; -import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; -import org.hopper.edw.datavault.hopgui.help.HelpTopics; import org.apache.hop.i18n.BaseMessages; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.ui.core.FormDataBuilder; @@ -47,6 +45,8 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; +import org.hopper.edw.datavault.hopgui.help.DialogHelpSupport; +import org.hopper.edw.datavault.hopgui.help.HelpTopics; public class ActionValidateResourceDefinitionsDialog extends ActionDialog { diff --git a/src/main/java/org/hopper/edw/datavault/www/SourceModelDataServlet.java b/src/main/java/org/hopper/edw/datavault/www/SourceModelDataServlet.java index fc691466..70a57a18 100644 --- a/src/main/java/org/hopper/edw/datavault/www/SourceModelDataServlet.java +++ b/src/main/java/org/hopper/edw/datavault/www/SourceModelDataServlet.java @@ -33,6 +33,13 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; +import org.apache.hop.metadata.api.IHopMetadataSerializer; +import org.apache.hop.metadata.serializer.json.JsonMetadataProvider; +import org.apache.hop.metadata.serializer.multi.MultiMetadataProvider; +import org.apache.hop.metadata.util.HopMetadataUtil; +import org.apache.hop.www.BaseHttpServlet; +import org.apache.hop.www.IHopServerPlugin; +import org.apache.hop.www.PipelineMap; import org.hopper.edw.datavault.metadata.sourcemodel.SourceColumn; import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; @@ -44,13 +51,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.service.SourceModelService; import org.hopper.edw.datavault.virtualization.execute.SourceModelSqlExecutor; import org.hopper.edw.datavault.virtualization.jdbc.HopSourceModelJdbcResultSet; -import org.apache.hop.metadata.api.IHopMetadataSerializer; -import org.apache.hop.metadata.serializer.json.JsonMetadataProvider; -import org.apache.hop.metadata.serializer.multi.MultiMetadataProvider; -import org.apache.hop.metadata.util.HopMetadataUtil; -import org.apache.hop.www.BaseHttpServlet; -import org.apache.hop.www.IHopServerPlugin; -import org.apache.hop.www.PipelineMap; /** * Hop Server servlet for free SQL over {@link SourceModelService} metadata. diff --git a/src/main/java/org/hopper/edw/quality/history/DataQualityHistoryPublisher.java b/src/main/java/org/hopper/edw/quality/history/DataQualityHistoryPublisher.java index 161f1f42..4da73938 100644 --- a/src/main/java/org/hopper/edw/quality/history/DataQualityHistoryPublisher.java +++ b/src/main/java/org/hopper/edw/quality/history/DataQualityHistoryPublisher.java @@ -22,11 +22,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import org.hopper.edw.catalog.model.PhysicalTableRef; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.RowMetaAndData; import org.apache.hop.core.database.Database; import org.apache.hop.core.database.DatabaseMeta; @@ -42,6 +37,11 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.model.PhysicalTableRef; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.model.RecordDefinitionType; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.quality.disposition.DispositionResult; import org.hopper.edw.quality.disposition.QualityDispositionMode; import org.hopper.edw.quality.model.DataQualityFinding; diff --git a/src/main/java/org/hopper/edw/quality/history/DataQualityHistoryReader.java b/src/main/java/org/hopper/edw/quality/history/DataQualityHistoryReader.java index ed0abe58..0b05d9db 100644 --- a/src/main/java/org/hopper/edw/quality/history/DataQualityHistoryReader.java +++ b/src/main/java/org/hopper/edw/quality/history/DataQualityHistoryReader.java @@ -20,10 +20,6 @@ import java.util.Collections; import java.util.Date; import java.util.List; -import org.hopper.edw.catalog.model.PhysicalTableRef; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.apache.hop.core.database.Database; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; @@ -32,6 +28,10 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.model.PhysicalTableRef; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; /** * Resolves the quality history ops connection and queries profile-subject history / findings for diff --git a/src/main/java/org/hopper/edw/quality/service/DataQualityMeasureService.java b/src/main/java/org/hopper/edw/quality/service/DataQualityMeasureService.java index ebd540b8..a8eff850 100644 --- a/src/main/java/org/hopper/edw/quality/service/DataQualityMeasureService.java +++ b/src/main/java/org/hopper/edw/quality/service/DataQualityMeasureService.java @@ -17,15 +17,15 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.model.PhysicalTableRef; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.quality.CatalogQualitySubjectSupport; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.ILogChannel; import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.IVariables; import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.hopper.edw.catalog.model.PhysicalTableRef; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.quality.CatalogQualitySubjectSupport; import org.hopper.edw.quality.engine.DataQualityRuleEvaluatorRegistry; import org.hopper.edw.quality.engine.QualityEvaluationContext; import org.hopper.edw.quality.model.DataQualityFinding; diff --git a/src/main/java/org/hopper/edw/quality/workflow/actions/evaluatequalitygate/ActionEvaluateQualityGate.java b/src/main/java/org/hopper/edw/quality/workflow/actions/evaluatequalitygate/ActionEvaluateQualityGate.java index 3bec0f1f..79495c14 100644 --- a/src/main/java/org/hopper/edw/quality/workflow/actions/evaluatequalitygate/ActionEvaluateQualityGate.java +++ b/src/main/java/org/hopper/edw/quality/workflow/actions/evaluatequalitygate/ActionEvaluateQualityGate.java @@ -21,10 +21,6 @@ import java.util.stream.Collectors; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.quality.CatalogQualitySubjectSupport; import org.apache.hop.core.Const; import org.apache.hop.core.Result; import org.apache.hop.core.annotations.Action; @@ -34,13 +30,19 @@ import org.apache.hop.core.gui.plugin.GuiPlugin; import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.workflow.action.ActionBase; +import org.apache.hop.workflow.action.IAction; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.quality.CatalogQualitySubjectSupport; import org.hopper.edw.datavault.metrics.VaultUpdateExecutionSupport; import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.hopper.edw.datavault.resourcedefinition.SourceUsage; import org.hopper.edw.datavault.resourcedefinition.SourceUsageIndexBuilder; import org.hopper.edw.datavault.resourcedefinition.ValidationModels; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.HopMetadataProperty; import org.hopper.edw.quality.alert.QualityAlertContext; import org.hopper.edw.quality.alert.QualityAlertSupport; import org.hopper.edw.quality.disposition.DispositionResult; @@ -55,8 +57,6 @@ import org.hopper.edw.quality.service.DataQualityMeasureService; import org.hopper.edw.quality.service.DataQualityReportFormatter; import org.hopper.edw.quality.workflow.actions.measuredataquality.ActionMeasureDataQuality; -import org.apache.hop.workflow.action.ActionBase; -import org.apache.hop.workflow.action.IAction; /** * Applies a disposition policy to a data quality report. Prefer placing after Measure Data Quality; diff --git a/src/main/java/org/hopper/edw/quality/workflow/actions/measuredataquality/ActionMeasureDataQuality.java b/src/main/java/org/hopper/edw/quality/workflow/actions/measuredataquality/ActionMeasureDataQuality.java index 15e566f3..99ebe1ed 100644 --- a/src/main/java/org/hopper/edw/quality/workflow/actions/measuredataquality/ActionMeasureDataQuality.java +++ b/src/main/java/org/hopper/edw/quality/workflow/actions/measuredataquality/ActionMeasureDataQuality.java @@ -21,11 +21,6 @@ import java.util.stream.Collectors; import lombok.Getter; import lombok.Setter; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.model.PhysicalTableRef; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.quality.CatalogQualitySubjectSupport; import org.apache.hop.core.Const; import org.apache.hop.core.Result; import org.apache.hop.core.annotations.Action; @@ -35,14 +30,21 @@ import org.apache.hop.core.gui.plugin.GuiPlugin; import org.apache.hop.core.gui.plugin.GuiWidgetElement; import org.apache.hop.core.util.Utils; +import org.apache.hop.i18n.BaseMessages; +import org.apache.hop.metadata.api.HopMetadataProperty; +import org.apache.hop.workflow.action.ActionBase; +import org.apache.hop.workflow.action.IAction; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.model.PhysicalTableRef; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.quality.CatalogQualitySubjectSupport; import org.hopper.edw.datavault.metrics.DvUpdateMetricsConstants; import org.hopper.edw.datavault.metrics.VaultUpdateExecutionSupport; import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.hopper.edw.datavault.resourcedefinition.SourceUsage; import org.hopper.edw.datavault.resourcedefinition.SourceUsageIndexBuilder; import org.hopper.edw.datavault.resourcedefinition.ValidationModels; -import org.apache.hop.i18n.BaseMessages; -import org.apache.hop.metadata.api.HopMetadataProperty; import org.hopper.edw.quality.history.DataQualityHistoryPublisher; import org.hopper.edw.quality.history.DataQualityHistoryPublisher.PublishContext; import org.hopper.edw.quality.history.DataQualityHistoryPublisher.PublishResult; @@ -53,8 +55,6 @@ import org.hopper.edw.quality.model.QualityLifecycle; import org.hopper.edw.quality.service.DataQualityMeasureService; import org.hopper.edw.quality.service.DataQualityReportFormatter; -import org.apache.hop.workflow.action.ActionBase; -import org.apache.hop.workflow.action.IAction; /** * Measures data quality rules against catalog subjects. Does not fail the workflow for rule diff --git a/src/main/resources/org/hopper/edw/datavault/hopgui/file/vault/messages/messages_en_US.properties b/src/main/resources/org/hopper/edw/datavault/hopgui/file/vault/messages/messages_en_US.properties index e5eb0aaf..576d454a 100644 --- a/src/main/resources/org/hopper/edw/datavault/hopgui/file/vault/messages/messages_en_US.properties +++ b/src/main/resources/org/hopper/edw/datavault/hopgui/file/vault/messages/messages_en_US.properties @@ -64,6 +64,7 @@ HopGuiVaultGraph.DebugVariables.Column.Value=Value HopGuiVaultGraph.DebugVariables.Error.Title=Error HopGuiVaultGraph.DebugVariables.Error.Message=Could not prepare the debug variables dialog. HopGuiVaultGraph.Toolbar.GenerateDdl.Tooltip=Generate DDL for all tables in the model +HopGuiVaultGraph.ReadOnlyExistingVault.Title=Read-only existing vault HopGuiVaultGraph.NoDdlNeeded.Title = Looks Good! HopGuiVaultGraph.NoDdlNeeded.Message = There are no changes needed in the target database. Everything looks good. HopGuiVaultGraph.ExportSvg.Error.Title=Error diff --git a/src/main/resources/org/hopper/edw/datavault/metadata/messages/messages_en_US.properties b/src/main/resources/org/hopper/edw/datavault/metadata/messages/messages_en_US.properties index 473c5f97..34d42817 100644 --- a/src/main/resources/org/hopper/edw/datavault/metadata/messages/messages_en_US.properties +++ b/src/main/resources/org/hopper/edw/datavault/metadata/messages/messages_en_US.properties @@ -28,7 +28,10 @@ ModelConfigurationResolver.CheckResult.InlineConfigurationIgnored=This model ref ModelConfigurationExtractSupport.Error.Title=Extract configuration ModelConfigurationExtractSupport.Error.Message=Unable to extract the embedded configuration into project metadata DataVaultConfiguration.TargetDatabase.Label=Target database -DataVaultConfiguration.TargetDatabase.ToolTip=The target database connection (a DatabaseMeta) where the Data Vault tables (hubs, links, satellites) will be created and loaded. +DataVaultConfiguration.TargetDatabase.ToolTip=The Hop database connection where Data Vault tables live. Hop-managed models create and load tables here. Read-only existing vaults only read from this connection (Business Vault and dimensional loads). +DataVaultConfiguration.ReadOnlyExistingVault.Label=Read-only existing vault +DataVaultConfiguration.ReadOnlyExistingVault.ToolTip=When enabled, this configuration documents an existing raw Data Vault that Hop must not load or alter. Use a dedicated configuration object (do not share it with Hop-managed models). Model check only verifies referential integrity (hash keys, parent hubs/links, names, attributes). Data Vault Update, Generate DDL, and Debug are refused so Business Vault and dimensional models can read the documented tables. +DvReadOnlyExistingVaultSupport.Error.RefuseUpdate=This Data Vault configuration is a read-only existing vault. Hop will not generate DDL or load pipelines for it. Document the hubs, links, and satellites so Business Vault and dimensional models can read the existing tables. DvHub.name=Data Vault Hub DvHub.description=A core business entity (Hub) in a Data Vault 2.0 model. Contains business key definition(s). DvLink.name=Data Vault Link @@ -357,6 +360,7 @@ DvIntegrationSupport.CheckResult.CustomPipelineCheckFailed=Could not verify cust DvIntegrationSupport.Error.LoadCustomPipeline=Failed to load custom update pipeline ''{0}'' for table ''{1}'' # Additional Hub checks DvHub.CheckResult.NoHashKeyFieldName=No hash key field name specified. It will default to the first business key's name + "_HK". +DvHub.CheckResult.ReadOnlyMissingHashKeyFieldName=Read-only existing vault\: hash key field name is required on hub ''{0}'' so Business Vault and dimensional models can join the physical table. DvHub.CheckResult.HasHashKeyFieldName=Hash key field name: {0} DvHub.CheckResult.BusinessKeyNoName=One of the business keys has no name specified. DvHub.CheckResult.BusinessKeyNoDataType=Business key ''{0}'' has no data type. Set a Hop type (String, Integer, Timestamp, \ldots) on the Keys tab — required for DDL and catalog publish. @@ -404,6 +408,7 @@ DvLink.Error.NoLinkHubSources=Please specify one or more link hub sources in Lin DvLink.CheckResult.HasLinkSatelliteSources=Has {0} link satellite record source(s) defined for this link. # DataVaultModel level checks DataVaultModel.CheckResult.ErrorLoadingMetadata=Error loading data vault metadata when model checking: {0} +DataVaultModel.CheckResult.ReadOnlyExistingVault=This model uses a read-only existing vault configuration. Load, DDL, source-mapping, and bulk-load checks were skipped. Referential integrity (hash keys, parent hubs/links, names, attributes) is still validated. DataVaultModel.CheckResult.NoTargetDatabase=No target database is configured in the model. Set it in the model properties dialog. DataVaultModel.CheckResult.HasTargetDatabase=Target database: {0} DataVaultModel.CheckResult.TargetDatabaseLoadFailed=Could not load target database connection ''{0}'': {1} diff --git a/src/main/resources/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/messages/messages_en_US.properties b/src/main/resources/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/messages/messages_en_US.properties index 04fc63e4..f7a382c5 100644 --- a/src/main/resources/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/messages/messages_en_US.properties +++ b/src/main/resources/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/messages/messages_en_US.properties @@ -133,6 +133,7 @@ ActionUpdateResourceDefinitionGroup.Error.ValidationReportWrite=Unable to write ActionUpdateResourceDefinitionGroup.Log.MetricsStarted=Vault update metrics started (execution id {0}) ActionUpdateResourceDefinitionGroup.Log.UpdatingModel=Updating {0} model {1} ({2}/{3}) +ActionUpdateResourceDefinitionGroup.Log.SkippingReadOnlyExistingVault=Skipping Data Vault Update for documentation-only model {0} ActionUpdateResourceDefinitionGroup.Log.DryRunModel=Dry-run (no data load) for {0} model {1} ({2}/{3}) ActionUpdateResourceDefinitionGroup.Log.Completed=Finished updating resource definition group ''{0}'' ({1} model(s)) ActionUpdateResourceDefinitionGroup.Log.DryRunCompleted=Finished dry-run for resource definition group ''{0}'' ({1} model(s); data loads skipped) diff --git a/src/test/java/org/hopper/edw/catalog/ddl/CatalogTableDdlSupportTest.java b/src/test/java/org/hopper/edw/catalog/ddl/CatalogTableDdlSupportTest.java index 5d65057e..8df0d3e7 100644 --- a/src/test/java/org/hopper/edw/catalog/ddl/CatalogTableDdlSupportTest.java +++ b/src/test/java/org/hopper/edw/catalog/ddl/CatalogTableDdlSupportTest.java @@ -20,14 +20,14 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.List; -import org.hopper.edw.catalog.model.PhysicalTableRef; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; +import org.hopper.edw.catalog.model.PhysicalTableRef; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.targettypemapping.TargetTypeMappingContext; import org.hopper.edw.datavault.metadata.targettypemapping.TargetTypeMappingMeta; diff --git a/src/test/java/org/hopper/edw/catalog/discovery/RecordDefinitionCatalogRefreshSupportTest.java b/src/test/java/org/hopper/edw/catalog/discovery/RecordDefinitionCatalogRefreshSupportTest.java index b1430f4a..d22bd9aa 100644 --- a/src/test/java/org/hopper/edw/catalog/discovery/RecordDefinitionCatalogRefreshSupportTest.java +++ b/src/test/java/org/hopper/edw/catalog/discovery/RecordDefinitionCatalogRefreshSupportTest.java @@ -20,13 +20,13 @@ import java.util.Date; import java.util.List; +import org.apache.hop.core.row.IValueMeta; import org.hopper.edw.catalog.model.CatalogSourceField; import org.hopper.edw.catalog.model.DvSourceRecord; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.catalog.model.RecordOrigin; -import org.apache.hop.core.row.IValueMeta; import org.hopper.edw.datavault.metadata.SourceField; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/catalog/harvest/SchemaHarvestModelCheckSupportTest.java b/src/test/java/org/hopper/edw/catalog/harvest/SchemaHarvestModelCheckSupportTest.java index 41d818e8..d42802f8 100644 --- a/src/test/java/org/hopper/edw/catalog/harvest/SchemaHarvestModelCheckSupportTest.java +++ b/src/test/java/org/hopper/edw/catalog/harvest/SchemaHarvestModelCheckSupportTest.java @@ -21,16 +21,16 @@ import java.util.List; import java.util.Map; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.DiscoveryStatus; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestSubjectResult; -import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.DiscoveryStatus; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestSubjectResult; +import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; import org.hopper.edw.datavault.metadata.DvModelCheckCache; import org.hopper.edw.datavault.metadata.DvModelCheckOptions; import org.hopper.edw.datavault.metadata.SourceField; diff --git a/src/test/java/org/hopper/edw/catalog/harvest/SchemaHarvestSourceModelGeneratorTest.java b/src/test/java/org/hopper/edw/catalog/harvest/SchemaHarvestSourceModelGeneratorTest.java index ce64ad26..44faac26 100644 --- a/src/test/java/org/hopper/edw/catalog/harvest/SchemaHarvestSourceModelGeneratorTest.java +++ b/src/test/java/org/hopper/edw/catalog/harvest/SchemaHarvestSourceModelGeneratorTest.java @@ -20,14 +20,14 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.List; +import org.apache.hop.core.HopEnvironment; +import org.apache.hop.core.exception.HopException; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.DiscoveryStatus; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestSubjectResult; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedField; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestedForeignKey; -import org.apache.hop.core.HopEnvironment; -import org.apache.hop.core.exception.HopException; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; import org.junit.jupiter.api.BeforeAll; diff --git a/src/test/java/org/hopper/edw/catalog/harvest/history/SchemaHarvestHistoryReaderBrowseTest.java b/src/test/java/org/hopper/edw/catalog/harvest/history/SchemaHarvestHistoryReaderBrowseTest.java index 309a38b4..55c01dc9 100644 --- a/src/test/java/org/hopper/edw/catalog/harvest/history/SchemaHarvestHistoryReaderBrowseTest.java +++ b/src/test/java/org/hopper/edw/catalog/harvest/history/SchemaHarvestHistoryReaderBrowseTest.java @@ -21,6 +21,12 @@ import java.util.List; import java.util.UUID; +import org.apache.hop.core.HopEnvironment; +import org.apache.hop.core.database.DatabaseMeta; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.logging.LogChannel; +import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.DiscoveryStatus; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.FieldRole; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestChange; @@ -33,12 +39,6 @@ import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryPublisher.PublishStatus; import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestRunSummary; import org.hopper.edw.catalog.harvest.history.SchemaHarvestHistoryReader.HarvestSubjectSummary; -import org.apache.hop.core.HopEnvironment; -import org.apache.hop.core.database.DatabaseMeta; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.logging.LogChannel; -import org.apache.hop.core.variables.Variables; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/catalog/hopgui/navigation/RecordOriginNavigationSupportTest.java b/src/test/java/org/hopper/edw/catalog/hopgui/navigation/RecordOriginNavigationSupportTest.java index 40a9cf71..869b4a1b 100644 --- a/src/test/java/org/hopper/edw/catalog/hopgui/navigation/RecordOriginNavigationSupportTest.java +++ b/src/test/java/org/hopper/edw/catalog/hopgui/navigation/RecordOriginNavigationSupportTest.java @@ -20,10 +20,10 @@ import java.nio.file.Files; import java.nio.file.Path; -import org.hopper.edw.catalog.model.RecordOrigin; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; +import org.hopper.edw.catalog.model.RecordOrigin; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; diff --git a/src/test/java/org/hopper/edw/catalog/hopgui/preview/RecordDefinitionPreviewSupportTest.java b/src/test/java/org/hopper/edw/catalog/hopgui/preview/RecordDefinitionPreviewSupportTest.java index f6308136..34ebb0f7 100644 --- a/src/test/java/org/hopper/edw/catalog/hopgui/preview/RecordDefinitionPreviewSupportTest.java +++ b/src/test/java/org/hopper/edw/catalog/hopgui/preview/RecordDefinitionPreviewSupportTest.java @@ -19,6 +19,11 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.apache.hop.core.row.IValueMeta; +import org.apache.hop.core.variables.Variables; +import org.apache.hop.pipeline.transforms.csvinput.CsvInputField; +import org.apache.hop.pipeline.transforms.csvinput.CsvInputMeta; +import org.apache.hop.pipeline.transforms.fileinput.text.TextFileInputMeta; import org.hopper.edw.catalog.model.DvCsvFormatRecord; import org.hopper.edw.catalog.model.DvSourceRecord; import org.hopper.edw.catalog.model.PhysicalFileRef; @@ -26,16 +31,11 @@ import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.apache.hop.core.row.IValueMeta; -import org.apache.hop.core.variables.Variables; import org.hopper.edw.datavault.metadata.CsvFieldOptions; import org.hopper.edw.datavault.metadata.DvSourcePreviewInputSupport; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.SourceFieldInputOptions; import org.hopper.edw.datavault.metadata.file.DvCsvSource; -import org.apache.hop.pipeline.transforms.csvinput.CsvInputField; -import org.apache.hop.pipeline.transforms.csvinput.CsvInputMeta; -import org.apache.hop.pipeline.transforms.fileinput.text.TextFileInputMeta; import org.junit.jupiter.api.Test; class RecordDefinitionPreviewSupportTest { diff --git a/src/test/java/org/hopper/edw/catalog/impl/file/RecordDefinitionDocumentCsvOptionsTest.java b/src/test/java/org/hopper/edw/catalog/impl/file/RecordDefinitionDocumentCsvOptionsTest.java index e50e09cb..6d3f9309 100644 --- a/src/test/java/org/hopper/edw/catalog/impl/file/RecordDefinitionDocumentCsvOptionsTest.java +++ b/src/test/java/org/hopper/edw/catalog/impl/file/RecordDefinitionDocumentCsvOptionsTest.java @@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import java.util.List; +import org.apache.hop.core.variables.Variables; import org.hopper.edw.catalog.model.CatalogCsvFieldOptions; import org.hopper.edw.catalog.model.CatalogSourceField; import org.hopper.edw.catalog.model.CatalogSourceFieldInputOptions; @@ -28,7 +29,6 @@ import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.apache.hop.core.variables.Variables; import org.hopper.edw.datavault.catalog.DvSourceCatalogMapper; import org.hopper.edw.datavault.metadata.CsvFieldOptions; import org.hopper.edw.datavault.metadata.DataVaultSource; diff --git a/src/test/java/org/hopper/edw/catalog/impl/file/RecordDefinitionDocumentRowMetaTest.java b/src/test/java/org/hopper/edw/catalog/impl/file/RecordDefinitionDocumentRowMetaTest.java index f21d51e8..86904768 100644 --- a/src/test/java/org/hopper/edw/catalog/impl/file/RecordDefinitionDocumentRowMetaTest.java +++ b/src/test/java/org/hopper/edw/catalog/impl/file/RecordDefinitionDocumentRowMetaTest.java @@ -20,15 +20,15 @@ import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; -import org.hopper.edw.catalog.model.PhysicalTableRef; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.model.RecordDefinitionType; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.row.RowMeta; import org.apache.hop.core.row.value.ValueMetaInteger; +import org.hopper.edw.catalog.model.PhysicalTableRef; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/catalog/versioning/CatalogVersionGuiSupportTest.java b/src/test/java/org/hopper/edw/catalog/versioning/CatalogVersionGuiSupportTest.java index afb47683..ff32da21 100644 --- a/src/test/java/org/hopper/edw/catalog/versioning/CatalogVersionGuiSupportTest.java +++ b/src/test/java/org/hopper/edw/catalog/versioning/CatalogVersionGuiSupportTest.java @@ -19,9 +19,9 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.variables.Variables; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.junit.jupiter.api.Test; class CatalogVersionGuiSupportTest { diff --git a/src/test/java/org/hopper/edw/catalog/versioning/CatalogVersionServiceTest.java b/src/test/java/org/hopper/edw/catalog/versioning/CatalogVersionServiceTest.java index 4c995138..66126f20 100644 --- a/src/test/java/org/hopper/edw/catalog/versioning/CatalogVersionServiceTest.java +++ b/src/test/java/org/hopper/edw/catalog/versioning/CatalogVersionServiceTest.java @@ -23,6 +23,12 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.List; +import org.apache.hop.core.HopEnvironment; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.logging.LogChannel; +import org.apache.hop.core.plugins.PluginRegistry; +import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.catalog.impl.file.FileDataCatalog; import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; @@ -31,13 +37,7 @@ import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.hopper.edw.catalog.xp.RegisterResourceDefinitionGroupMetadataExtensionPoint; -import org.apache.hop.core.HopEnvironment; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.logging.LogChannel; -import org.apache.hop.core.plugins.PluginRegistry; -import org.apache.hop.core.variables.Variables; import org.hopper.edw.datavault.catalog.RetailExampleCatalogFixtures; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/catalog/versioning/CatalogVersionStoreTest.java b/src/test/java/org/hopper/edw/catalog/versioning/CatalogVersionStoreTest.java index c8bdf486..c1c537a0 100644 --- a/src/test/java/org/hopper/edw/catalog/versioning/CatalogVersionStoreTest.java +++ b/src/test/java/org/hopper/edw/catalog/versioning/CatalogVersionStoreTest.java @@ -24,6 +24,8 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.List; +import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.catalog.impl.file.FileDataCatalog; import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.catalog.model.CatalogSourceField; @@ -32,8 +34,6 @@ import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordDefinitionQuery; import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.apache.hop.core.variables.Variables; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; diff --git a/src/test/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalApplierTest.java b/src/test/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalApplierTest.java index 70ba3e70..17e376fe 100644 --- a/src/test/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalApplierTest.java +++ b/src/test/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalApplierTest.java @@ -21,9 +21,9 @@ import java.util.List; import java.util.Map; import org.apache.hop.core.HopEnvironment; -import org.hopper.edw.datavault.ai.HopAiProposal; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.datavault.ai.HopAiProposal; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalValidatorTest.java b/src/test/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalValidatorTest.java index 960d2098..60716e28 100644 --- a/src/test/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalValidatorTest.java +++ b/src/test/java/org/hopper/edw/datavault/ai/pipeline/PipelineAiProposalValidatorTest.java @@ -20,11 +20,11 @@ import java.util.List; import java.util.Map; import org.apache.hop.core.HopEnvironment; -import org.hopper.edw.datavault.ai.HopAiProposal; -import org.hopper.edw.datavault.ai.HopAiProposalValidation; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; +import org.hopper.edw.datavault.ai.HopAiProposal; +import org.hopper.edw.datavault.ai.HopAiProposalValidation; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/architecture/ArchitectureExportTest.java b/src/test/java/org/hopper/edw/datavault/architecture/ArchitectureExportTest.java index 4b17ac03..36e32ddf 100644 --- a/src/test/java/org/hopper/edw/datavault/architecture/ArchitectureExportTest.java +++ b/src/test/java/org/hopper/edw/datavault/architecture/ArchitectureExportTest.java @@ -22,12 +22,13 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.xp.RegisterResourceDefinitionGroupMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.xp.RegisterResourceDefinitionGroupMetadataExtensionPoint; import org.hopper.edw.datavault.lineage.LineageLayer; import org.hopper.edw.datavault.lineage.LineageSnapshot; import org.hopper.edw.datavault.lineage.TableLineage; @@ -42,7 +43,6 @@ import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.Test; class ArchitectureExportTest { @@ -372,7 +372,8 @@ void projectRelativePathsInDrawioExport() { link.setFromNodeId("model-bv"); link.setToNodeId("model-dv"); link.setEdgeType(ExecutionMapEdgeType.MODEL_LINK); - link.setLabel("/home/matt/git/ProjectDataHopper/hopper-edw/retail-example/models/retail-360.hdv"); + link.setLabel( + "/home/matt/git/ProjectDataHopper/hopper-edw/retail-example/models/retail-360.hdv"); map.getEdgesOrEmpty().add(link); ArchitectureGraph graph = ArchitectureGraphFromExecutionMap.build(map); diff --git a/src/test/java/org/hopper/edw/datavault/catalog/BvCatalogPublisherTest.java b/src/test/java/org/hopper/edw/datavault/catalog/BvCatalogPublisherTest.java index 8d47a9a1..45a62cfb 100644 --- a/src/test/java/org/hopper/edw/datavault/catalog/BvCatalogPublisherTest.java +++ b/src/test/java/org/hopper/edw/datavault/catalog/BvCatalogPublisherTest.java @@ -24,13 +24,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.model.RecordDefinitionValidationAcknowledgement; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; @@ -38,12 +31,19 @@ import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.model.RecordDefinitionValidationAcknowledgement; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.quality.model.RecordQualityRuleBinding; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; diff --git a/src/test/java/org/hopper/edw/datavault/catalog/CatalogDvSourceMapperIcebergTest.java b/src/test/java/org/hopper/edw/datavault/catalog/CatalogDvSourceMapperIcebergTest.java index 5c7db8e3..c519cbd9 100644 --- a/src/test/java/org/hopper/edw/datavault/catalog/CatalogDvSourceMapperIcebergTest.java +++ b/src/test/java/org/hopper/edw/datavault/catalog/CatalogDvSourceMapperIcebergTest.java @@ -19,13 +19,13 @@ import static org.junit.jupiter.api.Assertions.assertInstanceOf; import java.util.List; +import org.apache.hop.core.variables.Variables; import org.hopper.edw.catalog.model.CatalogSourceField; import org.hopper.edw.catalog.model.DvSourceRecord; import org.hopper.edw.catalog.model.PhysicalIcebergTableRef; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.apache.hop.core.variables.Variables; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.DvSourceDeliveryType; import org.hopper.edw.datavault.metadata.DvSourceType; diff --git a/src/test/java/org/hopper/edw/datavault/catalog/DmCatalogPublisherTest.java b/src/test/java/org/hopper/edw/datavault/catalog/DmCatalogPublisherTest.java index af7eb6ff..6c07eace 100644 --- a/src/test/java/org/hopper/edw/datavault/catalog/DmCatalogPublisherTest.java +++ b/src/test/java/org/hopper/edw/datavault/catalog/DmCatalogPublisherTest.java @@ -25,6 +25,15 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import org.apache.hop.core.HopEnvironment; +import org.apache.hop.core.database.DatabaseMeta; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.logging.LogChannel; +import org.apache.hop.core.plugins.PluginRegistry; +import org.apache.hop.core.variables.Variables; +import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.catalog.impl.file.FileDataCatalog; import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.catalog.model.RecordDefinition; @@ -33,20 +42,11 @@ import org.hopper.edw.catalog.model.RecordDefinitionValidationAcknowledgement; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; -import org.apache.hop.core.HopEnvironment; -import org.apache.hop.core.database.DatabaseMeta; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.logging.LogChannel; -import org.apache.hop.core.plugins.PluginRegistry; -import org.apache.hop.core.variables.Variables; -import org.apache.hop.core.xml.XmlHandler; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.DmDimension; import org.hopper.edw.datavault.metadata.dimensional.DmFact; import org.hopper.edw.datavault.metadata.dimensional.IDmTable; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.quality.model.RecordQualityRuleBinding; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; diff --git a/src/test/java/org/hopper/edw/datavault/catalog/DvCatalogPublisherTest.java b/src/test/java/org/hopper/edw/datavault/catalog/DvCatalogPublisherTest.java index 6db6c5c0..7b873ed2 100644 --- a/src/test/java/org/hopper/edw/datavault/catalog/DvCatalogPublisherTest.java +++ b/src/test/java/org/hopper/edw/datavault/catalog/DvCatalogPublisherTest.java @@ -24,6 +24,15 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import org.apache.hop.core.HopEnvironment; +import org.apache.hop.core.database.DatabaseMeta; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.logging.LogChannel; +import org.apache.hop.core.plugins.PluginRegistry; +import org.apache.hop.core.variables.Variables; +import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.catalog.impl.file.FileDataCatalog; import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.catalog.model.RecordDefinition; @@ -32,17 +41,8 @@ import org.hopper.edw.catalog.model.RecordDefinitionValidationAcknowledgement; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; -import org.apache.hop.core.HopEnvironment; -import org.apache.hop.core.database.DatabaseMeta; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.logging.LogChannel; -import org.apache.hop.core.plugins.PluginRegistry; -import org.apache.hop.core.variables.Variables; -import org.apache.hop.core.xml.XmlHandler; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.quality.model.RecordQualityRuleBinding; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; diff --git a/src/test/java/org/hopper/edw/datavault/catalog/DvSourceCatalogMapperOriginTest.java b/src/test/java/org/hopper/edw/datavault/catalog/DvSourceCatalogMapperOriginTest.java index 157a3ea9..77dff078 100644 --- a/src/test/java/org/hopper/edw/datavault/catalog/DvSourceCatalogMapperOriginTest.java +++ b/src/test/java/org/hopper/edw/datavault/catalog/DvSourceCatalogMapperOriginTest.java @@ -21,16 +21,16 @@ import java.util.Date; import java.util.List; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordOrigin; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordOrigin; import org.hopper.edw.datavault.metadata.DataVaultSource; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.pipeline.DvPipelineSource; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/catalog/DvSourceFieldSupportTest.java b/src/test/java/org/hopper/edw/datavault/catalog/DvSourceFieldSupportTest.java index 781abc4b..cab4651a 100644 --- a/src/test/java/org/hopper/edw/datavault/catalog/DvSourceFieldSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/catalog/DvSourceFieldSupportTest.java @@ -21,10 +21,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.List; -import org.hopper.edw.catalog.model.CatalogSourceField; -import org.hopper.edw.catalog.model.DvSourceRecord; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionType; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IValueMeta; @@ -32,6 +28,10 @@ import org.apache.hop.core.row.value.ValueMetaInteger; import org.apache.hop.core.row.value.ValueMetaString; import org.apache.hop.core.row.value.ValueMetaTimestamp; +import org.hopper.edw.catalog.model.CatalogSourceField; +import org.hopper.edw.catalog.model.DvSourceRecord; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.datavault.metadata.CsvFieldOptions; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.SourceFieldInputOptions; diff --git a/src/test/java/org/hopper/edw/datavault/catalog/RetailCatalogListSourcesTest.java b/src/test/java/org/hopper/edw/datavault/catalog/RetailCatalogListSourcesTest.java index f34e71ee..04d8c0f8 100644 --- a/src/test/java/org/hopper/edw/datavault/catalog/RetailCatalogListSourcesTest.java +++ b/src/test/java/org/hopper/edw/datavault/catalog/RetailCatalogListSourcesTest.java @@ -20,17 +20,17 @@ import java.nio.file.Path; import java.util.List; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.DataVaultSource; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; +import org.hopper.edw.datavault.metadata.DataVaultSource; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/command/svg/SvgExportServiceTest.java b/src/test/java/org/hopper/edw/datavault/command/svg/SvgExportServiceTest.java index 4a12835b..a58b8e49 100644 --- a/src/test/java/org/hopper/edw/datavault/command/svg/SvgExportServiceTest.java +++ b/src/test/java/org/hopper/edw/datavault/command/svg/SvgExportServiceTest.java @@ -24,9 +24,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.gui.Point; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/dbt/DbtImportServiceTest.java b/src/test/java/org/hopper/edw/datavault/dbt/DbtImportServiceTest.java index 96154b24..37b17999 100644 --- a/src/test/java/org/hopper/edw/datavault/dbt/DbtImportServiceTest.java +++ b/src/test/java/org/hopper/edw/datavault/dbt/DbtImportServiceTest.java @@ -23,11 +23,11 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BvBusinessTable; import org.hopper.edw.datavault.metadata.businessvault.BvSqlMaterialization; import org.hopper.edw.datavault.metadata.jinja.JinjaMacroLibraryMeta; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; diff --git a/src/test/java/org/hopper/edw/datavault/executionmap/ExecutionMapCrawlerTest.java b/src/test/java/org/hopper/edw/datavault/executionmap/ExecutionMapCrawlerTest.java index 89f6944c..7bf3cc3d 100644 --- a/src/test/java/org/hopper/edw/datavault/executionmap/ExecutionMapCrawlerTest.java +++ b/src/test/java/org/hopper/edw/datavault/executionmap/ExecutionMapCrawlerTest.java @@ -22,17 +22,17 @@ import java.nio.file.Path; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.xp.RegisterResourceDefinitionGroupMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.xp.RegisterResourceDefinitionGroupMetadataExtensionPoint; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapRootArtifactType; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/executionmap/ExecutionMapDatasetCatalogSupportTest.java b/src/test/java/org/hopper/edw/datavault/executionmap/ExecutionMapDatasetCatalogSupportTest.java index cb77a82a..343d125d 100644 --- a/src/test/java/org/hopper/edw/datavault/executionmap/ExecutionMapDatasetCatalogSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/executionmap/ExecutionMapDatasetCatalogSupportTest.java @@ -18,8 +18,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.variables.Variables; +import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; diff --git a/src/test/java/org/hopper/edw/datavault/executionmap/ExecutionMapSerializationTest.java b/src/test/java/org/hopper/edw/datavault/executionmap/ExecutionMapSerializationTest.java index 7bbea54b..1d795f19 100644 --- a/src/test/java/org/hopper/edw/datavault/executionmap/ExecutionMapSerializationTest.java +++ b/src/test/java/org/hopper/edw/datavault/executionmap/ExecutionMapSerializationTest.java @@ -28,10 +28,10 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.executionmap.HopExecutionMapFileType; import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; diff --git a/src/test/java/org/hopper/edw/datavault/executionmap/PipelineCrawlerTest.java b/src/test/java/org/hopper/edw/datavault/executionmap/PipelineCrawlerTest.java index c0613fa5..58cd81f5 100644 --- a/src/test/java/org/hopper/edw/datavault/executionmap/PipelineCrawlerTest.java +++ b/src/test/java/org/hopper/edw/datavault/executionmap/PipelineCrawlerTest.java @@ -21,14 +21,14 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; import org.apache.hop.pipeline.PipelineHopMeta; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.apache.hop.pipeline.transforms.tableoutput.TableOutputMeta; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/executionmap/PipelineDatasetCatalogResolverTest.java b/src/test/java/org/hopper/edw/datavault/executionmap/PipelineDatasetCatalogResolverTest.java index d637ff30..94683bd3 100644 --- a/src/test/java/org/hopper/edw/datavault/executionmap/PipelineDatasetCatalogResolverTest.java +++ b/src/test/java/org/hopper/edw/datavault/executionmap/PipelineDatasetCatalogResolverTest.java @@ -21,13 +21,13 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.apache.hop.pipeline.transforms.tableoutput.TableOutputMeta; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/executionmap/PipelineDatasetResolverTest.java b/src/test/java/org/hopper/edw/datavault/executionmap/PipelineDatasetResolverTest.java index cc4d4c2c..def72834 100644 --- a/src/test/java/org/hopper/edw/datavault/executionmap/PipelineDatasetResolverTest.java +++ b/src/test/java/org/hopper/edw/datavault/executionmap/PipelineDatasetResolverTest.java @@ -21,14 +21,14 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; -import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.apache.hop.pipeline.transforms.tableoutput.TableOutputMeta; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapEdgeType; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; +import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/ModelTableLayoutPreviewSupportTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/ModelTableLayoutPreviewSupportTest.java index 22a3e767..901d0ff0 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/ModelTableLayoutPreviewSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/ModelTableLayoutPreviewSupportTest.java @@ -26,6 +26,7 @@ import org.apache.hop.core.row.value.ValueMetaString; import org.apache.hop.core.row.value.ValueMetaTimestamp; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.DvHub; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; @@ -38,7 +39,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DmLayoutSupport; import org.hopper.edw.datavault.metadata.dimensional.DmNaturalKeyField; import org.hopper.edw.datavault.metadata.dimensional.DmScdUpdatePolicy; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/ModelUpdateWorkflowClipboardSupportTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/ModelUpdateWorkflowClipboardSupportTest.java index 6815ec4e..7dd3e8c4 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/ModelUpdateWorkflowClipboardSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/ModelUpdateWorkflowClipboardSupportTest.java @@ -20,9 +20,9 @@ import java.util.List; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.workflow.actions.dimensionalupdate.ActionDimensionalUpdate; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.pipeline.config.PipelineRunConfiguration; +import org.hopper.edw.datavault.workflow.actions.dimensionalupdate.ActionDimensionalUpdate; import org.junit.jupiter.api.Test; class ModelUpdateWorkflowClipboardSupportTest { diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/StandardProjectElementsOfferSupportTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/StandardProjectElementsOfferSupportTest.java index bf6cc0c1..18c29a4d 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/StandardProjectElementsOfferSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/StandardProjectElementsOfferSupportTest.java @@ -23,10 +23,10 @@ import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultConfiguration; import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.hopper.edw.datavault.metadata.xp.RegisterModelConfigurationMetadataExtensionPoint; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmDimensionAliasNavigationSupportTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmDimensionAliasNavigationSupportTest.java index b14b5616..dc8916b1 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmDimensionAliasNavigationSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/file/dimensional/DmDimensionAliasNavigationSupportTest.java @@ -25,12 +25,12 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.dimensional.DmDimensionAliasNavigationSupport.DimensionPipelineSource; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.DmDimension; import org.hopper.edw.datavault.metadata.dimensional.DmDimensionAlias; import org.hopper.edw.datavault.metadata.dimensional.DmModelLoadSupport; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapI18nTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapI18nTest.java index 26ed4c60..e288d4da 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapI18nTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapI18nTest.java @@ -20,8 +20,8 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; -import org.hopper.edw.datavault.hopgui.executionmap.ExecutionMapGuiPlugin; import org.apache.hop.i18n.BaseMessages; +import org.hopper.edw.datavault.hopgui.executionmap.ExecutionMapGuiPlugin; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapNavigationSupportTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapNavigationSupportTest.java index 5a8dead6..bf972289 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapNavigationSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/file/executionmap/ExecutionMapNavigationSupportTest.java @@ -21,16 +21,17 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.nio.file.Path; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.hopper.edw.datavault.catalog.RetailExampleCatalogFixtures; import org.hopper.edw.datavault.executionmap.ArtifactSnapshotSupport; import org.hopper.edw.datavault.executionmap.DatasetNodeSupport; @@ -40,7 +41,6 @@ import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNode; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapNodeType; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopLineageViewFileTypeTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopLineageViewFileTypeTest.java index f0edf936..7d2aed26 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopLineageViewFileTypeTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/file/lineageview/HopLineageViewFileTypeTest.java @@ -25,9 +25,9 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; +import org.apache.hop.ui.hopgui.file.IHopFileType; import org.hopper.edw.datavault.lineageview.HopLineageViewDocument; import org.hopper.edw.datavault.lineageview.LineageViewPersistence; -import org.apache.hop.ui.hopgui.file.IHopFileType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/file/lineageview/LineageViewI18nTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/file/lineageview/LineageViewI18nTest.java index 0819ce33..245e28ae 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/file/lineageview/LineageViewI18nTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/file/lineageview/LineageViewI18nTest.java @@ -20,8 +20,8 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; -import org.hopper.edw.datavault.hopgui.lineageview.LineageViewGuiPlugin; import org.apache.hop.i18n.BaseMessages; +import org.hopper.edw.datavault.hopgui.lineageview.LineageViewGuiPlugin; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/file/modelgraph/DmTableDisplaySupportTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/file/modelgraph/DmTableDisplaySupportTest.java index 2955a6d9..9b60c228 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/file/modelgraph/DmTableDisplaySupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/file/modelgraph/DmTableDisplaySupportTest.java @@ -21,6 +21,7 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.dimensional.DmDimension; import org.hopper.edw.datavault.metadata.dimensional.DmDimensionAlias; @@ -31,7 +32,6 @@ import org.hopper.edw.datavault.metadata.dimensional.DmRangeBand; import org.hopper.edw.datavault.metadata.dimensional.DmRangeDimension; import org.hopper.edw.datavault.metadata.dimensional.DmTableType; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelDialogValidationSupportTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelDialogValidationSupportTest.java index e6ed2eec..81279154 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelDialogValidationSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelDialogValidationSupportTest.java @@ -23,11 +23,11 @@ import org.apache.hop.core.ICheckResult; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvHub; import org.hopper.edw.datavault.metadata.DvModelCheckOptions; import org.hopper.edw.datavault.metadata.IDvTable; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelGraphConnectionGeometryTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelGraphConnectionGeometryTest.java index 6fedca6e..77df734d 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelGraphConnectionGeometryTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/file/modelgraph/ModelGraphConnectionGeometryTest.java @@ -19,9 +19,9 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import org.apache.hop.core.gui.Point; +import org.apache.hop.ui.core.PropsUi; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphConnectionGeometry.Bounds; import org.hopper.edw.datavault.hopgui.file.modelgraph.ModelGraphConnectionGeometry.ConnectionAnchors; -import org.apache.hop.ui.core.PropsUi; import org.junit.jupiter.api.Test; class ModelGraphConnectionGeometryTest { diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/file/vault/DvCustomPipelinesTabI18nTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/file/vault/DvCustomPipelinesTabI18nTest.java index 8627b64d..c4267ea6 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/file/vault/DvCustomPipelinesTabI18nTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/file/vault/DvCustomPipelinesTabI18nTest.java @@ -21,8 +21,8 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; -import org.hopper.edw.datavault.metadata.DvIntegrationMode; import org.apache.hop.i18n.BaseMessages; +import org.hopper.edw.datavault.metadata.DvIntegrationMode; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/file/vault/LoadFromSourceI18nTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/file/vault/LoadFromSourceI18nTest.java index 13133037..719345d5 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/file/vault/LoadFromSourceI18nTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/file/vault/LoadFromSourceI18nTest.java @@ -20,8 +20,8 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; -import org.hopper.edw.datavault.hopgui.file.dimensional.HopGuiDmTableDialog; import org.apache.hop.i18n.BaseMessages; +import org.hopper.edw.datavault.hopgui.file.dimensional.HopGuiDmTableDialog; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveWorkflowPaintSupportTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveWorkflowPaintSupportTest.java index eef85352..4d0ce7a3 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveWorkflowPaintSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/metrics/UpdateRunLiveWorkflowPaintSupportTest.java @@ -20,9 +20,9 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import org.apache.hop.core.gui.IGc.EImage; +import org.apache.hop.workflow.action.ActionMeta; import org.hopper.edw.datavault.metrics.live.UpdateRunLiveState; import org.hopper.edw.datavault.workflow.actions.datavaultupdate.ActionDataVaultUpdate; -import org.apache.hop.workflow.action.ActionMeta; import org.junit.jupiter.api.Test; class UpdateRunLiveWorkflowPaintSupportTest { diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyCreateSupportTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyCreateSupportTest.java index ea53495a..f62d619f 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyCreateSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyCreateSupportTest.java @@ -19,8 +19,8 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.variables.Variables; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.junit.jupiter.api.Test; class EdwJourneyCreateSupportTest { diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyNavigationSupportTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyNavigationSupportTest.java index cfa0f6da..c33be0fb 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyNavigationSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneyNavigationSupportTest.java @@ -19,9 +19,9 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.apache.hop.core.variables.Variables; import org.hopper.edw.catalog.hopgui.navigation.RecordOriginNavigationSupport; import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.apache.hop.core.variables.Variables; import org.hopper.edw.datavault.hopgui.perspective.journey.EdwJourneyTreeNode.Kind; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneySnapshotBuilderTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneySnapshotBuilderTest.java index 4282bb85..93b26307 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneySnapshotBuilderTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/perspective/journey/EdwJourneySnapshotBuilderTest.java @@ -19,8 +19,8 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.variables.Variables; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.junit.jupiter.api.Test; class EdwJourneySnapshotBuilderTest { diff --git a/src/test/java/org/hopper/edw/datavault/hopgui/tovault/SourceToVaultI18nTest.java b/src/test/java/org/hopper/edw/datavault/hopgui/tovault/SourceToVaultI18nTest.java index d803636a..63dff1db 100644 --- a/src/test/java/org/hopper/edw/datavault/hopgui/tovault/SourceToVaultI18nTest.java +++ b/src/test/java/org/hopper/edw/datavault/hopgui/tovault/SourceToVaultI18nTest.java @@ -20,9 +20,9 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; +import org.apache.hop.i18n.BaseMessages; import org.hopper.edw.datavault.hopgui.file.sourcemodel.HopGuiSourceModelGraph; import org.hopper.edw.datavault.hopgui.file.vault.HopGuiVaultGraph; -import org.apache.hop.i18n.BaseMessages; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/impact/ImpactGraphBuilderTest.java b/src/test/java/org/hopper/edw/datavault/impact/ImpactGraphBuilderTest.java index 4708873f..cd745cb3 100644 --- a/src/test/java/org/hopper/edw/datavault/impact/ImpactGraphBuilderTest.java +++ b/src/test/java/org/hopper/edw/datavault/impact/ImpactGraphBuilderTest.java @@ -20,6 +20,12 @@ import java.nio.file.Path; import java.util.List; +import org.apache.hop.core.HopEnvironment; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.logging.LogChannel; +import org.apache.hop.core.plugins.PluginRegistry; +import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.catalog.impl.file.FileDataCatalog; import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; @@ -27,15 +33,9 @@ import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.hopper.edw.catalog.xp.RegisterResourceDefinitionGroupMetadataExtensionPoint; -import org.apache.hop.core.HopEnvironment; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.logging.LogChannel; -import org.apache.hop.core.plugins.PluginRegistry; -import org.apache.hop.core.variables.Variables; import org.hopper.edw.datavault.catalog.RetailExampleCatalogFixtures; import org.hopper.edw.datavault.resourcedefinition.ResourceDefinitionGroupResolver; import org.hopper.edw.datavault.resourcedefinition.ValidationModels; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/lineage/BvModelLineageCollectorTest.java b/src/test/java/org/hopper/edw/datavault/lineage/BvModelLineageCollectorTest.java index 65945147..1b46a4a7 100644 --- a/src/test/java/org/hopper/edw/datavault/lineage/BvModelLineageCollectorTest.java +++ b/src/test/java/org/hopper/edw/datavault/lineage/BvModelLineageCollectorTest.java @@ -24,9 +24,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/lineage/DdlLineageExplainSupportTest.java b/src/test/java/org/hopper/edw/datavault/lineage/DdlLineageExplainSupportTest.java index 2bc3ad07..f40034a4 100644 --- a/src/test/java/org/hopper/edw/datavault/lineage/DdlLineageExplainSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/lineage/DdlLineageExplainSupportTest.java @@ -23,10 +23,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/lineage/DmModelLineageCollectorTest.java b/src/test/java/org/hopper/edw/datavault/lineage/DmModelLineageCollectorTest.java index c988a4dd..041c3cb5 100644 --- a/src/test/java/org/hopper/edw/datavault/lineage/DmModelLineageCollectorTest.java +++ b/src/test/java/org/hopper/edw/datavault/lineage/DmModelLineageCollectorTest.java @@ -24,9 +24,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/lineage/DvModelLineageCollectorTest.java b/src/test/java/org/hopper/edw/datavault/lineage/DvModelLineageCollectorTest.java index 3e7b3dc9..e0893699 100644 --- a/src/test/java/org/hopper/edw/datavault/lineage/DvModelLineageCollectorTest.java +++ b/src/test/java/org/hopper/edw/datavault/lineage/DvModelLineageCollectorTest.java @@ -24,10 +24,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/lineage/LineageCatalogBaselineLoaderTest.java b/src/test/java/org/hopper/edw/datavault/lineage/LineageCatalogBaselineLoaderTest.java index 7d142188..bdd1e28d 100644 --- a/src/test/java/org/hopper/edw/datavault/lineage/LineageCatalogBaselineLoaderTest.java +++ b/src/test/java/org/hopper/edw/datavault/lineage/LineageCatalogBaselineLoaderTest.java @@ -23,20 +23,20 @@ import java.nio.file.Files; import java.nio.file.Path; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; +import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; +import org.hopper.edw.datavault.metadata.DataVaultModel; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/lineage/LineageCatalogPublisherTest.java b/src/test/java/org/hopper/edw/datavault/lineage/LineageCatalogPublisherTest.java index 4068a040..a520dd63 100644 --- a/src/test/java/org/hopper/edw/datavault/lineage/LineageCatalogPublisherTest.java +++ b/src/test/java/org/hopper/edw/datavault/lineage/LineageCatalogPublisherTest.java @@ -21,6 +21,14 @@ import java.nio.file.Files; import java.nio.file.Path; +import org.apache.hop.core.HopEnvironment; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.logging.LogChannel; +import org.apache.hop.core.plugins.PluginRegistry; +import org.apache.hop.core.variables.Variables; +import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.catalog.impl.file.FileDataCatalog; import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.catalog.model.CatalogCustomProperty; @@ -29,16 +37,8 @@ import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; -import org.apache.hop.core.HopEnvironment; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.logging.LogChannel; -import org.apache.hop.core.plugins.PluginRegistry; -import org.apache.hop.core.variables.Variables; -import org.apache.hop.core.xml.XmlHandler; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/lineage/ReverseLineageIndexBuilderTest.java b/src/test/java/org/hopper/edw/datavault/lineage/ReverseLineageIndexBuilderTest.java index a3820ffb..cf9fc741 100644 --- a/src/test/java/org/hopper/edw/datavault/lineage/ReverseLineageIndexBuilderTest.java +++ b/src/test/java/org/hopper/edw/datavault/lineage/ReverseLineageIndexBuilderTest.java @@ -20,17 +20,17 @@ import java.nio.file.Path; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.resourcedefinition.ValidationModels; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/lineageview/LineageBackendSelectionSupportTest.java b/src/test/java/org/hopper/edw/datavault/lineageview/LineageBackendSelectionSupportTest.java index 3722e074..170d98c7 100644 --- a/src/test/java/org/hopper/edw/datavault/lineageview/LineageBackendSelectionSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/lineageview/LineageBackendSelectionSupportTest.java @@ -20,8 +20,8 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; -import org.hopper.edw.datavault.metadata.lineage.LineageBackendMeta; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.hopper.edw.datavault.metadata.lineage.LineageBackendMeta; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/lineageview/LineageViewNavigationSupportTest.java b/src/test/java/org/hopper/edw/datavault/lineageview/LineageViewNavigationSupportTest.java index e35d5d7a..856e3909 100644 --- a/src/test/java/org/hopper/edw/datavault/lineageview/LineageViewNavigationSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/lineageview/LineageViewNavigationSupportTest.java @@ -22,10 +22,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.nio.file.Path; +import org.apache.hop.core.variables.Variables; import org.hopper.edw.catalog.hopgui.navigation.RecordOriginNavigationSupport; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordOrigin; -import org.apache.hop.core.variables.Variables; import org.hopper.edw.datavault.lineageview.backend.HopExportFacet; import org.hopper.edw.datavault.lineageview.backend.HopLocationFacet; import org.hopper.edw.datavault.lineageview.backend.LineageNode; diff --git a/src/test/java/org/hopper/edw/datavault/lineageview/LineageViewPersistenceTest.java b/src/test/java/org/hopper/edw/datavault/lineageview/LineageViewPersistenceTest.java index 6ffa1071..7f04eefc 100644 --- a/src/test/java/org/hopper/edw/datavault/lineageview/LineageViewPersistenceTest.java +++ b/src/test/java/org/hopper/edw/datavault/lineageview/LineageViewPersistenceTest.java @@ -27,13 +27,13 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.lineageview.HopLineageViewFileType; import org.hopper.edw.datavault.lineage.LineageLayer; import org.hopper.edw.datavault.lineageview.backend.LineageDirection; import org.hopper.edw.datavault.lineageview.backend.LineageGraphLayer; import org.hopper.edw.datavault.lineageview.backend.LineageSeedKind; import org.hopper.edw.datavault.metadata.ModelXmlWriteSupport; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/lineageview/backend/LocalModelsLineageQueryServiceTest.java b/src/test/java/org/hopper/edw/datavault/lineageview/backend/LocalModelsLineageQueryServiceTest.java index 0e1b791c..9f000b62 100644 --- a/src/test/java/org/hopper/edw/datavault/lineageview/backend/LocalModelsLineageQueryServiceTest.java +++ b/src/test/java/org/hopper/edw/datavault/lineageview/backend/LocalModelsLineageQueryServiceTest.java @@ -29,12 +29,12 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.lineage.DvModelLineageCollector; import org.hopper.edw.datavault.lineage.LineageSnapshot; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.openlineage.OpenLineageSnapshotMapper; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/DataVaultConfigurationTest.java b/src/test/java/org/hopper/edw/datavault/metadata/DataVaultConfigurationTest.java index 338e5140..3e071990 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/DataVaultConfigurationTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/DataVaultConfigurationTest.java @@ -70,6 +70,12 @@ void newConfigurationDefaultsOrphanPolicyToPass() { assertEquals(false, configuration.isStoreInferredFlag()); } + @Test + void newConfigurationDefaultsReadOnlyExistingVaultToFalse() { + DataVaultConfiguration configuration = new DataVaultConfiguration(); + assertEquals(false, configuration.isReadOnlyExistingVault()); + } + @Test void newConfigurationDefaultsStoreLoadCycleIdToFalse() { DataVaultConfiguration configuration = new DataVaultConfiguration(); diff --git a/src/test/java/org/hopper/edw/datavault/metadata/DvCrossModelReferenceValidationTest.java b/src/test/java/org/hopper/edw/datavault/metadata/DvCrossModelReferenceValidationTest.java index 1bf24ed3..e42f66e1 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/DvCrossModelReferenceValidationTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/DvCrossModelReferenceValidationTest.java @@ -27,9 +27,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.vault.DvLinkedTableNavigationSupport; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/DvHubUpdatePipelineTest.java b/src/test/java/org/hopper/edw/datavault/metadata/DvHubUpdatePipelineTest.java index 1d3bbd44..3ab3e2be 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/DvHubUpdatePipelineTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/DvHubUpdatePipelineTest.java @@ -25,10 +25,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; @@ -37,10 +33,6 @@ import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.catalog.DvSourceCatalogService; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; -import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMeta; -import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transforms.concatfields.ConcatFieldsMeta; @@ -48,6 +40,14 @@ import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; import org.apache.hop.pipeline.transforms.sort.SortRowsMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; +import org.hopper.edw.datavault.catalog.DvSourceCatalogService; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; +import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMeta; +import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/DvIntegrationSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/DvIntegrationSupportTest.java index 0b5b47eb..a9ed5304 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/DvIntegrationSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/DvIntegrationSupportTest.java @@ -28,15 +28,15 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; -import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; -import org.hopper.edw.datavault.metadata.businessvault.BvScd2PipelineSupport; -import org.hopper.edw.datavault.metadata.businessvault.BvScd2Table; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; +import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; +import org.hopper.edw.datavault.metadata.businessvault.BvScd2PipelineSupport; +import org.hopper.edw.datavault.metadata.businessvault.BvScd2Table; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; @@ -71,6 +71,14 @@ void resolvesIntegrationModes() { hub.setIntegrationMode(DvIntegrationMode.CUSTOM_PIPELINES); assertTrue(DvIntegrationSupport.isCustomPipelines(hub)); assertEquals("custom", DvIntegrationSupport.integrationCanvasSuffix(hub)); + + DataVaultConfiguration configuration = new DataVaultConfiguration(); + configuration.setReadOnlyExistingVault(true); + DataVaultModel model = new DataVaultModel(); + model.setConfiguration(configuration); + DvHub managed = new DvHub("hub_party"); + assertEquals("doc", DvIntegrationSupport.integrationCanvasSuffix(managed, model)); + assertTrue(DvIntegrationSupport.relaxesSourceValidation(managed, model)); } @Test diff --git a/src/test/java/org/hopper/edw/datavault/metadata/DvLinkSatelliteDependentChildKeyPipelineTest.java b/src/test/java/org/hopper/edw/datavault/metadata/DvLinkSatelliteDependentChildKeyPipelineTest.java index 351c9fe2..11507793 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/DvLinkSatelliteDependentChildKeyPipelineTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/DvLinkSatelliteDependentChildKeyPipelineTest.java @@ -26,14 +26,14 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; -import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyField; -import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMeta; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; +import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyField; +import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMeta; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/DvLinkUpdatePipelineTest.java b/src/test/java/org/hopper/edw/datavault/metadata/DvLinkUpdatePipelineTest.java index 9cacbb2a..5218cae1 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/DvLinkUpdatePipelineTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/DvLinkUpdatePipelineTest.java @@ -27,13 +27,13 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; -import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyField; -import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMeta; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; +import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyField; +import org.hopper.edw.datavault.transform.dvhashkey.DvHashKeyMeta; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/DvOrphanHandlingSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/DvOrphanHandlingSupportTest.java index b6468bfd..dddd358a 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/DvOrphanHandlingSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/DvOrphanHandlingSupportTest.java @@ -29,12 +29,12 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.apache.hop.pipeline.PipelineMeta; +import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Node; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/DvReadOnlyExistingVaultSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/DvReadOnlyExistingVaultSupportTest.java new file mode 100644 index 00000000..3ca235c2 --- /dev/null +++ b/src/test/java/org/hopper/edw/datavault/metadata/DvReadOnlyExistingVaultSupportTest.java @@ -0,0 +1,201 @@ +/* + * Copyright 2026 i-Bridge bv + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hopper.edw.datavault.metadata; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.Date; +import java.util.List; +import org.apache.hop.core.HopEnvironment; +import org.apache.hop.core.ICheckResult; +import org.apache.hop.core.database.DatabaseMeta; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +class DvReadOnlyExistingVaultSupportTest { + + @BeforeAll + static void initHop() throws HopException { + HopEnvironment.init(); + } + + @Test + void refuseUpdateThrowsWhenConfigurationIsReadOnly() { + DataVaultModel model = documentationModel(); + HopException thrown = + assertThrows(HopException.class, () -> DvReadOnlyExistingVaultSupport.refuseUpdate(model)); + assertTrue(thrown.getMessage().contains("read-only existing vault")); + } + + @Test + void refuseUpdateDoesNothingWhenNotReadOnly() throws HopException { + DvReadOnlyExistingVaultSupport.refuseUpdate(new DataVaultModel()); + } + + @Test + void skipResourceGroupJobOnlyForDataVaultLayer() { + DataVaultModel model = documentationModel(); + assertTrue(DvReadOnlyExistingVaultSupport.skipDataVaultUpdateInResourceGroup(true, model)); + assertFalse(DvReadOnlyExistingVaultSupport.skipDataVaultUpdateInResourceGroup(false, model)); + assertFalse( + DvReadOnlyExistingVaultSupport.skipDataVaultUpdateInResourceGroup( + true, new DataVaultModel())); + } + + @Test + void relaxesSourceValidationWhenModelIsReadOnlyEvenIfTableIsHopManaged() { + DataVaultModel model = documentationModel(); + DvHub hub = new DvHub("hub_customer"); + assertTrue(DvIntegrationSupport.isHopManaged(hub)); + assertFalse(DvIntegrationSupport.relaxesSourceValidation(hub)); + assertTrue(DvIntegrationSupport.relaxesSourceValidation(hub, model)); + assertEquals("doc", DvIntegrationSupport.integrationCanvasSuffix(hub, model)); + } + + @Test + void checkAllowsDocumentationOnlyHubAndSatelliteWithoutRecordSources() throws Exception { + DataVaultModel model = documentationModelWithHubAndSatellite("hub_customer"); + List remarks = model.check(metadataWithVault(), new Variables()); + assertFalse( + hasError(remarks), () -> remarks.stream().map(ICheckResult::getText).toList().toString()); + assertTrue( + remarks.stream() + .anyMatch(r -> r.getText().contains("read-only existing vault configuration"))); + } + + @Test + void checkStillErrorsWhenSatelliteParentHubIsMissing() throws Exception { + DataVaultModel model = documentationModelWithHubAndSatellite("missing_hub"); + List remarks = model.check(metadataWithVault(), new Variables()); + assertTrue(hasError(remarks)); + assertTrue( + remarks.stream() + .anyMatch( + r -> + r.getType() == ICheckResult.TYPE_RESULT_ERROR + && r.getText().contains("missing_hub"))); + } + + @Test + void checkErrorsWhenReadOnlyHubIsMissingHashKeyFieldName() throws Exception { + DataVaultModel model = documentationModelWithHubAndSatellite("hub_customer"); + DvHub hub = (DvHub) model.findTable("hub_customer"); + hub.setHashKeyFieldName(null); + List remarks = model.check(metadataWithVault(), new Variables()); + assertTrue(hasError(remarks)); + assertTrue( + remarks.stream() + .anyMatch( + r -> + r.getType() == ICheckResult.TYPE_RESULT_ERROR + && r.getText().contains("hash key field name"))); + } + + @Test + void checkCommentsWhenHopManagedHubIsMissingHashKeyFieldName() { + DataVaultModel model = new DataVaultModel(); + DvHub hub = new DvHub("hub_customer"); + BusinessKey bk = new BusinessKey("customer_id"); + bk.setDataType("String"); + hub.setBusinessKeys(List.of(bk)); + model.getTables().add(hub); + + List remarks = new java.util.ArrayList<>(); + hub.check(remarks, null, new Variables(), DvModelCheckOptions.fastOnly(), model); + assertFalse( + remarks.stream() + .anyMatch( + r -> + r.getType() == ICheckResult.TYPE_RESULT_ERROR + && r.getText().contains("hash key field name"))); + assertTrue( + remarks.stream() + .anyMatch( + r -> + r.getType() == ICheckResult.TYPE_RESULT_COMMENT + && r.getText().contains("No hash key field name"))); + } + + @Test + void generateUpdateDdlAndPipelinesThrowWhenReadOnly() { + DataVaultModel model = documentationModelWithHubAndSatellite("hub_customer"); + DvHub hub = (DvHub) model.findTable("hub_customer"); + MemoryMetadataProvider provider = metadataWithVault(); + Variables variables = new Variables(); + + HopException ddl = + assertThrows(HopException.class, () -> hub.generateUpdateDdl(provider, variables, model)); + assertTrue(ddl.getMessage().contains("read-only existing vault")); + + HopException pipelines = + assertThrows( + HopException.class, + () -> hub.generateUpdatePipelines(provider, variables, model, new Date(), null)); + assertTrue(pipelines.getMessage().contains("read-only existing vault")); + } + + private static DataVaultModel documentationModel() { + DataVaultConfiguration configuration = new DataVaultConfiguration(); + configuration.setReadOnlyExistingVault(true); + configuration.setTargetDatabase("Vault"); + DataVaultModel model = new DataVaultModel(); + model.setConfiguration(configuration); + return model; + } + + private static DataVaultModel documentationModelWithHubAndSatellite(String satelliteHubName) { + DataVaultModel model = documentationModel(); + DvHub hub = new DvHub("hub_customer"); + hub.setTableName("hub_customer"); + hub.setHashKeyFieldName("customer_hk"); + BusinessKey bk = new BusinessKey("customer_id"); + bk.setDataType("String"); + hub.setBusinessKeys(List.of(bk)); + + DvSatellite satellite = new DvSatellite("sat_customer"); + satellite.setTableName("sat_customer"); + satellite.setHubName(satelliteHubName); + SatelliteAttribute attr = new SatelliteAttribute(); + attr.setName("full_name"); + attr.setDataType("String"); + satellite.setAttributes(List.of(attr)); + + model.setTables(List.of(hub, satellite)); + return model; + } + + private static MemoryMetadataProvider metadataWithVault() { + try { + MemoryMetadataProvider provider = new MemoryMetadataProvider(); + DatabaseMeta databaseMeta = new DatabaseMeta(); + databaseMeta.setName("Vault"); + provider.getSerializer(DatabaseMeta.class).save(databaseMeta); + return provider; + } catch (HopException e) { + throw new RuntimeException(e); + } + } + + private static boolean hasError(List remarks) { + return remarks.stream().anyMatch(r -> r.getType() == ICheckResult.TYPE_RESULT_ERROR); + } +} diff --git a/src/test/java/org/hopper/edw/datavault/metadata/DvRecordSourceValidationTest.java b/src/test/java/org/hopper/edw/datavault/metadata/DvRecordSourceValidationTest.java index 5cc28134..33e4088e 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/DvRecordSourceValidationTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/DvRecordSourceValidationTest.java @@ -28,13 +28,13 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transforms.selectvalues.SelectField; import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/DvReferenceDeleteInsertSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/DvReferenceDeleteInsertSupportTest.java index fd042564..132c68ed 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/DvReferenceDeleteInsertSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/DvReferenceDeleteInsertSupportTest.java @@ -25,7 +25,6 @@ import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.workflow.WorkflowMeta; @@ -33,6 +32,7 @@ import org.apache.hop.workflow.action.ActionMeta; import org.apache.hop.workflow.action.IAction; import org.apache.hop.workflow.actions.sql.ActionSql; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/DvReferenceTableTest.java b/src/test/java/org/hopper/edw/datavault/metadata/DvReferenceTableTest.java index 10a6b6b8..775d839c 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/DvReferenceTableTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/DvReferenceTableTest.java @@ -31,9 +31,9 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/DvReferenceUpdatePipelineTest.java b/src/test/java/org/hopper/edw/datavault/metadata/DvReferenceUpdatePipelineTest.java index ac846dfb..0a3e20c9 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/DvReferenceUpdatePipelineTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/DvReferenceUpdatePipelineTest.java @@ -26,10 +26,10 @@ import org.apache.hop.core.gui.Point; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.datavault.metadata.database.DvDatabaseSource; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/ModelConfigurationResolverTest.java b/src/test/java/org/hopper/edw/datavault/metadata/ModelConfigurationResolverTest.java index 77771245..a5a3b3a9 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/ModelConfigurationResolverTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/ModelConfigurationResolverTest.java @@ -28,10 +28,10 @@ import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; -import org.hopper.edw.datavault.metadata.xp.RegisterModelConfigurationMetadataExtensionPoint; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; +import org.hopper.edw.datavault.metadata.xp.RegisterModelConfigurationMetadataExtensionPoint; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/ModelConfigurationTestSupport.java b/src/test/java/org/hopper/edw/datavault/metadata/ModelConfigurationTestSupport.java index 27178fdd..5d8e65ed 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/ModelConfigurationTestSupport.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/ModelConfigurationTestSupport.java @@ -22,13 +22,13 @@ import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.api.IHopMetadata; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DimensionalConfiguration; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModelConfiguration; import org.hopper.edw.datavault.metadata.xp.RegisterModelConfigurationMetadataExtensionPoint; -import org.apache.hop.metadata.api.IHopMetadata; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; /** Test helper to register and load shared model-configuration metadata. */ public final class ModelConfigurationTestSupport { diff --git a/src/test/java/org/hopper/edw/datavault/metadata/ModelFilenameNotSerializedTest.java b/src/test/java/org/hopper/edw/datavault/metadata/ModelFilenameNotSerializedTest.java index d305e7d8..e9a5d86b 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/ModelFilenameNotSerializedTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/ModelFilenameNotSerializedTest.java @@ -22,13 +22,13 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; import org.hopper.edw.datavault.metadata.executionmap.ExecutionMapDocument; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/RetailDataVaultModelCheckTest.java b/src/test/java/org/hopper/edw/datavault/metadata/RetailDataVaultModelCheckTest.java index 9efa0bed..0bc71d39 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/RetailDataVaultModelCheckTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/RetailDataVaultModelCheckTest.java @@ -19,10 +19,6 @@ import java.nio.file.Path; import java.util.List; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.ICheckResult; import org.apache.hop.core.database.DatabaseMeta; @@ -30,10 +26,14 @@ import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.catalog.RetailExampleCatalogFixtures; -import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; +import org.hopper.edw.datavault.catalog.RetailExampleCatalogFixtures; +import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDvModelResolverTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDvModelResolverTest.java index ae2daea1..b922750f 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDvModelResolverTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultDvModelResolverTest.java @@ -28,15 +28,15 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvTableType; import org.hopper.edw.datavault.metadata.IDvTable; import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultModelTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultModelTest.java index 6d83d93f..339f8b27 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultModelTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BusinessVaultModelTest.java @@ -25,9 +25,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.metadata.DvTableType; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvBusinessTableTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvBusinessTableTest.java index 8c0aa542..6149a8f8 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvBusinessTableTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvBusinessTableTest.java @@ -26,8 +26,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.metadata.DataVaultModel; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.datavault.metadata.DataVaultModel; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitPipelineSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitPipelineSupportTest.java index 7029117b..5a67e00d 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitPipelineSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitPipelineSupportTest.java @@ -26,8 +26,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DvTableType; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; @@ -35,6 +33,8 @@ import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.apache.hop.pipeline.transforms.tableoutput.TableOutputMeta; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvTableType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitSnapshotSpineSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitSnapshotSpineSupportTest.java index 80b25240..bd69150b 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitSnapshotSpineSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitSnapshotSpineSupportTest.java @@ -28,11 +28,11 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.metadata.DataVaultConfiguration; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvHub; import org.hopper.edw.datavault.metadata.DvSatellite; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitTableTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitTableTest.java index 7a85dbcb..0347c38d 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitTableTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitTableTest.java @@ -28,9 +28,9 @@ import org.apache.hop.core.row.value.ValueMetaTimestamp; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvTableType; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitVault1FixtureTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitVault1FixtureTest.java index 6e9fe1b4..ba702972 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitVault1FixtureTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvPitVault1FixtureTest.java @@ -25,15 +25,15 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.apache.hop.pipeline.PipelineMeta; import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvTableType; import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; -import org.apache.hop.pipeline.PipelineMeta; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2FieldMappingDialogSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2FieldMappingDialogSupportTest.java index 862f4a98..bbec6fce 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2FieldMappingDialogSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2FieldMappingDialogSupportTest.java @@ -27,9 +27,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvTableType; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2FieldMappingValidationTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2FieldMappingValidationTest.java index f9cb3e40..0681c7ba 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2FieldMappingValidationTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2FieldMappingValidationTest.java @@ -28,11 +28,11 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvSatellite; import org.hopper.edw.datavault.metadata.DvTableType; import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2MultiSatelliteFixtureTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2MultiSatelliteFixtureTest.java index 595f5af2..6eb6939d 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2MultiSatelliteFixtureTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2MultiSatelliteFixtureTest.java @@ -27,14 +27,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; -import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; -import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; -import org.hopper.edw.datavault.metadata.businessvault.BvScd2PipelineSupport.Scd2BuildContext; -import org.hopper.edw.datavault.transform.sortedschemamerge.SortedSchemaMergeMeta; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; @@ -45,6 +37,14 @@ import org.apache.hop.pipeline.transforms.rowgenerator.RowGeneratorMeta; import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.datavault.hopgui.file.businessvault.HopBusinessVaultFileType; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; +import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; +import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; +import org.hopper.edw.datavault.metadata.businessvault.BvScd2PipelineSupport.Scd2BuildContext; +import org.hopper.edw.datavault.transform.sortedschemamerge.SortedSchemaMergeMeta; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2PipelineSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2PipelineSupportTest.java index 090cd690..6263458c 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2PipelineSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2PipelineSupportTest.java @@ -27,16 +27,6 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.metadata.DataVaultConfiguration; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DvSatellite; -import org.hopper.edw.datavault.metadata.DvTableType; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; -import org.hopper.edw.datavault.metadata.SatelliteAttribute; -import org.hopper.edw.datavault.metadata.businessvault.BvScd2PipelineSupport.SatelliteLeg; -import org.hopper.edw.datavault.metadata.businessvault.BvScd2PipelineSupport.Scd2BuildContext; -import org.hopper.edw.datavault.transform.sortedschemamerge.SortedSchemaMergeMeta; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; @@ -56,6 +46,16 @@ import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.apache.hop.pipeline.transforms.tableoutput.TableOutputMeta; import org.apache.hop.pipeline.transforms.update.UpdateMeta; +import org.hopper.edw.datavault.metadata.DataVaultConfiguration; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvSatellite; +import org.hopper.edw.datavault.metadata.DvTableType; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataSupport; +import org.hopper.edw.datavault.metadata.SatelliteAttribute; +import org.hopper.edw.datavault.metadata.businessvault.BvScd2PipelineSupport.SatelliteLeg; +import org.hopper.edw.datavault.metadata.businessvault.BvScd2PipelineSupport.Scd2BuildContext; +import org.hopper.edw.datavault.transform.sortedschemamerge.SortedSchemaMergeMeta; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2TableTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2TableTest.java index 682a4201..61ceed71 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2TableTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvScd2TableTest.java @@ -26,10 +26,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.metadata.DataVaultConfiguration; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvTableType; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlViewPipelineSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlViewPipelineSupportTest.java index d5e8404e..573c915f 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlViewPipelineSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/businessvault/BvSqlViewPipelineSupportTest.java @@ -25,13 +25,13 @@ import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.hopper.edw.datavault.metadata.DvSatellite; -import org.hopper.edw.datavault.metadata.DvTableType; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transforms.sql.ExecSqlMeta; +import org.hopper.edw.datavault.metadata.DataVaultModel; +import org.hopper.edw.datavault.metadata.DvSatellite; +import org.hopper.edw.datavault.metadata.DvTableType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/coaching/ModelCoachingConfigurationTest.java b/src/test/java/org/hopper/edw/datavault/metadata/coaching/ModelCoachingConfigurationTest.java index 8c83488c..40043bd0 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/coaching/ModelCoachingConfigurationTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/coaching/ModelCoachingConfigurationTest.java @@ -22,11 +22,11 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.ModelCoachPanelAuditSupport; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/datatypemapping/DataTypeMappingCatalogPipelineTest.java b/src/test/java/org/hopper/edw/datavault/metadata/datatypemapping/DataTypeMappingCatalogPipelineTest.java index 13e46fa8..0c0c11f7 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/datatypemapping/DataTypeMappingCatalogPipelineTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/datatypemapping/DataTypeMappingCatalogPipelineTest.java @@ -20,15 +20,15 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.List; +import org.apache.hop.core.row.IValueMeta; +import org.apache.hop.pipeline.transforms.selectvalues.SelectMetadataChange; +import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; import org.hopper.edw.catalog.model.CatalogFieldConversionOptions; import org.hopper.edw.catalog.model.CatalogSourceField; import org.hopper.edw.catalog.model.CatalogSourceFieldInputOptions; -import org.apache.hop.core.row.IValueMeta; import org.hopper.edw.datavault.catalog.DvSourceFieldSupport; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.SourceFieldInputOptions; -import org.apache.hop.pipeline.transforms.selectvalues.SelectMetadataChange; -import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; import org.junit.jupiter.api.Test; class DataTypeMappingCatalogPipelineTest { diff --git a/src/test/java/org/hopper/edw/datavault/metadata/datatypemapping/DvCatalogMappingStreamFieldsSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/datatypemapping/DvCatalogMappingStreamFieldsSupportTest.java index 47c46bf1..c4c6c563 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/datatypemapping/DvCatalogMappingStreamFieldsSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/datatypemapping/DvCatalogMappingStreamFieldsSupportTest.java @@ -21,6 +21,8 @@ import java.util.List; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; +import org.apache.hop.pipeline.transforms.selectvalues.SelectMetadataChange; +import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.BusinessKeySource; import org.hopper.edw.datavault.metadata.DataVaultModel; @@ -30,8 +32,6 @@ import org.hopper.edw.datavault.metadata.DvSatellite; import org.hopper.edw.datavault.metadata.SatelliteAttribute; import org.hopper.edw.datavault.metadata.SourceField; -import org.apache.hop.pipeline.transforms.selectvalues.SelectMetadataChange; -import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; import org.junit.jupiter.api.Test; class DvCatalogMappingStreamFieldsSupportTest { diff --git a/src/test/java/org/hopper/edw/datavault/metadata/datatypemapping/SourceDataTypeMappingPublishSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/datatypemapping/SourceDataTypeMappingPublishSupportTest.java index aa048a6c..49170778 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/datatypemapping/SourceDataTypeMappingPublishSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/datatypemapping/SourceDataTypeMappingPublishSupportTest.java @@ -21,11 +21,11 @@ import java.util.List; import org.apache.hop.core.row.IValueMeta; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.sourcemodel.SourceColumn; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceTableCatalogPublisher; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.Test; class SourceDataTypeMappingPublishSupportTest { diff --git a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DimensionalModelTest.java b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DimensionalModelTest.java index d7520268..f21c4fb5 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DimensionalModelTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DimensionalModelTest.java @@ -25,9 +25,9 @@ import org.apache.hop.core.ICheckResult; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmBasicStarPipelineTest.java b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmBasicStarPipelineTest.java index 81a01920..faadd406 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmBasicStarPipelineTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmBasicStarPipelineTest.java @@ -28,10 +28,6 @@ import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; -import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; -import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; -import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmUpdateExecutionSupport; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; @@ -42,6 +38,10 @@ import org.apache.hop.pipeline.transforms.insertupdate.InsertUpdateValue; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.apache.hop.pipeline.transforms.tableoutput.TableOutputMeta; +import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; +import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; +import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; +import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmUpdateExecutionSupport; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmCatalogPipelineTest.java b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmCatalogPipelineTest.java index 7191ab81..be280556 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmCatalogPipelineTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmCatalogPipelineTest.java @@ -28,10 +28,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; -import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; -import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmUpdateExecutionSupport; -import org.hopper.edw.datavault.transform.junkdimension.JunkDimensionMeta; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; @@ -41,6 +37,10 @@ import org.apache.hop.pipeline.transforms.insertupdate.InsertUpdateMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.apache.hop.pipeline.transforms.tableoutput.TableOutputMeta; +import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; +import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; +import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmUpdateExecutionSupport; +import org.hopper.edw.datavault.transform.junkdimension.JunkDimensionMeta; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmCrossModelAliasPipelineTest.java b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmCrossModelAliasPipelineTest.java index 9638827b..2e5baf04 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmCrossModelAliasPipelineTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmCrossModelAliasPipelineTest.java @@ -26,7 +26,6 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; @@ -34,6 +33,7 @@ import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.dimensionlookup.DimensionLookupMeta; import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; +import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmCrossModelAliasValidationTest.java b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmCrossModelAliasValidationTest.java index 5de2e2a0..1099c048 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmCrossModelAliasValidationTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmCrossModelAliasValidationTest.java @@ -27,8 +27,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmDateGeneratorSourceTest.java b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmDateGeneratorSourceTest.java index 96620eca..c7530e23 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmDateGeneratorSourceTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmDateGeneratorSourceTest.java @@ -28,13 +28,13 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transform.TransformMeta; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorField; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorMeta; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorMetaFactory; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transform.TransformMeta; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmDateRolePlayingPipelineTest.java b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmDateRolePlayingPipelineTest.java index b87060ac..21bf3672 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmDateRolePlayingPipelineTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmDateRolePlayingPipelineTest.java @@ -29,10 +29,6 @@ import org.apache.hop.core.row.value.ValueMetaFactory; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; -import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmFactDimensionJoinBuilder; -import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmUpdateExecutionSupport; -import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; @@ -41,6 +37,10 @@ import org.apache.hop.pipeline.transforms.dimensionlookup.DimensionLookupMeta; import org.apache.hop.pipeline.transforms.selectvalues.SelectMetadataChange; import org.apache.hop.pipeline.transforms.selectvalues.SelectValuesMeta; +import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; +import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmFactDimensionJoinBuilder; +import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmUpdateExecutionSupport; +import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmDimensionResolutionSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmDimensionResolutionSupportTest.java index 4303f6c7..054678c2 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmDimensionResolutionSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmDimensionResolutionSupportTest.java @@ -25,8 +25,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmGoldenFixtureTest.java b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmGoldenFixtureTest.java index 4d4ff554..5e10dbda 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmGoldenFixtureTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmGoldenFixtureTest.java @@ -26,15 +26,15 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; import org.hopper.edw.datavault.metadata.dimensional.publish.DvPublishModelSupport; import org.hopper.edw.datavault.metadata.dimensional.publish.DvToDimensionalPublish; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.w3c.dom.Document; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmJunkDimensionPipelineTest.java b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmJunkDimensionPipelineTest.java index e34e9d56..790af7a7 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmJunkDimensionPipelineTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmJunkDimensionPipelineTest.java @@ -24,13 +24,13 @@ import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.transform.junkdimension.JunkDimensionMeta; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.dimensionlookup.DimensionLookupMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.datavault.transform.junkdimension.JunkDimensionMeta; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmScd2DimensionPipelineTest.java b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmScd2DimensionPipelineTest.java index bebec6b3..c5ec23cb 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmScd2DimensionPipelineTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmScd2DimensionPipelineTest.java @@ -25,10 +25,6 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; @@ -36,9 +32,6 @@ import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.util.Utils; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.catalog.RetailExampleCatalogFixtures; -import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmPipelineBuilderSupport; -import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; import org.apache.hop.metadata.api.IHopMetadataProvider; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; @@ -51,6 +44,13 @@ import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.apache.hop.pipeline.transforms.tableoutput.TableOutputMeta; import org.apache.hop.pipeline.transforms.update.UpdateMeta; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; +import org.hopper.edw.datavault.catalog.RetailExampleCatalogFixtures; +import org.hopper.edw.datavault.metadata.dimensional.pipeline.DmPipelineBuilderSupport; +import org.hopper.edw.datavault.transform.mergerowsplus.MergeRowsPlusMeta; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmSourceRecordDefinitionSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmSourceRecordDefinitionSupportTest.java index c0e4909b..7cdb9a39 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmSourceRecordDefinitionSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/dimensional/DmSourceRecordDefinitionSupportTest.java @@ -21,10 +21,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.nio.file.Path; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; @@ -32,11 +28,15 @@ import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.catalog.RetailExampleCatalogFixtures; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; +import org.hopper.edw.datavault.catalog.RetailExampleCatalogFixtures; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/file/DvTextFileInputFieldSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/file/DvTextFileInputFieldSupportTest.java index 954d6b98..20e7d23a 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/file/DvTextFileInputFieldSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/file/DvTextFileInputFieldSupportTest.java @@ -19,10 +19,10 @@ import org.apache.hop.core.file.TextFileInputField; import org.apache.hop.core.row.IValueMeta; +import org.apache.hop.pipeline.transforms.csvinput.CsvInputField; import org.hopper.edw.datavault.metadata.CsvFieldOptions; import org.hopper.edw.datavault.metadata.SourceField; import org.hopper.edw.datavault.metadata.SourceFieldInputOptions; -import org.apache.hop.pipeline.transforms.csvinput.CsvInputField; import org.junit.jupiter.api.Test; class DvTextFileInputFieldSupportTest { diff --git a/src/test/java/org/hopper/edw/datavault/metadata/iceberg/IcebergTableMetadataDiscoveryTest.java b/src/test/java/org/hopper/edw/datavault/metadata/iceberg/IcebergTableMetadataDiscoveryTest.java index a3b0b5b0..fd350874 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/iceberg/IcebergTableMetadataDiscoveryTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/iceberg/IcebergTableMetadataDiscoveryTest.java @@ -18,13 +18,13 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; -import org.hopper.edw.catalog.discovery.PhysicalSourceRef; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.iceberg.Schema; import org.apache.iceberg.types.Types; +import org.hopper.edw.catalog.discovery.PhysicalSourceRef; +import org.hopper.edw.datavault.metadata.SourceField; import org.junit.jupiter.api.Test; class IcebergTableMetadataDiscoveryTest { diff --git a/src/test/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSourceSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSourceSupportTest.java index c7a99b0a..05145da1 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSourceSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/pipeline/DvPipelineSourceSupportTest.java @@ -22,10 +22,10 @@ import java.util.List; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.SourceField; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transforms.metainject.MetaInjectMeta; import org.apache.hop.pipeline.transforms.metainject.MetaInjectOutputField; +import org.hopper.edw.datavault.metadata.SourceField; import org.junit.jupiter.api.Test; class DvPipelineSourceSupportTest { diff --git a/src/test/java/org/hopper/edw/datavault/metadata/pipeline/HeadlessPipelineFieldSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/pipeline/HeadlessPipelineFieldSupportTest.java index b760807b..057d1eb2 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/pipeline/HeadlessPipelineFieldSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/pipeline/HeadlessPipelineFieldSupportTest.java @@ -23,10 +23,10 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.metadata.dimensional.DmSourceConfiguration; import org.hopper.edw.datavault.metadata.dimensional.DmSourcePipelineSupport; import org.hopper.edw.datavault.metadata.dimensional.DmSourceType; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/RetailSourceModelFixtureTest.java b/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/RetailSourceModelFixtureTest.java index 976fdbfb..5de4a2bd 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/RetailSourceModelFixtureTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/RetailSourceModelFixtureTest.java @@ -28,14 +28,14 @@ import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.metadata.ModelConfigurationResolver; import org.hopper.edw.datavault.metadata.ModelConfigurationTestSupport; import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQueryGenerationSupport; import org.hopper.edw.datavault.metadata.sourcemodel.generate.SourceQuerySqlGenerator; import org.hopper.edw.datavault.metadata.sourcemodel.publish.SourceQueryCatalogPublisher; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIf; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonPipelineGeneratorTest.java b/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonPipelineGeneratorTest.java index 6a83df9c..22845f1d 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonPipelineGeneratorTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourceJsonPipelineGeneratorTest.java @@ -23,6 +23,11 @@ import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.pipeline.PipelineMeta; +import org.apache.hop.pipeline.transforms.jsoninput.JsonInputMeta; +import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.hopper.edw.datavault.metadata.DvSourceType; import org.hopper.edw.datavault.metadata.sourcemodel.SourceColumn; import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; @@ -30,11 +35,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.SourceJsonParentKind; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; -import org.apache.hop.pipeline.PipelineMeta; -import org.apache.hop.pipeline.transforms.jsoninput.JsonInputMeta; -import org.apache.hop.pipeline.transforms.tableinput.TableInputMeta; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourcePipelineCatalogImportSupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourcePipelineCatalogImportSupportTest.java index 31d75bf6..5abb7cc8 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourcePipelineCatalogImportSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/generate/SourcePipelineCatalogImportSupportTest.java @@ -20,11 +20,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.List; -import org.hopper.edw.catalog.transform.recorddatainput.RecordDefinitionDataInputMeta; -import org.hopper.edw.datavault.metadata.sourcemodel.SourcePipelineCatalogSource; import org.apache.hop.pipeline.PipelineMeta; import org.apache.hop.pipeline.transform.TransformMeta; import org.apache.hop.pipeline.transforms.dummy.DummyMeta; +import org.hopper.edw.catalog.transform.recorddatainput.RecordDefinitionDataInputMeta; +import org.hopper.edw.datavault.metadata.sourcemodel.SourcePipelineCatalogSource; import org.junit.jupiter.api.Test; class SourcePipelineCatalogImportSupportTest { diff --git a/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultApplySupportTest.java b/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultApplySupportTest.java index e11ce828..9ca50e97 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultApplySupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultApplySupportTest.java @@ -24,6 +24,7 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvHub; @@ -34,7 +35,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultFeedAndHeuristicTest.java b/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultFeedAndHeuristicTest.java index 8ffc94d4..e526abc1 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultFeedAndHeuristicTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultFeedAndHeuristicTest.java @@ -20,6 +20,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvLinkedTable; import org.hopper.edw.datavault.metadata.DvReferenceTable; @@ -34,7 +35,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.SourceQueryColumn; import org.hopper.edw.datavault.metadata.sourcemodel.SourceRelationship; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.Test; class SourceToVaultFeedAndHeuristicTest { diff --git a/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultRetailClassificationTest.java b/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultRetailClassificationTest.java index 3e00ac8b..b9123952 100644 --- a/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultRetailClassificationTest.java +++ b/src/test/java/org/hopper/edw/datavault/metadata/sourcemodel/tovault/SourceToVaultRetailClassificationTest.java @@ -26,9 +26,9 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.xml.XmlHandler; -import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; +import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIf; diff --git a/src/test/java/org/hopper/edw/datavault/metrics/ExecutionMetricsProfileResolverTest.java b/src/test/java/org/hopper/edw/datavault/metrics/ExecutionMetricsProfileResolverTest.java index 6d1a683f..adebafb1 100644 --- a/src/test/java/org/hopper/edw/datavault/metrics/ExecutionMetricsProfileResolverTest.java +++ b/src/test/java/org/hopper/edw/datavault/metrics/ExecutionMetricsProfileResolverTest.java @@ -26,9 +26,9 @@ import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; import org.hopper.edw.datavault.metrics.xp.RegisterExecutionMetricsProfileMetadataExtensionPoint; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metrics/LoadRunMetricsCatalogPublisherTest.java b/src/test/java/org/hopper/edw/datavault/metrics/LoadRunMetricsCatalogPublisherTest.java index f137d868..cb8a4d5b 100644 --- a/src/test/java/org/hopper/edw/datavault/metrics/LoadRunMetricsCatalogPublisherTest.java +++ b/src/test/java/org/hopper/edw/datavault/metrics/LoadRunMetricsCatalogPublisherTest.java @@ -24,6 +24,13 @@ import java.nio.file.Path; import java.util.Date; import java.util.List; +import org.apache.hop.core.HopEnvironment; +import org.apache.hop.core.database.DatabaseMeta; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.logging.LogChannel; +import org.apache.hop.core.plugins.PluginRegistry; +import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.catalog.impl.file.FileDataCatalog; import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.catalog.model.RecordDefinition; @@ -31,14 +38,7 @@ import org.hopper.edw.catalog.model.RecordDefinitionType; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; -import org.apache.hop.core.HopEnvironment; -import org.apache.hop.core.database.DatabaseMeta; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.logging.LogChannel; -import org.apache.hop.core.plugins.PluginRegistry; -import org.apache.hop.core.variables.Variables; import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metrics/LoadRunMetricsDatabasePublishTest.java b/src/test/java/org/hopper/edw/datavault/metrics/LoadRunMetricsDatabasePublishTest.java index 9810ad74..dd2923a3 100644 --- a/src/test/java/org/hopper/edw/datavault/metrics/LoadRunMetricsDatabasePublishTest.java +++ b/src/test/java/org/hopper/edw/datavault/metrics/LoadRunMetricsDatabasePublishTest.java @@ -26,8 +26,8 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.hopper.edw.datavault.metadata.GeneratedPipelineMetadataConstants; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metrics/MetricsAiContextBuilderTest.java b/src/test/java/org/hopper/edw/datavault/metrics/MetricsAiContextBuilderTest.java index 8cb50890..ed901e91 100644 --- a/src/test/java/org/hopper/edw/datavault/metrics/MetricsAiContextBuilderTest.java +++ b/src/test/java/org/hopper/edw/datavault/metrics/MetricsAiContextBuilderTest.java @@ -19,8 +19,8 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; -import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.hopper.edw.datavault.metrics.metadata.ExecutionMetricsProfileMeta; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/metrics/WorkflowLoadOverviewPublisherTest.java b/src/test/java/org/hopper/edw/datavault/metrics/WorkflowLoadOverviewPublisherTest.java index aa862050..e93caffb 100644 --- a/src/test/java/org/hopper/edw/datavault/metrics/WorkflowLoadOverviewPublisherTest.java +++ b/src/test/java/org/hopper/edw/datavault/metrics/WorkflowLoadOverviewPublisherTest.java @@ -18,11 +18,11 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionType; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/openlineage/OpenLineageDmExportProbeTest.java b/src/test/java/org/hopper/edw/datavault/openlineage/OpenLineageDmExportProbeTest.java index 0d32ced9..00219206 100644 --- a/src/test/java/org/hopper/edw/datavault/openlineage/OpenLineageDmExportProbeTest.java +++ b/src/test/java/org/hopper/edw/datavault/openlineage/OpenLineageDmExportProbeTest.java @@ -29,11 +29,11 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.dimensional.HopDimensionalFileType; import org.hopper.edw.datavault.lineage.DmModelLineageCollector; import org.hopper.edw.datavault.lineage.LineageSnapshot; import org.hopper.edw.datavault.metadata.dimensional.DimensionalModel; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/openlineage/OpenLineageSnapshotMapperTest.java b/src/test/java/org/hopper/edw/datavault/openlineage/OpenLineageSnapshotMapperTest.java index 31e2bb68..4687e638 100644 --- a/src/test/java/org/hopper/edw/datavault/openlineage/OpenLineageSnapshotMapperTest.java +++ b/src/test/java/org/hopper/edw/datavault/openlineage/OpenLineageSnapshotMapperTest.java @@ -30,11 +30,11 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.hopgui.file.vault.HopVaultFileType; import org.hopper.edw.datavault.lineage.DvModelLineageCollector; import org.hopper.edw.datavault.lineage.LineageSnapshot; import org.hopper.edw.datavault.metadata.DataVaultModel; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/resourcedefinition/HarvestBackedValidationSupportTest.java b/src/test/java/org/hopper/edw/datavault/resourcedefinition/HarvestBackedValidationSupportTest.java index 088e9d92..64ce0237 100644 --- a/src/test/java/org/hopper/edw/datavault/resourcedefinition/HarvestBackedValidationSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/resourcedefinition/HarvestBackedValidationSupportTest.java @@ -20,6 +20,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.List; +import org.apache.hop.core.variables.Variables; import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport.ChangeKind; import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport.SchemaDiff; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.DiscoveryStatus; @@ -27,7 +28,6 @@ import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestResult; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestStatus; import org.hopper.edw.catalog.harvest.SchemaHarvestModels.HarvestSubjectResult; -import org.apache.hop.core.variables.Variables; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueKind; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueSeverity; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.RecordDefinitionValidation; diff --git a/src/test/java/org/hopper/edw/datavault/resourcedefinition/RemediationTargetResolutionSupportTest.java b/src/test/java/org/hopper/edw/datavault/resourcedefinition/RemediationTargetResolutionSupportTest.java index 86d3d743..593b0e57 100644 --- a/src/test/java/org/hopper/edw/datavault/resourcedefinition/RemediationTargetResolutionSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/resourcedefinition/RemediationTargetResolutionSupportTest.java @@ -20,8 +20,8 @@ import java.util.List; import java.util.Set; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.variables.Variables; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvSatellite; import org.hopper.edw.datavault.metadata.SatelliteAttribute; diff --git a/src/test/java/org/hopper/edw/datavault/resourcedefinition/SchemaImpactSimulationServiceTest.java b/src/test/java/org/hopper/edw/datavault/resourcedefinition/SchemaImpactSimulationServiceTest.java index 97f8c491..80f4fe02 100644 --- a/src/test/java/org/hopper/edw/datavault/resourcedefinition/SchemaImpactSimulationServiceTest.java +++ b/src/test/java/org/hopper/edw/datavault/resourcedefinition/SchemaImpactSimulationServiceTest.java @@ -22,6 +22,12 @@ import java.nio.file.Path; import java.util.List; +import org.apache.hop.core.HopEnvironment; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.logging.LogChannel; +import org.apache.hop.core.plugins.PluginRegistry; +import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.catalog.impl.file.FileDataCatalog; import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; @@ -32,13 +38,7 @@ import org.hopper.edw.catalog.versioning.CatalogVersionService; import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.hopper.edw.catalog.xp.RegisterResourceDefinitionGroupMetadataExtensionPoint; -import org.apache.hop.core.HopEnvironment; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.logging.LogChannel; -import org.apache.hop.core.plugins.PluginRegistry; -import org.apache.hop.core.variables.Variables; import org.hopper.edw.datavault.catalog.RetailExampleCatalogFixtures; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/resourcedefinition/SchemaValidationReportFormatterTest.java b/src/test/java/org/hopper/edw/datavault/resourcedefinition/SchemaValidationReportFormatterTest.java index 20652725..c09807ee 100644 --- a/src/test/java/org/hopper/edw/datavault/resourcedefinition/SchemaValidationReportFormatterTest.java +++ b/src/test/java/org/hopper/edw/datavault/resourcedefinition/SchemaValidationReportFormatterTest.java @@ -20,10 +20,10 @@ import java.time.Instant; import java.util.List; -import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; -import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; +import org.hopper.edw.catalog.discovery.RecordDefinitionSchemaDiffSupport; +import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.datavault.impact.ImpactGraph; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueKind; import org.hopper.edw.datavault.resourcedefinition.ValidationReport.IssueSeverity; diff --git a/src/test/java/org/hopper/edw/datavault/resourcedefinition/SourceUsageIndexBuilderTest.java b/src/test/java/org/hopper/edw/datavault/resourcedefinition/SourceUsageIndexBuilderTest.java index c191f153..0df01a0b 100644 --- a/src/test/java/org/hopper/edw/datavault/resourcedefinition/SourceUsageIndexBuilderTest.java +++ b/src/test/java/org/hopper/edw/datavault/resourcedefinition/SourceUsageIndexBuilderTest.java @@ -20,9 +20,9 @@ import java.util.List; import java.util.Map; +import org.apache.hop.core.variables.Variables; import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.apache.hop.core.variables.Variables; import org.hopper.edw.datavault.metadata.BusinessKey; import org.hopper.edw.datavault.metadata.DataVaultModel; import org.hopper.edw.datavault.metadata.DvHub; diff --git a/src/test/java/org/hopper/edw/datavault/resourcedefinition/ValidationAcknowledgementSupportTest.java b/src/test/java/org/hopper/edw/datavault/resourcedefinition/ValidationAcknowledgementSupportTest.java index af2ac8c2..d7c2295d 100644 --- a/src/test/java/org/hopper/edw/datavault/resourcedefinition/ValidationAcknowledgementSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/resourcedefinition/ValidationAcknowledgementSupportTest.java @@ -20,11 +20,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.ArrayList; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.variables.Variables; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; import org.hopper.edw.catalog.model.RecordDefinitionValidationAcknowledgement; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.variables.Variables; import org.junit.jupiter.api.Test; class ValidationAcknowledgementSupportTest { diff --git a/src/test/java/org/hopper/edw/datavault/transform/datedimensiongenerator/DateDimensionGeneratorLogicTest.java b/src/test/java/org/hopper/edw/datavault/transform/datedimensiongenerator/DateDimensionGeneratorLogicTest.java index b59e07ed..104f6b92 100644 --- a/src/test/java/org/hopper/edw/datavault/transform/datedimensiongenerator/DateDimensionGeneratorLogicTest.java +++ b/src/test/java/org/hopper/edw/datavault/transform/datedimensiongenerator/DateDimensionGeneratorLogicTest.java @@ -33,9 +33,9 @@ import org.apache.hop.core.row.IValueMeta; import org.apache.hop.core.row.RowMeta; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.api.IHopMetadataProvider; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.DateRange; import org.hopper.edw.datavault.transform.datedimensiongenerator.DateDimensionGeneratorLogic.PreparedField; -import org.apache.hop.metadata.api.IHopMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/transform/sourcemodelsql/SourceModelSqlSupportTest.java b/src/test/java/org/hopper/edw/datavault/transform/sourcemodelsql/SourceModelSqlSupportTest.java index 2bf476d2..bd0a8d2e 100644 --- a/src/test/java/org/hopper/edw/datavault/transform/sourcemodelsql/SourceModelSqlSupportTest.java +++ b/src/test/java/org/hopper/edw/datavault/transform/sourcemodelsql/SourceModelSqlSupportTest.java @@ -27,13 +27,13 @@ import org.apache.hop.core.row.IRowMeta; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.metadata.sourcemodel.SourceColumn; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlPlan; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIf; diff --git a/src/test/java/org/hopper/edw/datavault/virtualization/SourceModelSqlEngineTest.java b/src/test/java/org/hopper/edw/datavault/virtualization/SourceModelSqlEngineTest.java index e2b5127d..61016937 100644 --- a/src/test/java/org/hopper/edw/datavault/virtualization/SourceModelSqlEngineTest.java +++ b/src/test/java/org/hopper/edw/datavault/virtualization/SourceModelSqlEngineTest.java @@ -28,6 +28,9 @@ import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.hopper.edw.datavault.metadata.sourcemodel.SourceColumn; import org.hopper.edw.datavault.metadata.sourcemodel.SourceModel; import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; @@ -35,9 +38,6 @@ import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlException; import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlOptions; import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlPlan; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; -import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIf; diff --git a/src/test/java/org/hopper/edw/datavault/virtualization/SourceModelSqlPhaseBTest.java b/src/test/java/org/hopper/edw/datavault/virtualization/SourceModelSqlPhaseBTest.java index 2120dead..8d246fd3 100644 --- a/src/test/java/org/hopper/edw/datavault/virtualization/SourceModelSqlPhaseBTest.java +++ b/src/test/java/org/hopper/edw/datavault/virtualization/SourceModelSqlPhaseBTest.java @@ -23,6 +23,8 @@ import org.apache.hop.core.database.DatabaseMeta; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.api.IHopMetadataProvider; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.metadata.sourcemodel.SourceColumn; import org.hopper.edw.datavault.metadata.sourcemodel.SourceJson; import org.hopper.edw.datavault.metadata.sourcemodel.SourceJsonField; @@ -30,8 +32,6 @@ import org.hopper.edw.datavault.metadata.sourcemodel.SourceTable; import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlEngine; import org.hopper.edw.datavault.virtualization.sql.SourceModelSqlPlan; -import org.apache.hop.metadata.api.IHopMetadataProvider; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/workflow/actions/generateexecutionmap/ActionGenerateExecutionMapTest.java b/src/test/java/org/hopper/edw/datavault/workflow/actions/generateexecutionmap/ActionGenerateExecutionMapTest.java index ac984f38..1b145423 100644 --- a/src/test/java/org/hopper/edw/datavault/workflow/actions/generateexecutionmap/ActionGenerateExecutionMapTest.java +++ b/src/test/java/org/hopper/edw/datavault/workflow/actions/generateexecutionmap/ActionGenerateExecutionMapTest.java @@ -23,8 +23,8 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.exception.HopException; import org.apache.hop.core.variables.Variables; -import org.hopper.edw.datavault.executionmap.CrawlOptions; import org.apache.hop.i18n.BaseMessages; +import org.hopper.edw.datavault.executionmap.CrawlOptions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/workflow/actions/importdbt/ActionImportDbtProjectTest.java b/src/test/java/org/hopper/edw/datavault/workflow/actions/importdbt/ActionImportDbtProjectTest.java index 221e8ac8..f5aa529e 100644 --- a/src/test/java/org/hopper/edw/datavault/workflow/actions/importdbt/ActionImportDbtProjectTest.java +++ b/src/test/java/org/hopper/edw/datavault/workflow/actions/importdbt/ActionImportDbtProjectTest.java @@ -23,12 +23,12 @@ import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.Result; import org.apache.hop.core.exception.HopException; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.datavault.dbt.DbtImportConflictPolicy; import org.hopper.edw.datavault.dbt.DbtImportDestination; import org.hopper.edw.datavault.dbt.DbtProjectParserTest; import org.hopper.edw.datavault.metadata.businessvault.BusinessVaultModel; import org.hopper.edw.datavault.metadata.businessvault.BvSqlModelPathSupport; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; diff --git a/src/test/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ActionUpdateResourceDefinitionGroupReferencedObjectTest.java b/src/test/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ActionUpdateResourceDefinitionGroupReferencedObjectTest.java index c953a61d..2b56ceec 100644 --- a/src/test/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ActionUpdateResourceDefinitionGroupReferencedObjectTest.java +++ b/src/test/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ActionUpdateResourceDefinitionGroupReferencedObjectTest.java @@ -21,14 +21,14 @@ import java.util.ArrayList; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; -import org.hopper.edw.catalog.xp.RegisterResourceDefinitionGroupMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.file.IHasFilename; import org.apache.hop.core.logging.LogChannel; import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; +import org.hopper.edw.catalog.xp.RegisterResourceDefinitionGroupMetadataExtensionPoint; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ResourceGroupModelUpdatePlannerTest.java b/src/test/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ResourceGroupModelUpdatePlannerTest.java index a6f1081c..765b5a57 100644 --- a/src/test/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ResourceGroupModelUpdatePlannerTest.java +++ b/src/test/java/org/hopper/edw/datavault/workflow/actions/updateresourcegroup/ResourceGroupModelUpdatePlannerTest.java @@ -19,8 +19,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.List; -import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.apache.hop.core.variables.Variables; +import org.hopper.edw.catalog.metadata.ResourceDefinitionGroupMeta; import org.hopper.edw.datavault.workflow.actions.updateresourcegroup.ResourceGroupModelUpdatePlanner.ModelLayer; import org.hopper.edw.datavault.workflow.actions.updateresourcegroup.ResourceGroupModelUpdatePlanner.ModelUpdateJob; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/hopper/edw/quality/history/DataQualityHistoryPublisherTest.java b/src/test/java/org/hopper/edw/quality/history/DataQualityHistoryPublisherTest.java index 344bb746..d8468c0e 100644 --- a/src/test/java/org/hopper/edw/quality/history/DataQualityHistoryPublisherTest.java +++ b/src/test/java/org/hopper/edw/quality/history/DataQualityHistoryPublisherTest.java @@ -25,13 +25,6 @@ import java.util.List; import java.util.Map; import java.util.UUID; -import org.hopper.edw.catalog.impl.file.FileDataCatalog; -import org.hopper.edw.catalog.metadata.DataCatalogMeta; -import org.hopper.edw.catalog.model.RecordDefinition; -import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.hopper.edw.catalog.model.RecordDefinitionType; -import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; -import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.apache.hop.core.HopEnvironment; import org.apache.hop.core.RowMetaAndData; import org.apache.hop.core.database.Database; @@ -42,6 +35,13 @@ import org.apache.hop.core.plugins.PluginRegistry; import org.apache.hop.core.variables.Variables; import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.hopper.edw.catalog.impl.file.FileDataCatalog; +import org.hopper.edw.catalog.metadata.DataCatalogMeta; +import org.hopper.edw.catalog.model.RecordDefinition; +import org.hopper.edw.catalog.model.RecordDefinitionKey; +import org.hopper.edw.catalog.model.RecordDefinitionType; +import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; +import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; import org.hopper.edw.quality.history.DataQualityHistoryPublisher.PublishContext; import org.hopper.edw.quality.history.DataQualityHistoryPublisher.PublishResult; import org.hopper.edw.quality.history.DataQualityHistoryPublisher.PublishStatus; diff --git a/src/test/java/org/hopper/edw/quality/history/DataQualityHistoryReaderTest.java b/src/test/java/org/hopper/edw/quality/history/DataQualityHistoryReaderTest.java index 5dd92005..b505da9c 100644 --- a/src/test/java/org/hopper/edw/quality/history/DataQualityHistoryReaderTest.java +++ b/src/test/java/org/hopper/edw/quality/history/DataQualityHistoryReaderTest.java @@ -26,6 +26,13 @@ import java.util.List; import java.util.Map; import java.util.UUID; +import org.apache.hop.core.HopEnvironment; +import org.apache.hop.core.database.DatabaseMeta; +import org.apache.hop.core.exception.HopException; +import org.apache.hop.core.logging.LogChannel; +import org.apache.hop.core.plugins.PluginRegistry; +import org.apache.hop.core.variables.Variables; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.catalog.impl.file.FileDataCatalog; import org.hopper.edw.catalog.metadata.DataCatalogMeta; import org.hopper.edw.catalog.model.PhysicalTableRef; @@ -35,13 +42,6 @@ import org.hopper.edw.catalog.model.RecordOrigin; import org.hopper.edw.catalog.registry.RecordDefinitionRegistry; import org.hopper.edw.catalog.xp.RegisterDataCatalogMetadataExtensionPoint; -import org.apache.hop.core.HopEnvironment; -import org.apache.hop.core.database.DatabaseMeta; -import org.apache.hop.core.exception.HopException; -import org.apache.hop.core.logging.LogChannel; -import org.apache.hop.core.plugins.PluginRegistry; -import org.apache.hop.core.variables.Variables; -import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; import org.hopper.edw.quality.history.DataQualityHistoryPublisher.PublishContext; import org.hopper.edw.quality.history.DataQualityHistoryPublisher.PublishResult; import org.hopper.edw.quality.history.DataQualityHistoryPublisher.PublishStatus; diff --git a/src/test/java/org/hopper/edw/quality/workflow/actions/measuredataquality/ActionMeasureDataQualityDefaultsTest.java b/src/test/java/org/hopper/edw/quality/workflow/actions/measuredataquality/ActionMeasureDataQualityDefaultsTest.java index 21161dca..1e2a3d12 100644 --- a/src/test/java/org/hopper/edw/quality/workflow/actions/measuredataquality/ActionMeasureDataQualityDefaultsTest.java +++ b/src/test/java/org/hopper/edw/quality/workflow/actions/measuredataquality/ActionMeasureDataQualityDefaultsTest.java @@ -20,10 +20,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.List; +import org.apache.hop.core.variables.Variables; import org.hopper.edw.catalog.model.PhysicalTableRef; import org.hopper.edw.catalog.model.RecordDefinition; import org.hopper.edw.catalog.model.RecordDefinitionKey; -import org.apache.hop.core.variables.Variables; import org.hopper.edw.datavault.metrics.DvUpdateMetricsConstants; import org.hopper.edw.quality.history.DataQualityHistoryPublisher; import org.hopper.edw.quality.model.DataQualityReport;