Details
-
Improvement
-
Resolution: Fixed
-
Minor
-
None
Description
Currently, when we synthesize UIMA components or when we use UIMA Annotators, we put the component's parameters and any additional Scribo parameters (like media types, etc.) in the same namespace. In this setup, parameter name collisions are possible.
We should use UIMA's parameter groups and define a group for Scribo parameters.
The rest of the component's parameters can still remain in an ungrouped state since they are by design unique.
It would not impact the standard behavior of the component.
This is how it would look in the UIMA xml:
<configurationParameters searchStrategy="language_fallback"> <configurationParameter> <name>pattern</name> <description>Pattern to use in order to extract entitites.</description> <type>String</type> <multiValued>false</multiValued> <mandatory>true</mandatory> </configurationParameter> <configurationParameter> <name>configurationFiles</name> <description>Path to configuration files.</description> <type>String</type> <multiValued>false</multiValued> <mandatory>true</mandatory> </configurationParameter> <configurationGroup names="scribo"> <configurationParameter> <name>mediaTypes</name> <description>Media types supported by annotators.</description> <type>String</type> <multiValued>true</multiValued> <mandatory>false</mandatory> </configurationParameter> <configurationParameter> <name>annotatorSupportedMediaTypes</name> <description>Media types supported by the configured annotators.</description> <type>String</type> <multiValued>true</multiValued> <mandatory>false</mandatory> </configurationParameter> </configurationGroup> </configurationParameters> <configurationParameterSettings> <nameValuePair> <name>pattern</name> <value> <string>[0-9a-zA-Z]+@[0-9a-zA-Z]+\.com</string> </value> </nameValuePair> <nameValuePair> <name>configurationFiles</name> <value> <string>c:\stuff</string> </value> </nameValuePair> <settingsForGroup name="scribo"> <nameValuePair> <name>mediaTypes</name> <value> <array> <string>text/plain</string> </array> </value> </nameValuePair> <nameValuePair> <name>annotatorSupportedMediaTypes</name> <value> <array> <string>text/plain</string> </array> </value> </nameValuePair> </settingsForGroup> </configurationParameterSettings>