[ 
https://issues.apache.org/jira/browse/UIMA-3928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Richard Eckart de Castilho resolved UIMA-3928.
----------------------------------------------
    Resolution: Fixed

Changed signatures, changed method names to avoid signature clashes, also 
shortened method names. Quite a bit incompatible change ;)

> createExternalResourceDescription() signatures shadowing each other
> -------------------------------------------------------------------
>
>                 Key: UIMA-3928
>                 URL: https://issues.apache.org/jira/browse/UIMA-3928
>             Project: UIMA
>          Issue Type: Bug
>          Components: uimaFIT
>    Affects Versions: 2.0.0uimaFIT
>            Reporter: Richard Eckart de Castilho
>            Assignee: Richard Eckart de Castilho
>            Priority: Major
>             Fix For: 3.0.0uimaFIT
>
>
> The method 
> {noformat}
> ExternalResourceDescription createExternalResourceDescription(
>   Class<? extends SharedResourceObject> aInterface, 
>   String aUrl, 
>   Object... aParams)
> {noformat}
> can be invoked if the user actually wanted to call the method
> {noformat}
> ExternalResourceDescription createExternalResourceDescription(
>   Class<? extends Resource> aInterface, 
>   Object... aParams)
> {noformat}
> E.g.
> {noformat}
> createExternalResourceDescription(
>         MyResource,
>         MyResource.PARAM_VALUE, 
>         "myvalue"))
> {noformat}
> Java seems to be smart enough to invoke the correct method, but when calling 
> this from Groovy, it fails:
> {noformat}
> Caught: java.lang.IllegalArgumentException: Parameter arguments have to come 
> in key/value pairs, but found odd number of arguments [3]
> java.lang.IllegalArgumentException: Parameter arguments have to come in 
> key/value pairs, but found odd number of arguments [3]
>       at 
> org.apache.uima.fit.factory.ConfigurationParameterFactory.ensureParametersComeInPairs(ConfigurationParameterFactory.java:531)
>       at 
> org.apache.uima.fit.factory.ConfigurationParameterFactory.createConfigurationData(ConfigurationParameterFactory.java:374)
>       at 
> org.apache.uima.fit.factory.ExternalResourceFactory.createExternalResourceDescription(ExternalResourceFactory.java:277)
>       at 
> org.apache.uima.fit.factory.ExternalResourceFactory.createExternalResourceDescription(ExternalResourceFactory.java:213)
> {noformat}
> A workaround is currently to cast the first parameter name to Object:
> {noformat}
> createExternalResourceDescription(
>         MyResource,
>         (Object) MyResource.PARAM_VALUE, 
>         "myvalue"))
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to