Hi,

Good question...

The use of the word "parameters" in UIMA is unfortunately overloaded with
multiple meanings.

There are in general 2 kinds:  the kind used in produceAnalysisEngine - the
so-called "additional parameters".  The other kind are the "configuration
parameters", also called configuration settings.  These latter have a capability
for specifying global external settings overrides.

If the parameters you want to override are configuration params (which I think
you mean, because you say they're already in the "xml"),take a look at
https://uima.apache.org/d/uimaj-current/references.html#ugr.ref.xml.component_descriptor.aes.external_configuration_parameter_overrides

Maybe that will be an easy way to address your use case:  the external settings
could be dynamically written into a temp file and that temp file specified in an
"additional parameters" key to produceAnalysisEngine. 

-Marshall


On 12/12/2017 2:39 AM, Matthias Koch wrote:
> Hi,
>
> I want to configure a PEAR dynamically. (I install the pear and want to
> produce the analysis engine with different parameters than in the xml).
> Is this possible? Can I use the additionalParameters? I have seen that the
> PearSpecifier has an instance variable for parameters, but no one is using
> (calling) it.
>
> I want to produce the analysisEngine with:
> UIMAFramework.produceAnalysisEngine(resourceSpecifer, resourceManager, 
> params);
>
> In this specifier there should be one or more pearSpecifiers that should be
> configured.
>
> I have overridden the PearAnalysisEngineWrapper and built a loop that
> configures the following specifier over the configurationParameterSettings. It
> takes the parameters from the pear specifiers.
>
> line 257-258
> // Parse the resource specifier
> ResourceSpecifier specifier =
> UIMAFramework.getXMLParser().parseResourceSpecifier(in);
>
> ==> added code
> AnalysisEngineDescription analysisEngineDescription =
> (AnalysisEngineDescription) specifier;
> AnalysisEngineMetaData analysisEngineMetaData =
> analysisEngineDescription.getAnalysisEngineMetaData();
> ConfigurationParameterSettings configurationParameterSettings =
> analysisEngineMetaData.getConfigurationParameterSettings();
> for (Parameter parameter : Arrays.asList(pearSpec.getParameters())) {
>
> configurationParameterSettings.setParameterValue(parameter.getName(),
> parameter.getValue());
> }
>
> Is it possible without overriding anything?
>
> UIMAJ Version: 2.10
>
> Sincerely
> Matthias
>

Reply via email to