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] [Commented] (UIMA-6214) Method signature clash in ExternalResourceFactory
Date Fri, 10 Apr 2020 12:20:00 GMT

    [ https://issues.apache.org/jira/browse/UIMA-6214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17080446#comment-17080446
] 

Richard Eckart de Castilho commented on UIMA-6214:
--------------------------------------------------

The actual changes made differ slightly from the proposal above - in particular there are
two kinds of {{bindResourcesOnce}} - one with and one without binding of nested resources.
The ones without nested resources have been renamed to {{bindResourcesOnceWithoutNested}}.

Also, another {{bindResources}} call taking a URL as the last argument was deprecated and
renamed to {{bindResourcesUsingUrl}}.

The migration section of the documentation describes the changes in detail.

> Method signature clash in ExternalResourceFactory
> -------------------------------------------------
>
>                 Key: UIMA-6214
>                 URL: https://issues.apache.org/jira/browse/UIMA-6214
>             Project: UIMA
>          Issue Type: Bug
>          Components: uimaFIT
>    Affects Versions: 3.0.0uimaFIT
>            Reporter: Richard Eckart de Castilho
>            Assignee: Richard Eckart de Castilho
>            Priority: Major
>             Fix For: 3.1.0uimaFIT
>
>
> The renaming of methods in the ExternalResourceFactory between uimaFIT v2 and v3 was
designed to remove ambiguities between the method signatures. However, it has introduced a
new set of ambiguities...
> There are a few methods meant do bind a resource to one particular thing (resource manager,
component, other resource)
> * {{void bindResource(ResourceCreationSpecifier aDesc, String aBindTo, ExternalResourceDescription
aRes)}}
> * {{void bindResource(ResourceCreationSpecifier aDesc, String aBindTo, String aRes)}}
> * {{void bindResource(ResourceManagerConfiguration aResMgrCfg, String aBindTo, String
aRes)}}
> * {{void bindResource(ExternalResourceDescription aRes, String aBindTo, ExternalResourceDescription
aNestedRes)}}
> * {{void bindResource(ResourceManagerConfiguration aResMgrCfg, String aBindTo, ExternalResourceDescription
aRes)}}
> Then, there is another bunch of methods meant to scan objects recursively and bind resources
wherever applicable:
> * {{void bindResource(ResourceSpecifier aDesc, String aKey, ExternalResourceDescription
aResDesc)}}
> * {{void bindResource(ResourceSpecifier aDesc, String aKey, String aUrl)}}
> * {{void bindResource(ResourceSpecifier aDesc, Class<? extends Resource> aRes,
String... aParams)}}
> * {{void bindResource(ResourceSpecifier aDesc, Class<?> aApi, Class<? extends
Resource> aRes, String... aParams)}}
> * {{void bindResource(ResourceSpecifier aDesc, ExternalResourceDescription aResDesc)}}
> * {{void bindResource(ResourceSpecifier aDesc, String aKey, Class<? extends Resource>
aRes, String... aParams)}}
> * {{void bindResource(ResourceSpecifier aDesc, String aKey, File aFile)}}
> * {{void bindResource(ResourceSpecifier aDesc, String aKey, URL aUrl)}}
> * {{void bindResourceUsingUrl(ResourceSpecifier aDesc, Class<? extends SharedResourceObject>
aRes, String aUrl, Object... aParams)}}
> * {{void bindResourceUsingUrl(ResourceSpecifier aDesc, Class<?> aApi, Class<?
extends SharedResourceObject> aRes, String aUrl, Object... aParams)}}
> * {{void bindResourceUsingUrl(ResourceSpecifier aDesc, String aKey, Class<? extends
SharedResourceObject> aRes, String aUrl, Object... aParams)}}
> There is in particular a conflict between these pairs because {{ResourceCreationSpecifier}}
is a subclass of {{ResourceSpecifier}}
> *Pair 1*
> * bind specifically: {{void bindResource(ResourceCreationSpecifier aDesc, String aBindTo,
ExternalResourceDescription aRes)}}
> * scan recursively: {{void bindResource(ResourceSpecifier aDesc, String aKey, ExternalResourceDescription
aResDesc)}}
> *Pair 2*
> * bind specifically: {{void bindResource(ResourceCreationSpecifier aDesc, String aBindTo,
String aRes)}}
> * scan recursively: {{void bindResource(ResourceSpecifier aDesc, String aKey, String
aUrl)}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message