Property relationships with hierarchical select lists - Intergraph Smart API Manager - 2020 (4.0) - Help

Intergraph Smart API Manager Help

Language
English
Product
Intergraph Smart API Manager
Search by Category
Help
Smart API Manager Version
4.0

If different (yet similar) properties derive values from the same hierarchical select lists, clients must be able to discover the exact relationships between the various properties. The DependsOn annotation term is used to define these relationships.

For example, consider the following metadata:

<Annotations Target="Com.Ingr.Smart3d.V1.ConduitSystem/CoatingRequirement">

<Annotation Term="Com.Ingr.Core.V1.SelectListId" String="CMNSCH-CoatingRequirement" />

</Annotations>

<Annotations Target="Com.Ingr.Smart3d.V1.ConduitSystem/CoatingType">

<Annotation Term="Com.Ingr.Core.V1.SelectListId" String="CMNSCH-CoatingType" />

<Annotation Term="Com.Ingr.Core.V1.DependsOn" PropertyPath="CoatingRequirement" />

</Annotations>

<Annotations Target="Com.Ingr.Smart3d.V1.ConduitSystem/InteriorCoatingRequirement">

<Annotation Term="Com.Ingr.Core.V1.SelectListId" String="CMNSCH-CoatingRequirement" />

</Annotations>

<Annotations Target="Com.Ingr.Smart3d.V1.ConduitSystem/InteriorCoatingType">

<Annotation Term="Com.Ingr.Core.V1.SelectListId" String="CMNSCH-CoatingType" />

<Annotation Term="Com.Ingr.Core.V1.DependsOn" PropertyPath="InteriorCoatingRequirement" />

</Annotations>

In this implementation, both CoatingRequirement and InteriorCoatingRequirement properties derive values from the same (CMNSCH-CoatingRequirement) select list.

The value specified for a "coating requirement" property determines the values available for its corresponding "coating type" property, derived from the same (CMNSCH-CoatingType) select list.

A Smart Client can use the DependsOn annotations to know that:

  • When the CoatingRequirement property value changes, the CoatingType value/selection must be updated (but not InteriorCoatingType).

  • And, conversely, a change in the InteriorCoatingRequirement property value affects only the InteriorCoatingType value/selection (not CoatingType).