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
>
>