Richard Eckart de Castilho created UIMA-3928:
------------------------------------------------

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


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
(v6.2#6252)

Reply via email to