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

Amichai Rothman commented on DOSGI-184:
---------------------------------------

+1 on splitting it, the topology manager and some other components could sure 
use some simplification.

The fix on trunk has a little bug though: EndpointRepository.getServices() 
leaks the inner structure to its caller(s), which then access it without proper 
synchronization. The simplest fix would be to return a copy of the set, 
although filtering via isAlreadyExportedForRsa internally and then returning 
only the non-exported services might also be nice, adding a bit more 
encapsulation.

Also, the class is public but none of its methods are (they are 
package-visible) - it would be clearer if the methods were made public as well.

                
> Split Endpoint repository from TopologyManagerExport
> ----------------------------------------------------
>
>                 Key: DOSGI-184
>                 URL: https://issues.apache.org/jira/browse/DOSGI-184
>             Project: CXF Distributed OSGi
>          Issue Type: Improvement
>    Affects Versions: 1.4.0
>            Reporter: Christian Schneider
>            Assignee: Christian Schneider
>             Fix For: 1.5
>
>
> The TopologyManager is a bit difficult to understand as it manages the known 
> services map and also has to do the communication with ServiceListener, 
> EndpointListenerNotifer and RemoteServiceAdmin. 
> Especially the synchronized blocks make the code complicated. 
> So I propose to split the handling of the map of known Endpoints into a 
> EndpointRepository.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to