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

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

> Wrong session set on ConfigurationManager in aggregates
> -------------------------------------------------------
>
>                 Key: UIMA-6386
>                 URL: https://issues.apache.org/jira/browse/UIMA-6386
>             Project: UIMA
>          Issue Type: Bug
>          Components: Core Java Framework
>            Reporter: Richard Eckart de Castilho
>            Assignee: Richard Eckart de Castilho
>            Priority: Major
>             Fix For: 3.3.0SDK, 3.2.1SDK
>
>
> When initializing a component, then {{Resource_ImplBase}} sets the 
> {{Session}} of the {{ConfigurationManager}} of the current {{UimaContext}} 
> using the {{Session}} of the current {{UimaContext}}:
> {org.apache.uima.resource.Resource_ImplBase.initialize(ResourceSpecifier, 
> Map<String, Object>)}
> {code}
>         mUimaContextAdmin.getConfigurationManager()
>                 .setSession(mUimaContextAdmin.getSession());
> {code}
> However, this can set the wrong session on the {ConfigurationManager}. In a 
> hierarchy of {UimaContexts}, there is only one {ConfigurationManager} 
> associated with the {RootUimaContext_impl}. The {ChildUimaContext_impl} 
> delegate to their respective root in their {getConfigurationManager()} 
> methods. 
> So far so good.
> But the {Session} of returned by {ChildUimaContext_impl.getSession()}  is a 
> scoped {SessionNamespaceView_impl} instance which limits the view to the 
> parameters applicable to the child context. The problematic lines above cause 
> this scoped session view to be injected into the {ConfigurationManager} of 
> the {RootUimaContext_impl} which can cause configuration parameters at the 
> root level to become inaccessible.
> At least, the code would need to be changed to 
> {code}
>         mUimaContextAdmin.getConfigurationManager()
>                 .setSession(mUimaContextAdmin.getRootContext().getSession());
> {code}
> but instead of doing that, the code could probably also be change to inject 
> the session when creating the {RootUimaContext_impl} in the first place.



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

Reply via email to