70 private static final String SERVICE_EXTENSION = RemoteConnectionsActivator.PLUGIN_ID + ".service"; //$NON-NLS-1$ |
70 private static final String SERVICE_EXTENSION = RemoteConnectionsActivator.PLUGIN_ID + ".service"; //$NON-NLS-1$ |
71 private static final String CONNECTED_SERVICE_FACTORY_EXTENSION = RemoteConnectionsActivator.PLUGIN_ID + ".connectedServiceFactory"; //$NON-NLS-1$ |
71 private static final String CONNECTED_SERVICE_FACTORY_EXTENSION = RemoteConnectionsActivator.PLUGIN_ID + ".connectedServiceFactory"; //$NON-NLS-1$ |
72 private static final String CONNECTION_DATA_XML = "connectionData.xml"; //$NON-NLS-1$ |
72 private static final String CONNECTION_DATA_XML = "connectionData.xml"; //$NON-NLS-1$ |
73 private static final String NAME_SUFFIX_PATTERN = "(.+) \\((\\d+)\\)"; //$NON-NLS-1$ |
73 private static final String NAME_SUFFIX_PATTERN = "(.+) \\((\\d+)\\)"; //$NON-NLS-1$ |
74 private static final String NAME_FMT = "{0} ({1})"; //$NON-NLS-1$ |
74 private static final String NAME_FMT = "{0} ({1})"; //$NON-NLS-1$ |
75 private static Registry instance; |
75 private static Registry instance = new Registry(); |
76 |
76 |
77 private List<IExtensionFilter> extensionFilters; |
77 private List<IExtensionFilter> extensionFilters; |
78 private Map<String, IConnectionType> connectionTypeIdMap; |
78 private Map<String, IConnectionType> connectionTypeIdMap; |
79 private ArrayList<IService> services; |
79 private ArrayList<IService> services; |
80 private Map<IConnectionType, Collection<IService>> connectionTypeToServices; |
80 private Map<IConnectionType, Collection<IService>> connectionTypeToServices; |
83 private List<IConnectedServiceFactory> connectedServiceFactories; |
83 private List<IConnectedServiceFactory> connectedServiceFactories; |
84 private ListenerList<IConnectionListener> connectionListeners; |
84 private ListenerList<IConnectionListener> connectionListeners; |
85 private IConnection defaultConnection; |
85 private IConnection defaultConnection; |
86 |
86 |
87 public static Registry instance() { |
87 public static Registry instance() { |
88 if (instance == null) { |
|
89 instance = new Registry(); |
|
90 } |
|
91 |
|
92 return instance; |
88 return instance; |
93 } |
89 } |
94 |
90 |
95 private Registry() { |
91 private Registry() { |
96 // private because is singleton |
92 // private because is singleton |
478 if (connectionListeners != null) |
474 if (connectionListeners != null) |
479 connectionListeners.remove(listener); |
475 connectionListeners.remove(listener); |
480 } |
476 } |
481 |
477 |
482 private void fireConnectionAdded(IConnection connection) { |
478 private void fireConnectionAdded(IConnection connection) { |
483 if (listeners == null) |
479 if (connectionListeners == null) |
484 return; |
480 return; |
485 for (IConnectionListener listener : connectionListeners) { |
481 for (IConnectionListener listener : connectionListeners) { |
486 listener.connectionAdded(connection); |
482 listener.connectionAdded(connection); |
487 } |
483 } |
488 } |
484 } |
489 |
485 |
490 private void fireConnectionRemoved(IConnection connection) { |
486 private void fireConnectionRemoved(IConnection connection) { |
491 if (listeners == null) |
487 if (connectionListeners == null) |
492 return; |
488 return; |
493 for (IConnectionListener listener : connectionListeners) { |
489 for (IConnectionListener listener : connectionListeners) { |
494 listener.connectionRemoved(connection); |
490 listener.connectionRemoved(connection); |
495 } |
491 } |
496 } |
492 } |
497 |
493 |
498 private void fireDefaultConnectionSet(IConnection connection) { |
494 private void fireDefaultConnectionSet(IConnection connection) { |
499 if (listeners == null) |
495 if (connectionListeners == null) |
500 return; |
496 return; |
501 for (IConnectionListener listener : connectionListeners) { |
497 for (IConnectionListener listener : connectionListeners) { |
502 listener.defaultConnectionSet(connection); |
498 listener.defaultConnectionSet(connection); |
503 } |
499 } |
504 } |
500 } |