[ https://issues.apache.org/jira/browse/UIMA-6214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Richard Eckart de Castilho updated UIMA-6214: --------------------------------------------- Summary: Method signature clash in ExternalResourceFactory (was: Method signature class in ExternalResourceFactory) > 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)