@finos/legend-extension-dsl-persistence 2.0.9 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/DSLPersistence_Extension.d.ts +1 -1
- package/lib/DSLPersistence_Extension.d.ts.map +1 -1
- package/lib/DSLPersistence_Extension.js +3 -3
- package/lib/DSLPersistence_Extension.js.map +1 -1
- package/lib/components/studio/DSLPersistence_CodeSnippets.d.ts +1 -0
- package/lib/components/studio/DSLPersistence_CodeSnippets.d.ts.map +1 -1
- package/lib/components/studio/DSLPersistence_CodeSnippets.js +5 -1
- package/lib/components/studio/DSLPersistence_CodeSnippets.js.map +1 -1
- package/lib/components/studio/{DSLPersistence_LegendStudioPlugin.d.ts → DSLPersistence_LegendStudioApplicationPlugin.d.ts} +4 -3
- package/lib/components/studio/DSLPersistence_LegendStudioApplicationPlugin.d.ts.map +1 -0
- package/lib/components/studio/{DSLPersistence_LegendStudioPlugin.js → DSLPersistence_LegendStudioApplicationPlugin.js} +51 -10
- package/lib/components/studio/DSLPersistence_LegendStudioApplicationPlugin.js.map +1 -0
- package/lib/components/studio/DSLPersistence_LegendStudioDocumentation.d.ts +2 -1
- package/lib/components/studio/DSLPersistence_LegendStudioDocumentation.d.ts.map +1 -1
- package/lib/components/studio/DSLPersistence_LegendStudioDocumentation.js +1 -0
- package/lib/components/studio/DSLPersistence_LegendStudioDocumentation.js.map +1 -1
- package/lib/{models/DSLPersistence_ModelUtils.d.ts → graph/DSLPersistence_HashUtils.d.ts} +6 -1
- package/lib/graph/DSLPersistence_HashUtils.d.ts.map +1 -0
- package/lib/{models/DSLPersistence_ModelUtils.js → graph/DSLPersistence_HashUtils.js} +10 -1
- package/lib/graph/DSLPersistence_HashUtils.js.map +1 -0
- package/lib/graph/DSLPersistence_PureGraphPlugin.d.ts.map +1 -1
- package/lib/graph/DSLPersistence_PureGraphPlugin.js +3 -2
- package/lib/graph/DSLPersistence_PureGraphPlugin.js.map +1 -1
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Auditing.d.ts +0 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Auditing.d.ts.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Auditing.js +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Auditing.js.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.d.ts +0 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.d.ts.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.js +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.js.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.d.ts +0 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.d.ts.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.js +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.js.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.d.ts +0 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.d.ts.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.js +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.js.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.d.ts +0 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.d.ts.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.js +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.js.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Notifier.d.ts +0 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Notifier.d.ts.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Notifier.js +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Notifier.js.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Persistence.d.ts +0 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Persistence.d.ts.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Persistence.js +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Persistence.js.map +1 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistenceContext.d.ts +29 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistenceContext.d.ts.map +1 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistenceContext.js +37 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistenceContext.js.map +1 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistencePlatform.d.ts +23 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistencePlatform.d.ts.map +1 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistencePlatform.js +25 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistencePlatform.js.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Persister.d.ts +0 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Persister.d.ts.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Persister.js +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Persister.js.map +1 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_ServiceParameter.d.ts +34 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_ServiceParameter.d.ts.map +1 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_ServiceParameter.js +49 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_ServiceParameter.js.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Sink.d.ts +3 -2
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Sink.d.ts.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Sink.js +7 -2
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Sink.js.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.d.ts +2 -2
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.d.ts.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.js +2 -2
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.js.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Trigger.d.ts +0 -0
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Trigger.d.ts.map +1 -0
- package/lib/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Trigger.js +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Trigger.js.map +1 -0
- package/lib/graphManager/DSLPersistence_GraphManagerHelper.d.ts +4 -1
- package/lib/graphManager/DSLPersistence_GraphManagerHelper.d.ts.map +1 -1
- package/lib/graphManager/DSLPersistence_GraphManagerHelper.js +4 -1
- package/lib/graphManager/DSLPersistence_GraphManagerHelper.js.map +1 -1
- package/lib/graphManager/DSLPersistence_PureGraphManagerPlugin.d.ts +1 -0
- package/lib/graphManager/DSLPersistence_PureGraphManagerPlugin.d.ts.map +1 -1
- package/lib/graphManager/DSLPersistence_PureGraphManagerPlugin.js +14 -2
- package/lib/graphManager/DSLPersistence_PureGraphManagerPlugin.js.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLPersistenceContext_ObserverHelper.d.ts +18 -0
- package/lib/graphManager/action/changeDetection/DSLPersistenceContext_ObserverHelper.d.ts.map +1 -0
- package/lib/graphManager/action/changeDetection/DSLPersistenceContext_ObserverHelper.js +29 -0
- package/lib/graphManager/action/changeDetection/DSLPersistenceContext_ObserverHelper.js.map +1 -0
- package/lib/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.d.ts +1 -1
- package/lib/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.d.ts.map +1 -1
- package/lib/{models/protocols → graphManager/protocol}/pure/DSLPersistence_PureProtocolProcessorPlugin.d.ts +1 -0
- package/lib/graphManager/protocol/pure/DSLPersistence_PureProtocolProcessorPlugin.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/DSLPersistence_PureProtocolProcessorPlugin.js +34 -1
- package/lib/graphManager/protocol/pure/DSLPersistence_PureProtocolProcessorPlugin.js.map +1 -0
- package/lib/graphManager/protocol/pure/DSLPersistence_PureProtocolProcessorPlugin_Extension.d.ts +30 -0
- package/lib/graphManager/protocol/pure/DSLPersistence_PureProtocolProcessorPlugin_Extension.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/DSLPersistence_PureProtocolProcessorPlugin_Extension.js +17 -0
- package/lib/graphManager/protocol/pure/DSLPersistence_PureProtocolProcessorPlugin_Extension.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.d.ts +0 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.js +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.d.ts +0 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.js +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.d.ts +0 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.js +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.d.ts +0 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.js +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.d.ts +0 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.js +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.d.ts +0 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.js +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.d.ts +0 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.js +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_PersistenceContext.d.ts +28 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_PersistenceContext.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_PersistenceContext.js +37 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_PersistenceContext.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_PersistencePlatform.d.ts +23 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_PersistencePlatform.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_PersistencePlatform.js +25 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_PersistencePlatform.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.d.ts +0 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.js +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_ServiceParameter.d.ts +34 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_ServiceParameter.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_ServiceParameter.js +49 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_ServiceParameter.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.d.ts +2 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.js +7 -2
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.d.ts +0 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.js +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.d.ts +0 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.js +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/transformation/pureGraph/V1_DSLPersistence_GraphBuilderHelper.d.ts +3 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/V1_DSLPersistence_GraphBuilderHelper.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/transformation/pureGraph/V1_DSLPersistence_GraphBuilderHelper.js +2 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/V1_DSLPersistence_GraphBuilderHelper.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PersistenceContextTransformer.d.ts +36 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PersistenceContextTransformer.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PersistenceContextTransformer.js +75 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PersistenceContextTransformer.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.d.ts +11 -11
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.js +17 -12
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.d.ts +10 -10
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.js +21 -14
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_PersistenceContextBuilder.d.ts +35 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_PersistenceContextBuilder.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_PersistenceContextBuilder.js +74 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_PersistenceContextBuilder.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSLPersistenceContext_ProtocolHelper.d.ts +31 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSLPersistenceContext_ProtocolHelper.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSLPersistenceContext_ProtocolHelper.js +118 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSLPersistenceContext_ProtocolHelper.js.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.d.ts +3 -3
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.d.ts.map +1 -0
- package/lib/{models/protocols → graphManager/protocol}/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.js +3 -5
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.js.map +1 -0
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +12 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +15 -5
- package/lib/index.js.map +1 -1
- package/lib/package.json +12 -12
- package/package.json +17 -17
- package/src/DSLPersistence_Extension.ts +3 -3
- package/src/components/studio/DSLPersistence_CodeSnippets.ts +6 -1
- package/src/components/studio/{DSLPersistence_LegendStudioPlugin.tsx → DSLPersistence_LegendStudioApplicationPlugin.tsx} +66 -15
- package/src/components/studio/DSLPersistence_LegendStudioDocumentation.ts +1 -0
- package/src/{models/DSLPersistence_ModelUtils.ts → graph/DSLPersistence_HashUtils.ts} +14 -0
- package/src/graph/DSLPersistence_PureGraphPlugin.ts +3 -2
- package/src/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Auditing.ts +1 -1
- package/src/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.ts +1 -1
- package/src/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.ts +1 -1
- package/src/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.ts +1 -1
- package/src/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.ts +1 -1
- package/src/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Notifier.ts +1 -1
- package/src/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Persistence.ts +1 -1
- package/src/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistenceContext.ts +50 -0
- package/src/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistencePlatform.ts +30 -0
- package/src/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Persister.ts +1 -1
- package/src/graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_ServiceParameter.ts +61 -0
- package/src/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Sink.ts +9 -3
- package/src/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.ts +4 -8
- package/src/{models/metamodels → graph/metamodel}/pure/model/packageableElements/persistence/DSLPersistence_Trigger.ts +1 -1
- package/src/graphManager/DSLPersistence_GraphManagerHelper.ts +21 -1
- package/src/graphManager/DSLPersistence_PureGraphManagerPlugin.ts +13 -2
- package/src/graphManager/action/changeDetection/DSLPersistenceContext_ObserverHelper.ts +38 -0
- package/src/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.ts +1 -1
- package/src/{models/protocols → graphManager/protocol}/pure/DSLPersistence_PureProtocolProcessorPlugin.ts +53 -1
- package/src/graphManager/protocol/pure/DSLPersistence_PureProtocolProcessorPlugin_Extension.ts +57 -0
- package/src/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.ts +1 -1
- package/src/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.ts +1 -1
- package/src/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.ts +1 -1
- package/src/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.ts +1 -1
- package/src/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.ts +1 -1
- package/src/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.ts +1 -1
- package/src/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.ts +1 -1
- package/src/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_PersistenceContext.ts +51 -0
- package/src/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_PersistencePlatform.ts +31 -0
- package/src/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.ts +1 -1
- package/src/graphManager/protocol/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_ServiceParameter.ts +64 -0
- package/src/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.ts +8 -3
- package/src/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.ts +1 -1
- package/src/{models/protocols → graphManager/protocol}/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.ts +1 -1
- package/src/{models/protocols → graphManager/protocol}/pure/v1/transformation/pureGraph/V1_DSLPersistence_GraphBuilderHelper.ts +14 -2
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PersistenceContextTransformer.ts +141 -0
- package/src/{models/protocols → graphManager/protocol}/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.ts +22 -17
- package/src/{models/protocols → graphManager/protocol}/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.ts +25 -22
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_PersistenceContextBuilder.ts +151 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSLPersistenceContext_ProtocolHelper.ts +242 -0
- package/src/{models/protocols → graphManager/protocol}/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.ts +20 -31
- package/src/index.ts +17 -5
- package/tsconfig.json +40 -29
- package/lib/components/studio/DSLPersistence_LegendStudioPlugin.d.ts.map +0 -1
- package/lib/components/studio/DSLPersistence_LegendStudioPlugin.js.map +0 -1
- package/lib/models/DSLPersistence_ModelUtils.d.ts.map +0 -1
- package/lib/models/DSLPersistence_ModelUtils.js.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Auditing.d.ts.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Auditing.js.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.d.ts.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.js.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.d.ts.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.js.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.d.ts.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.js.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.d.ts.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.js.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Notifier.d.ts.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Notifier.js.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence.d.ts.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence.js.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persister.d.ts.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persister.js.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Sink.d.ts.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Sink.js.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.d.ts.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.js.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.d.ts.map +0 -1
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.js.map +0 -1
- package/lib/models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin.d.ts.map +0 -1
- package/lib/models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin.js.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.js.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.js.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.js.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.js.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.js.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.js.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.js.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.js.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.js.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.js.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/V1_DSLPersistence_GraphBuilderHelper.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/V1_DSLPersistence_GraphBuilderHelper.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.js.map +0 -1
|
@@ -15,12 +15,13 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import packageJson from '../../../package.json';
|
|
18
|
-
import {
|
|
18
|
+
import type { DocumentationEntry } from '@finos/legend-application';
|
|
19
|
+
import { MeteorIcon, PuzzlePieceIcon } from '@finos/legend-art';
|
|
19
20
|
import type { PackageableElement } from '@finos/legend-graph';
|
|
20
21
|
import {
|
|
21
|
-
|
|
22
|
+
LegendStudioApplicationPlugin,
|
|
22
23
|
UnsupportedElementEditorState,
|
|
23
|
-
type
|
|
24
|
+
type DSL_LegendStudioApplicationPlugin_Extension,
|
|
24
25
|
type EditorStore,
|
|
25
26
|
type ElementEditorState,
|
|
26
27
|
type ElementEditorStateCreator,
|
|
@@ -34,37 +35,47 @@ import {
|
|
|
34
35
|
type PureGrammarTextSuggestion,
|
|
35
36
|
type PureGrammarParserElementDocumentationGetter,
|
|
36
37
|
type PureGrammarParserDocumentationGetter,
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
type ElementTypeLabelGetter,
|
|
39
|
+
} from '@finos/legend-application-studio';
|
|
40
|
+
import { Persistence } from '../../graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Persistence.js';
|
|
41
|
+
import { PersistenceContext } from '../../graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistenceContext.js';
|
|
39
42
|
import {
|
|
43
|
+
PURE_GRAMMAR_PERSISTENCE_CONTEXT_ELEMENT_TYPE_LABEL,
|
|
40
44
|
PURE_GRAMMAR_PERSISTENCE_ELEMENT_TYPE_LABEL,
|
|
41
45
|
PURE_GRAMMAR_PERSISTENCE_PARSER_NAME,
|
|
42
46
|
} from '../../graphManager/DSLPersistence_PureGraphManagerPlugin.js';
|
|
47
|
+
import {
|
|
48
|
+
BLANK_PERSISTENCE_CONTEXT_SNIPPET,
|
|
49
|
+
BLANK_PERSISTENCE_SNIPPET,
|
|
50
|
+
} from './DSLPersistence_CodeSnippets.js';
|
|
43
51
|
import { DSL_PERSISTENCE_LEGEND_STUDIO_DOCUMENTATION_KEY } from './DSLPersistence_LegendStudioDocumentation.js';
|
|
44
|
-
import { BLANK_PERSISTENCE_SNIPPET } from './DSLPersistence_CodeSnippets.js';
|
|
45
|
-
import type { LegendApplicationDocumentationEntry } from '@finos/legend-application';
|
|
46
52
|
|
|
47
53
|
const PERSISTENCE_ELEMENT_TYPE = 'PERSISTENCE';
|
|
54
|
+
const PERSISTENCE_CONTEXT_ELEMENT_TYPE = 'PERSISTENCE_CONTEXT';
|
|
55
|
+
|
|
48
56
|
const PERSISTENCE_ELEMENT_PROJECT_EXPLORER_DND_TYPE =
|
|
49
57
|
'PROJECT_EXPLORER_PERSISTENCE';
|
|
58
|
+
const PERSISTENCE_CONTEXT_ELEMENT_PROJECT_EXPLORER_DND_TYPE =
|
|
59
|
+
'PROJECT_EXPLORER_PERSISTENCE_CONTEXT';
|
|
50
60
|
|
|
51
|
-
export class
|
|
52
|
-
extends
|
|
53
|
-
implements
|
|
61
|
+
export class DSLPersistence_LegendStudioApplicationPlugin
|
|
62
|
+
extends LegendStudioApplicationPlugin
|
|
63
|
+
implements DSL_LegendStudioApplicationPlugin_Extension
|
|
54
64
|
{
|
|
55
65
|
constructor() {
|
|
56
|
-
super(packageJson.extensions.
|
|
66
|
+
super(packageJson.extensions.applicationStudioPlugin, packageJson.version);
|
|
57
67
|
}
|
|
58
68
|
|
|
59
69
|
override getExtraRequiredDocumentationKeys(): string[] {
|
|
60
70
|
return [
|
|
61
71
|
DSL_PERSISTENCE_LEGEND_STUDIO_DOCUMENTATION_KEY.GRAMMAR_ELEMENT_PERSISTENCE,
|
|
72
|
+
DSL_PERSISTENCE_LEGEND_STUDIO_DOCUMENTATION_KEY.GRAMMAR_ELEMENT_PERSISTENCE_CONTEXT,
|
|
62
73
|
DSL_PERSISTENCE_LEGEND_STUDIO_DOCUMENTATION_KEY.GRAMMAR_PARSER,
|
|
63
74
|
];
|
|
64
75
|
}
|
|
65
76
|
|
|
66
77
|
getExtraSupportedElementTypes(): string[] {
|
|
67
|
-
return [PERSISTENCE_ELEMENT_TYPE];
|
|
78
|
+
return [PERSISTENCE_ELEMENT_TYPE, PERSISTENCE_CONTEXT_ELEMENT_TYPE];
|
|
68
79
|
}
|
|
69
80
|
|
|
70
81
|
getExtraElementTypeGetters(): ElementTypeGetter[] {
|
|
@@ -72,6 +83,8 @@ export class DSLPersistence_LegendStudioPlugin
|
|
|
72
83
|
(element: PackageableElement): string | undefined => {
|
|
73
84
|
if (element instanceof Persistence) {
|
|
74
85
|
return PERSISTENCE_ELEMENT_TYPE;
|
|
86
|
+
} else if (element instanceof PersistenceContext) {
|
|
87
|
+
return PERSISTENCE_CONTEXT_ELEMENT_TYPE;
|
|
75
88
|
}
|
|
76
89
|
return undefined;
|
|
77
90
|
},
|
|
@@ -87,6 +100,12 @@ export class DSLPersistence_LegendStudioPlugin
|
|
|
87
100
|
<MeteorIcon />
|
|
88
101
|
</div>
|
|
89
102
|
);
|
|
103
|
+
} else if (type === PERSISTENCE_CONTEXT_ELEMENT_TYPE) {
|
|
104
|
+
return (
|
|
105
|
+
<div className="icon icon--persistence-context">
|
|
106
|
+
<PuzzlePieceIcon />
|
|
107
|
+
</div>
|
|
108
|
+
);
|
|
90
109
|
}
|
|
91
110
|
return undefined;
|
|
92
111
|
},
|
|
@@ -102,6 +121,8 @@ export class DSLPersistence_LegendStudioPlugin
|
|
|
102
121
|
): PackageableElement | undefined => {
|
|
103
122
|
if (type === PERSISTENCE_ELEMENT_TYPE) {
|
|
104
123
|
return new Persistence(name);
|
|
124
|
+
} else if (type === PERSISTENCE_CONTEXT_ELEMENT_TYPE) {
|
|
125
|
+
return new PersistenceContext(name);
|
|
105
126
|
}
|
|
106
127
|
return undefined;
|
|
107
128
|
},
|
|
@@ -116,6 +137,8 @@ export class DSLPersistence_LegendStudioPlugin
|
|
|
116
137
|
): ElementEditorState | undefined => {
|
|
117
138
|
if (element instanceof Persistence) {
|
|
118
139
|
return new UnsupportedElementEditorState(editorStore, element);
|
|
140
|
+
} else if (element instanceof PersistenceContext) {
|
|
141
|
+
return new UnsupportedElementEditorState(editorStore, element);
|
|
119
142
|
}
|
|
120
143
|
return undefined;
|
|
121
144
|
},
|
|
@@ -127,6 +150,8 @@ export class DSLPersistence_LegendStudioPlugin
|
|
|
127
150
|
(element: PackageableElement): string | undefined => {
|
|
128
151
|
if (element instanceof Persistence) {
|
|
129
152
|
return PERSISTENCE_ELEMENT_PROJECT_EXPLORER_DND_TYPE;
|
|
153
|
+
} else if (element instanceof PersistenceContext) {
|
|
154
|
+
return PERSISTENCE_CONTEXT_ELEMENT_PROJECT_EXPLORER_DND_TYPE;
|
|
130
155
|
}
|
|
131
156
|
return undefined;
|
|
132
157
|
},
|
|
@@ -134,7 +159,10 @@ export class DSLPersistence_LegendStudioPlugin
|
|
|
134
159
|
}
|
|
135
160
|
|
|
136
161
|
getExtraGrammarTextEditorDnDTypes(): string[] {
|
|
137
|
-
return [
|
|
162
|
+
return [
|
|
163
|
+
PERSISTENCE_ELEMENT_PROJECT_EXPLORER_DND_TYPE,
|
|
164
|
+
PERSISTENCE_CONTEXT_ELEMENT_PROJECT_EXPLORER_DND_TYPE,
|
|
165
|
+
];
|
|
138
166
|
}
|
|
139
167
|
|
|
140
168
|
getExtraPureGrammarParserElementDocumentationGetters(): PureGrammarParserElementDocumentationGetter[] {
|
|
@@ -143,12 +171,19 @@ export class DSLPersistence_LegendStudioPlugin
|
|
|
143
171
|
editorStore: EditorStore,
|
|
144
172
|
parserKeyword: string,
|
|
145
173
|
elementKeyword: string,
|
|
146
|
-
):
|
|
174
|
+
): DocumentationEntry | undefined => {
|
|
147
175
|
if (parserKeyword === PURE_GRAMMAR_PERSISTENCE_PARSER_NAME) {
|
|
148
176
|
if (elementKeyword === PURE_GRAMMAR_PERSISTENCE_ELEMENT_TYPE_LABEL) {
|
|
149
177
|
return editorStore.applicationStore.documentationService.getDocEntry(
|
|
150
178
|
DSL_PERSISTENCE_LEGEND_STUDIO_DOCUMENTATION_KEY.GRAMMAR_ELEMENT_PERSISTENCE,
|
|
151
179
|
);
|
|
180
|
+
} else if (
|
|
181
|
+
elementKeyword ===
|
|
182
|
+
PURE_GRAMMAR_PERSISTENCE_CONTEXT_ELEMENT_TYPE_LABEL
|
|
183
|
+
) {
|
|
184
|
+
return editorStore.applicationStore.documentationService.getDocEntry(
|
|
185
|
+
DSL_PERSISTENCE_LEGEND_STUDIO_DOCUMENTATION_KEY.GRAMMAR_ELEMENT_PERSISTENCE_CONTEXT,
|
|
186
|
+
);
|
|
152
187
|
}
|
|
153
188
|
}
|
|
154
189
|
return undefined;
|
|
@@ -161,7 +196,7 @@ export class DSLPersistence_LegendStudioPlugin
|
|
|
161
196
|
(
|
|
162
197
|
editorStore: EditorStore,
|
|
163
198
|
parserKeyword: string,
|
|
164
|
-
):
|
|
199
|
+
): DocumentationEntry | undefined => {
|
|
165
200
|
if (parserKeyword === PURE_GRAMMAR_PERSISTENCE_PARSER_NAME) {
|
|
166
201
|
return editorStore.applicationStore.documentationService.getDocEntry(
|
|
167
202
|
DSL_PERSISTENCE_LEGEND_STUDIO_DOCUMENTATION_KEY.GRAMMAR_PARSER,
|
|
@@ -201,8 +236,24 @@ export class DSLPersistence_LegendStudioPlugin
|
|
|
201
236
|
description: '(blank)',
|
|
202
237
|
insertText: BLANK_PERSISTENCE_SNIPPET,
|
|
203
238
|
},
|
|
239
|
+
{
|
|
240
|
+
text: PURE_GRAMMAR_PERSISTENCE_CONTEXT_ELEMENT_TYPE_LABEL,
|
|
241
|
+
description: '(blank)',
|
|
242
|
+
insertText: BLANK_PERSISTENCE_CONTEXT_SNIPPET,
|
|
243
|
+
},
|
|
204
244
|
]
|
|
205
245
|
: undefined,
|
|
206
246
|
];
|
|
207
247
|
}
|
|
248
|
+
|
|
249
|
+
getExtraElementTypeLabelGetters(): ElementTypeLabelGetter[] {
|
|
250
|
+
return [
|
|
251
|
+
(type: string): string | undefined => {
|
|
252
|
+
if (type === PERSISTENCE_CONTEXT_ELEMENT_TYPE) {
|
|
253
|
+
return 'Persistence Context';
|
|
254
|
+
}
|
|
255
|
+
return undefined;
|
|
256
|
+
},
|
|
257
|
+
];
|
|
258
|
+
}
|
|
208
259
|
}
|
|
@@ -17,4 +17,5 @@
|
|
|
17
17
|
export enum DSL_PERSISTENCE_LEGEND_STUDIO_DOCUMENTATION_KEY {
|
|
18
18
|
GRAMMAR_PARSER = 'dsl-persistence.grammar.parser',
|
|
19
19
|
GRAMMAR_ELEMENT_PERSISTENCE = 'dsl-persistence.grammar.element.persistence',
|
|
20
|
+
GRAMMAR_ELEMENT_PERSISTENCE_CONTEXT = 'dsl-persistence.grammar.element.persistence-context',
|
|
20
21
|
}
|
|
@@ -15,6 +15,20 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
export enum PERSISTENCE_HASH_STRUCTURE {
|
|
18
|
+
// ----- PERSISTENCE CONTEXT -----
|
|
19
|
+
|
|
20
|
+
PERSISTENCE_CONTEXT = 'PERSISTENCE_CONTEXT',
|
|
21
|
+
|
|
22
|
+
// platform
|
|
23
|
+
DEFAULT_PERSISTENCE_PLATFORM = 'DEFAULT_PERSISTENCE_PLATFORM',
|
|
24
|
+
|
|
25
|
+
// service parameter
|
|
26
|
+
SERVICE_PARAMETER = 'SERVICE_PARAMETER',
|
|
27
|
+
PRIMITIVE_TYPE_VALUE_SERVICE_PARAMETER = 'PRIMITIVE_TYPE_VALUE_SERVICE_PARAMETER',
|
|
28
|
+
CONNECTION_VALUE_SERVICE_PARAMETER = 'CONNECTION_VALUE_SERVICE_PARAMETER',
|
|
29
|
+
|
|
30
|
+
// ----- PERSISTENCE -----
|
|
31
|
+
|
|
18
32
|
PERSISTENCE = 'PERSISTENCE',
|
|
19
33
|
|
|
20
34
|
// trigger
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import packageJson from '../../package.json';
|
|
18
|
-
import { Persistence } from '../
|
|
18
|
+
import { Persistence } from '../graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Persistence.js';
|
|
19
|
+
import { PersistenceContext } from '../graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistenceContext.js';
|
|
19
20
|
import type { Clazz } from '@finos/legend-shared';
|
|
20
21
|
import { type PackageableElement, PureGraphPlugin } from '@finos/legend-graph';
|
|
21
22
|
|
|
@@ -25,6 +26,6 @@ export class DSLPersistence_PureGraphPlugin extends PureGraphPlugin {
|
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
override getExtraPureGraphExtensionClasses(): Clazz<PackageableElement>[] {
|
|
28
|
-
return [Persistence];
|
|
29
|
+
return [Persistence, PersistenceContext];
|
|
29
30
|
}
|
|
30
31
|
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
18
18
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
19
|
|
|
20
20
|
export abstract class Auditing implements Hashable {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
18
18
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
19
|
|
|
20
20
|
export abstract class DeduplicationStrategy implements Hashable {
|
|
@@ -20,7 +20,7 @@ import type {
|
|
|
20
20
|
TransactionMilestoning,
|
|
21
21
|
ValidityMilestoning,
|
|
22
22
|
} from './DSLPersistence_Milestoning.js';
|
|
23
|
-
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../
|
|
23
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
24
24
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
25
25
|
|
|
26
26
|
export abstract class IngestMode implements Hashable {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
18
18
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
19
|
|
|
20
20
|
export abstract class MergeStrategy implements Hashable {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
18
18
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
19
|
|
|
20
20
|
// transaction milestoning
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
18
18
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
19
|
|
|
20
20
|
export class Notifier implements Hashable {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import type { Notifier } from './DSLPersistence_Notifier.js';
|
|
18
18
|
import type { Persister } from './DSLPersistence_Persister.js';
|
|
19
19
|
import type { Trigger } from './DSLPersistence_Trigger.js';
|
|
20
|
-
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../
|
|
20
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
21
21
|
import {
|
|
22
22
|
PackageableElement,
|
|
23
23
|
type PackageableElementReference,
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import type { Persistence } from './DSLPersistence_Persistence.js';
|
|
18
|
+
import type { PersistencePlatform } from './DSLPersistence_PersistencePlatform.js';
|
|
19
|
+
import type { ServiceParameter } from './DSLPersistence_ServiceParameter.js';
|
|
20
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
21
|
+
import {
|
|
22
|
+
type Connection,
|
|
23
|
+
PackageableElement,
|
|
24
|
+
type PackageableElementReference,
|
|
25
|
+
type PackageableElementVisitor,
|
|
26
|
+
} from '@finos/legend-graph';
|
|
27
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
28
|
+
|
|
29
|
+
export class PersistenceContext extends PackageableElement implements Hashable {
|
|
30
|
+
persistence!: PackageableElementReference<Persistence>;
|
|
31
|
+
platform!: PersistencePlatform;
|
|
32
|
+
serviceParameters: ServiceParameter[] = [];
|
|
33
|
+
sinkConnection?: Connection;
|
|
34
|
+
|
|
35
|
+
protected override get _elementHashCode(): string {
|
|
36
|
+
return hashArray([
|
|
37
|
+
PERSISTENCE_HASH_STRUCTURE.PERSISTENCE_CONTEXT,
|
|
38
|
+
this.persistence.valueForSerialization ?? '',
|
|
39
|
+
this.platform,
|
|
40
|
+
hashArray(this.serviceParameters),
|
|
41
|
+
this.sinkConnection ?? '',
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
accept_PackageableElementVisitor<T>(
|
|
46
|
+
visitor: PackageableElementVisitor<T>,
|
|
47
|
+
): T {
|
|
48
|
+
return visitor.visit_PackageableElement(this);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
18
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
|
+
|
|
20
|
+
export abstract class PersistencePlatform implements Hashable {
|
|
21
|
+
abstract get hashCode(): string;
|
|
22
|
+
}
|
|
23
|
+
export class DefaultPersistencePlatform
|
|
24
|
+
extends PersistencePlatform
|
|
25
|
+
implements Hashable
|
|
26
|
+
{
|
|
27
|
+
override get hashCode(): string {
|
|
28
|
+
return hashArray([PERSISTENCE_HASH_STRUCTURE.DEFAULT_PERSISTENCE_PLATFORM]);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import type { IngestMode } from './DSLPersistence_IngestMode.js';
|
|
18
18
|
import type { Sink } from './DSLPersistence_Sink.js';
|
|
19
19
|
import type { TargetShape } from './DSLPersistence_TargetShape.js';
|
|
20
|
-
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../
|
|
20
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
21
21
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
22
22
|
|
|
23
23
|
export abstract class Persister implements Hashable {
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
18
|
+
import type { Connection, ValueSpecification } from '@finos/legend-graph';
|
|
19
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
20
|
+
|
|
21
|
+
export class ServiceParameter implements Hashable {
|
|
22
|
+
name!: string;
|
|
23
|
+
value!: ServiceParameterValue;
|
|
24
|
+
|
|
25
|
+
get hashCode(): string {
|
|
26
|
+
return hashArray([
|
|
27
|
+
PERSISTENCE_HASH_STRUCTURE.SERVICE_PARAMETER,
|
|
28
|
+
this.name,
|
|
29
|
+
this.value,
|
|
30
|
+
]);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export abstract class ServiceParameterValue implements Hashable {
|
|
35
|
+
abstract get hashCode(): string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export class PrimitiveTypeValue
|
|
39
|
+
extends ServiceParameterValue
|
|
40
|
+
implements Hashable
|
|
41
|
+
{
|
|
42
|
+
primitiveType!: ValueSpecification;
|
|
43
|
+
|
|
44
|
+
override get hashCode(): string {
|
|
45
|
+
return hashArray([
|
|
46
|
+
PERSISTENCE_HASH_STRUCTURE.PRIMITIVE_TYPE_VALUE_SERVICE_PARAMETER,
|
|
47
|
+
//TODO: ledav -- hash value specification
|
|
48
|
+
]);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export class ConnectionValue extends ServiceParameterValue implements Hashable {
|
|
53
|
+
connection!: Connection;
|
|
54
|
+
|
|
55
|
+
override get hashCode(): string {
|
|
56
|
+
return hashArray([
|
|
57
|
+
PERSISTENCE_HASH_STRUCTURE.CONNECTION_VALUE_SERVICE_PARAMETER,
|
|
58
|
+
this.connection,
|
|
59
|
+
]);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
18
18
|
import type {
|
|
19
19
|
Binding,
|
|
20
20
|
Connection,
|
|
21
|
+
Database,
|
|
21
22
|
PackageableElementReference,
|
|
22
23
|
} from '@finos/legend-graph';
|
|
23
24
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
@@ -27,11 +28,15 @@ export abstract class Sink implements Hashable {
|
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export class RelationalSink extends Sink implements Hashable {
|
|
31
|
+
//TODO: ledav -- make required once persistence changes are rolled out in engine
|
|
32
|
+
database?: PackageableElementReference<Database>;
|
|
33
|
+
//TODO: ledav -- remove once persistence changes are rolled out in engine
|
|
30
34
|
connection?: Connection;
|
|
31
35
|
|
|
32
36
|
override get hashCode(): string {
|
|
33
37
|
return hashArray([
|
|
34
38
|
PERSISTENCE_HASH_STRUCTURE.RELATIONAL_SINK,
|
|
39
|
+
this.database?.valueForSerialization ?? '',
|
|
35
40
|
this.connection ?? '',
|
|
36
41
|
]);
|
|
37
42
|
}
|
|
@@ -39,13 +44,14 @@ export class RelationalSink extends Sink implements Hashable {
|
|
|
39
44
|
|
|
40
45
|
export class ObjectStorageSink extends Sink implements Hashable {
|
|
41
46
|
binding!: PackageableElementReference<Binding>;
|
|
42
|
-
|
|
47
|
+
//TODO: ledav -- remove once persistence changes are rolled out in engine
|
|
48
|
+
connection?: Connection;
|
|
43
49
|
|
|
44
50
|
override get hashCode(): string {
|
|
45
51
|
return hashArray([
|
|
46
52
|
PERSISTENCE_HASH_STRUCTURE.OBJECT_STORAGE_SINK,
|
|
47
53
|
this.binding.valueForSerialization ?? '',
|
|
48
|
-
this.connection,
|
|
54
|
+
this.connection ?? '',
|
|
49
55
|
]);
|
|
50
56
|
}
|
|
51
57
|
}
|
|
@@ -15,20 +15,16 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import type { DeduplicationStrategy } from './DSLPersistence_DeduplicationStrategy.js';
|
|
18
|
-
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../
|
|
18
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
19
19
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
20
|
-
import type {
|
|
21
|
-
Class,
|
|
22
|
-
OptionalPackageableElementReference,
|
|
23
|
-
PackageableElementReference,
|
|
24
|
-
} from '@finos/legend-graph';
|
|
20
|
+
import type { Class, PackageableElementReference } from '@finos/legend-graph';
|
|
25
21
|
|
|
26
22
|
export abstract class TargetShape implements Hashable {
|
|
27
23
|
abstract get hashCode(): string;
|
|
28
24
|
}
|
|
29
25
|
|
|
30
26
|
export class FlatTarget extends TargetShape implements Hashable {
|
|
31
|
-
modelClass
|
|
27
|
+
modelClass?: PackageableElementReference<Class> | undefined;
|
|
32
28
|
targetName!: string;
|
|
33
29
|
partitionFields: string[] = [];
|
|
34
30
|
deduplicationStrategy!: DeduplicationStrategy;
|
|
@@ -36,7 +32,7 @@ export class FlatTarget extends TargetShape implements Hashable {
|
|
|
36
32
|
override get hashCode(): string {
|
|
37
33
|
return hashArray([
|
|
38
34
|
PERSISTENCE_HASH_STRUCTURE.FLAT_TARGET,
|
|
39
|
-
this.modelClass
|
|
35
|
+
this.modelClass?.valueForSerialization ?? '',
|
|
40
36
|
this.targetName,
|
|
41
37
|
hashArray(this.partitionFields),
|
|
42
38
|
this.deduplicationStrategy,
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_HashUtils.js';
|
|
18
18
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
19
|
|
|
20
20
|
export abstract class Trigger implements Hashable {
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { Persistence } from '../
|
|
17
|
+
import { Persistence } from '../graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Persistence.js';
|
|
18
|
+
import { PersistenceContext } from '../graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistenceContext.js';
|
|
18
19
|
import type { BasicModel, PureModel } from '@finos/legend-graph';
|
|
19
20
|
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
20
21
|
|
|
@@ -25,6 +26,16 @@ export const getPersistence = (path: string, graph: PureModel): Persistence =>
|
|
|
25
26
|
`Can't find persistence '${path}'`,
|
|
26
27
|
);
|
|
27
28
|
|
|
29
|
+
export const getPersistenceContext = (
|
|
30
|
+
path: string,
|
|
31
|
+
graph: PureModel,
|
|
32
|
+
): PersistenceContext =>
|
|
33
|
+
graph.getExtensionElement(
|
|
34
|
+
path,
|
|
35
|
+
PersistenceContext,
|
|
36
|
+
`Can't find persistence context '${path}'`,
|
|
37
|
+
);
|
|
38
|
+
|
|
28
39
|
export const getOwnPersistence = (
|
|
29
40
|
path: string,
|
|
30
41
|
graph: BasicModel,
|
|
@@ -33,3 +44,12 @@ export const getOwnPersistence = (
|
|
|
33
44
|
graph.getOwnNullableExtensionElement(path, Persistence),
|
|
34
45
|
`Can't find persistence '${path}'`,
|
|
35
46
|
);
|
|
47
|
+
|
|
48
|
+
export const getOwnPersistenceContext = (
|
|
49
|
+
path: string,
|
|
50
|
+
graph: BasicModel,
|
|
51
|
+
): PersistenceContext =>
|
|
52
|
+
guaranteeNonNullable(
|
|
53
|
+
graph.getOwnNullableExtensionElement(path, PersistenceContext),
|
|
54
|
+
`Can't find persistence context '${path}'`,
|
|
55
|
+
);
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import packageJson from '../../package.json';
|
|
18
|
-
import { Persistence } from '../
|
|
18
|
+
import { Persistence } from '../graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_Persistence.js';
|
|
19
|
+
import { PersistenceContext } from '../graph/metamodel/pure/model/packageableElements/persistence/DSLPersistence_PersistenceContext.js';
|
|
19
20
|
import { observe_Persistence } from './action/changeDetection/DSLPersistence_ObserverHelper.js';
|
|
21
|
+
import { observe_PersistenceContext } from './action/changeDetection/DSLPersistenceContext_ObserverHelper.js';
|
|
20
22
|
import {
|
|
21
23
|
PureGraphManagerPlugin,
|
|
22
24
|
type PackageableElement,
|
|
@@ -27,6 +29,8 @@ import {
|
|
|
27
29
|
|
|
28
30
|
export const PURE_GRAMMAR_PERSISTENCE_PARSER_NAME = 'Persistence';
|
|
29
31
|
export const PURE_GRAMMAR_PERSISTENCE_ELEMENT_TYPE_LABEL = 'Persistence';
|
|
32
|
+
export const PURE_GRAMMAR_PERSISTENCE_CONTEXT_ELEMENT_TYPE_LABEL =
|
|
33
|
+
'PersistenceContext';
|
|
30
34
|
|
|
31
35
|
export class DSLPersistence_PureGraphManagerPlugin extends PureGraphManagerPlugin {
|
|
32
36
|
constructor() {
|
|
@@ -38,7 +42,10 @@ export class DSLPersistence_PureGraphManagerPlugin extends PureGraphManagerPlugi
|
|
|
38
42
|
}
|
|
39
43
|
|
|
40
44
|
override getExtraPureGrammarKeywords(): string[] {
|
|
41
|
-
return [
|
|
45
|
+
return [
|
|
46
|
+
PURE_GRAMMAR_PERSISTENCE_ELEMENT_TYPE_LABEL,
|
|
47
|
+
PURE_GRAMMAR_PERSISTENCE_CONTEXT_ELEMENT_TYPE_LABEL,
|
|
48
|
+
];
|
|
42
49
|
}
|
|
43
50
|
|
|
44
51
|
override getExtraPureGrammarElementLabelers(): PureGrammarElementLabeler[] {
|
|
@@ -46,6 +53,8 @@ export class DSLPersistence_PureGraphManagerPlugin extends PureGraphManagerPlugi
|
|
|
46
53
|
(element: PackageableElement): string | undefined => {
|
|
47
54
|
if (element instanceof Persistence) {
|
|
48
55
|
return PURE_GRAMMAR_PERSISTENCE_ELEMENT_TYPE_LABEL;
|
|
56
|
+
} else if (element instanceof PersistenceContext) {
|
|
57
|
+
return PURE_GRAMMAR_PERSISTENCE_CONTEXT_ELEMENT_TYPE_LABEL;
|
|
49
58
|
}
|
|
50
59
|
return undefined;
|
|
51
60
|
},
|
|
@@ -60,6 +69,8 @@ export class DSLPersistence_PureGraphManagerPlugin extends PureGraphManagerPlugi
|
|
|
60
69
|
): PackageableElement | undefined => {
|
|
61
70
|
if (element instanceof Persistence) {
|
|
62
71
|
return observe_Persistence(element);
|
|
72
|
+
} else if (element instanceof PersistenceContext) {
|
|
73
|
+
return observe_PersistenceContext(element);
|
|
63
74
|
}
|
|
64
75
|
return undefined;
|
|
65
76
|
},
|