You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Wahed Hemati <he...@em.uni-frankfurt.de> on 2017/07/07 09:37:25 UTC
DUCC multi-valued parameter in job descriptor
Hi,
how do i pass a multi-valued parameter for
driver_descriptor_CR_overrides in my job descriptor.
the line looks currently like this:
driver_descriptor_CR_overrides sourceLocation=test/Books
patterns=[+]**/*.txt language=de
I get the following exception:
Caused by: org.apache.uima.resource.ResourceConfigurationException:
Configuration parameter "patterns" in component "reader.Reader" is
multi-valued and must be assigned an array for its value.
-Best
Wahed
Re: DUCC multi-valued parameter in job descriptor
Posted by Burn Lewis <bu...@gmail.com>.
Unfortunately DUCC doesn't yet support overriding multi-valued parameters.
I have created Jira 5482 for this problem. A work-around is to use UIMA's
external overrides. If you can add an externalOverrideName element to the
parameter definition you can then put the array values in a settings file, see
section 2.4.3.4 in Uima References.
e.g. key = [ array element1, element2 ]
~Burn
On Fri, Jul 7, 2017 at 10:06 AM, Lou DeGenaro <lo...@gmail.com>
wrote:
> In my CR xml I put:
>
> ...
> <configurationParameter>
> <name>language</name>
> <description>Language</description>
> <type>String</type>
> <multiValued>false</multiValued>
> <mandatory>false</mandatory>
> </configurationParameter>
>
> <configurationParameter>
> <name>patterns</name>
> <description>Patterns</description>
> <type>String</type>
> <multiValued>false</multiValued>
> <mandatory>false</mandatory>
> </configurationParameter>
>
> <configurationParameter>
> <name>sourceLocation</name>
> <description>Source Location</description>
> <type>String</type>
> <multiValued>false</multiValued>
> <mandatory>false</mandatory>
> </configurationParameter>
>
> ...
>
> In my submitted job spec I put:
>
> --driver_descriptor_CR_overrides "sourceLocation=test/Books
> patterns=[+]**/*.txt language=de"
>
> In my CR.java I put in the initialize() method:
>
> String sourceLocation = ((String)
> getConfigParameterValue("sourceLocation"));
> logger.log(Level.INFO, " ****** BB sourceLocation: " +
> sourceLocation);
> String patterns = ((String) getConfigParameterValue("patterns"));
> logger.log(Level.INFO, " ****** BB patterns: " + patterns);
> String language = ((String) getConfigParameterValue("language"));
> logger.log(Level.INFO, " ****** BB language: " + language);
>
> And in the log output I see:
>
> Jul 07, 2017 9:51:04 AM org.apache.uima.ducc.test.randomsleep.CR
> initialize(90)
> INFO: ****** BB sourceLocation: test/Books
> Jul 07, 2017 9:51:04 AM org.apache.uima.ducc.test.randomsleep.CR
> initialize(92)
> INFO: ****** BB patterns: [+]**/*.txt
> Jul 07, 2017 9:51:04 AM org.apache.uima.ducc.test.randomsleep.CR
> initialize(94)
> INFO: ****** BB language: de
>
> Lou.
>
>
>
>
>
>
>
> On Fri, Jul 7, 2017 at 8:11 AM, Lou DeGenaro <lo...@gmail.com>
> wrote:
>
> > --driver_descriptor_CR_overrides "key1=value1 key2=value2 key3=value3"
> >
> > Hope this helps.
> >
> > Lou.
> >
> > On Fri, Jul 7, 2017 at 5:37 AM, Wahed Hemati <hemati@em.uni-frankfurt.de
> >
> > wrote:
> >
> >> Hi,
> >> how do i pass a multi-valued parameter for
> driver_descriptor_CR_overrides
> >> in my job descriptor.
> >> the line looks currently like this:
> >>
> >> driver_descriptor_CR_overrides sourceLocation=test/Books
> >> patterns=[+]**/*.txt language=de
> >>
> >> I get the following exception:
> >>
> >> Caused by: org.apache.uima.resource.ResourceConfigurationException:
> >> Configuration parameter "patterns" in component "reader.Reader" is
> >> multi-valued and must be assigned an array for its value.
> >>
> >> -Best
> >>
> >> Wahed
> >>
> >>
> >
>
Re: DUCC multi-valued parameter in job descriptor
Posted by Lou DeGenaro <lo...@gmail.com>.
In my CR xml I put:
...
<configurationParameter>
<name>language</name>
<description>Language</description>
<type>String</type>
<multiValued>false</multiValued>
<mandatory>false</mandatory>
</configurationParameter>
<configurationParameter>
<name>patterns</name>
<description>Patterns</description>
<type>String</type>
<multiValued>false</multiValued>
<mandatory>false</mandatory>
</configurationParameter>
<configurationParameter>
<name>sourceLocation</name>
<description>Source Location</description>
<type>String</type>
<multiValued>false</multiValued>
<mandatory>false</mandatory>
</configurationParameter>
...
In my submitted job spec I put:
--driver_descriptor_CR_overrides "sourceLocation=test/Books
patterns=[+]**/*.txt language=de"
In my CR.java I put in the initialize() method:
String sourceLocation = ((String)
getConfigParameterValue("sourceLocation"));
logger.log(Level.INFO, " ****** BB sourceLocation: " +
sourceLocation);
String patterns = ((String) getConfigParameterValue("patterns"));
logger.log(Level.INFO, " ****** BB patterns: " + patterns);
String language = ((String) getConfigParameterValue("language"));
logger.log(Level.INFO, " ****** BB language: " + language);
And in the log output I see:
Jul 07, 2017 9:51:04 AM org.apache.uima.ducc.test.randomsleep.CR initialize(90)
INFO: ****** BB sourceLocation: test/Books
Jul 07, 2017 9:51:04 AM org.apache.uima.ducc.test.randomsleep.CR initialize(92)
INFO: ****** BB patterns: [+]**/*.txt
Jul 07, 2017 9:51:04 AM org.apache.uima.ducc.test.randomsleep.CR initialize(94)
INFO: ****** BB language: de
Lou.
On Fri, Jul 7, 2017 at 8:11 AM, Lou DeGenaro <lo...@gmail.com> wrote:
> --driver_descriptor_CR_overrides "key1=value1 key2=value2 key3=value3"
>
> Hope this helps.
>
> Lou.
>
> On Fri, Jul 7, 2017 at 5:37 AM, Wahed Hemati <he...@em.uni-frankfurt.de>
> wrote:
>
>> Hi,
>> how do i pass a multi-valued parameter for driver_descriptor_CR_overrides
>> in my job descriptor.
>> the line looks currently like this:
>>
>> driver_descriptor_CR_overrides sourceLocation=test/Books
>> patterns=[+]**/*.txt language=de
>>
>> I get the following exception:
>>
>> Caused by: org.apache.uima.resource.ResourceConfigurationException:
>> Configuration parameter "patterns" in component "reader.Reader" is
>> multi-valued and must be assigned an array for its value.
>>
>> -Best
>>
>> Wahed
>>
>>
>
Re: DUCC multi-valued parameter in job descriptor
Posted by Lou DeGenaro <lo...@gmail.com>.
--driver_descriptor_CR_overrides "key1=value1 key2=value2 key3=value3"
Hope this helps.
Lou.
On Fri, Jul 7, 2017 at 5:37 AM, Wahed Hemati <he...@em.uni-frankfurt.de>
wrote:
> Hi,
> how do i pass a multi-valued parameter for driver_descriptor_CR_overrides
> in my job descriptor.
> the line looks currently like this:
>
> driver_descriptor_CR_overrides sourceLocation=test/Books
> patterns=[+]**/*.txt language=de
>
> I get the following exception:
>
> Caused by: org.apache.uima.resource.ResourceConfigurationException:
> Configuration parameter "patterns" in component "reader.Reader" is
> multi-valued and must be assigned an array for its value.
>
> -Best
>
> Wahed
>
>