DisallowNonMappingOperations and AllowNonMappingOperations Methods - Integration - Update 44 - Customization & Programming - Hexagon

SmartPlant Integration Customization

Language
English
Product
Integration
Search by Category
Customization & Programming
SmartPlant Foundation / SDx Version
10

Immediately before SetMapSchemaContainer is called for a metadata adapter, the DisallowNonMappingOperations method on the ITransactionMapping interface for the transaction manager will be called by the Schema Editor. This method will set semantics that will preclude creating, deleting or revising tool schema objects (other than direct mapping relationships between the tool schema and the SmartPlant schema).

Immediately before Connect is called for a metadata adapter, the AllowNonMappingOperations method on the ITransactionMapping interface for the transaction manager will be called by the Schema Editor. This method will re-enable the editing operations on the tool (map) schema objects. Therefore, any modification operations that are not supported for an application will need to be explicitly blocked by the metadata adapter (or, more accurately, by semantics defined by the metadata adapter).

If the Cancel/Work Disconnected command is selected from the Synchronize form, then the DisallowNonMappingOperations method (on the transaction manager) will be called by the Schema Editor immediately before Disconnect is called on the metadata adapter. Because DisallowNonMappingOperations and AllowNonMappingOperations are called directly by the Schema Editor, metadata adapters will not need to call either of these methods. Each metadata adapter will only, therefore, have to concern itself with blocking operations on its tool schema while it is in "connected" mode.

If a metadata adapter needs to impact operations on mapping relationships, then those semantics will need to be activated prior to the Connect method (to ensure they are active in disconnected mode) and will need to remain active after the Disconnect method is called.

Semantics added to support connected mode should be disabled when the Disconnect method is called (and re-activated if Connect is called again).