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

Justin Edelson closed SLING-1548.
---------------------------------


> Move bundle event handling to Loader (from AbstractSlingRepository)
> -------------------------------------------------------------------
>
>                 Key: SLING-1548
>                 URL: https://issues.apache.org/jira/browse/SLING-1548
>             Project: Sling
>          Issue Type: Bug
>          Components: JCR
>    Affects Versions: JCR Base 2.0.6
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: JCR Base 2.1.0
>
>         Attachments: SLING-1548.patch
>
>
> I am looking at a strange situation starting Sling Trunk build. Not all 
> namespace prefixes seem to be registered in the Loader class of the JCR Base 
> bundle.
> IMHO the setup in the JCR Base Bundle between the AbstractSlingRepository and 
> the Loader is not optimal:
>   * AbstractSlingRepository implements SynchronousBundleListener
>      to just forward the events to the Loader
>   * There is a time gap between the time the Loader class is
>      instantiated (and handling a set of bundles) and the time
>      AbstractSlingRepository is registered as a bundle listener
>   * There is a bug in the Loader constructor preventing all
>      just INSTALLED bundles from being registered by the BundleListener
>      only handles the INSTALLED (and UNINSTALLED and UPDATED) events.
> The last part will certainly miss some bundles.
> I suggest we change this setup such, that the Loader itself is the bundle 
> listener handles the events itself. The AbstractSlingRepository just sets up 
> the loader and uses it.
> As a result handling events is completely where it should be (in the Loader) 
> and the AbstractSlingRepository does not leak implementation detail (being a 
> bundle listener) to downstream extensions of the class.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to