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

Stefan Egli updated SLING-4685:
-------------------------------
    Attachment: SLING-4685.patch

Attaching [^SLING-4685.patch] for review.

[~marett], [~cziegeler], would appreciate if you could review and comment on 
this new approach. The suggestion is to extract core components of different 
discovery implementations and 'share' it in discovery.commons. With the goal of 
both reducing code and making all implementations behave the same (for the 
shared aspects at least, that is)

> Introduce generic discovery.commons.ViewStateManager sharable for impls
> -----------------------------------------------------------------------
>
>                 Key: SLING-4685
>                 URL: https://issues.apache.org/jira/browse/SLING-4685
>             Project: Sling
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: Stefan Egli
>            Assignee: Stefan Egli
>             Fix For: Discovery Commons 1.0.0
>
>         Attachments: SLING-4685.patch
>
>
> With multiple discovery implementations existing/upcoming it starts to become 
> valuable to share code that can be shared. And with the introduction of 
> discovery.commons we have a nice place for this.
> As a first thing, I propose to introduce a discovery.commons.ViewStateManager 
> (the name can be changed if wished of course): this one is capable of 
> managing a number of TopologyChangeListeners, can be in deactivated/activated 
> state and can react on {{handleChanging}} and {{handleNewView}} events and 
> translates all of those to correct events that it sends to the registered 
> listeners accordingly.
> This also takes into account the fact that the TOPOLOGY_INIT should be sent 
> only when the first valid view is available - which is flagged to 
> ViewStateManager via {{handleNewView}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to