You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Timothee Maret (JIRA)" <ji...@apache.org> on 2015/05/03 22:02:07 UTC

[jira] [Commented] (SLING-4685) Introduce generic discovery.commons.ViewStateManager sharable for impls

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

Timothee Maret commented on SLING-4685:
---------------------------------------

[~egli] I looked at current users of the api and it seems they expect the init view to be valid, in some cases in order to define the cluster identifier. Since the cluster identifier has to be stable. Introducing the proposition above would break those use cases. With this in mind, buffering the listeners until a valid (current) view seems to be the way forward.

> 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)