[
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