uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard Eckart de Castilho (JIRA)" <...@uima.apache.org>
Subject [jira] [Created] (UIMA-3928) createExternalResourceDescription() signatures shadowing each other
Date Tue, 01 Jul 2014 18:52:24 GMT
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)

Mime
View raw message