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 >