The Enumeration Converter and its Process

This is a reference topic that discusses how the enumeration values on the GIS data objects are converted into a form that is compatible with the feature service.

The DHFC client application has a number of data objects that are used to represent objects in the coax model. These data objects cannot be altered by customers and are controlled by the application. The purpose of the schema.xml file is to map these data objects to the feature service endpoints.

Each table in the schema.xml represents a different data object in general. Since these data objects are actual C# classes, the application uses a number of enumerations to model well-known things like amplifier type, gain control mode, etc.

In order to accomplish the mapping of these enumerations to the feature service, the application follows this pattern:

  • Some data objects have properties that are of various enumeration types.

  • The enumeration type name of these properties becomes the value that is referenced in a CodedValueDomain.CoaxName attribute. For example, the RFAmplifierData object has a property called "AmpType." This property is an enumeration of the type "AmplifierType". In the schema.xml, this enumeration is then mapped to a CodedValueDomain section. In the schema.xml, it looks like the following:

    <CodedValueDomain CoaxName="AmplifierType">
       <CodedValueEntry CoaxName="LineExtender" EsriName="Line Extender" />
       <CodedValueEntry CoaxName="MiniBridger" EsriName="Mini-Bridger" />
    </CodedValueDomain>

  • The CodedValueEntry.CoaxName attributes (as seen in the code snippet above) reference values from the AmplifierType enumeration.

  • The CodedValueEntry.EsriName attributes(as seen in the code snippet above) are what the feature service is expecting for that given enumeration value. In the case of the example above, the EsriName values map to Esri coded domain values and are strings. The feature service configuration determines what EsriName values and types are used, but the CoaxName should never be altered and always maps to an enumeration that is defined in the code.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

Was this helpful?