RESOLVED - bug 277573: [RFC119] Make remote service identifiable in service registry by setting ServicePublication.ENDPOINT_ID https://bugs.eclipse.org/bugs/show_bug.cgi?id=277573
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DiscoveredServiceTrackerImpl.java b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DiscoveredServiceTrackerImpl.java index de8d61f..9fb2051 100644 --- a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DiscoveredServiceTrackerImpl.java +++ b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DiscoveredServiceTrackerImpl.java
@@ -32,6 +32,7 @@ import org.eclipse.ecf.osgi.services.discovery.RemoteServiceEndpointDescription; import org.eclipse.ecf.osgi.services.discovery.RemoteServicePublication; import org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription; +import org.eclipse.ecf.osgi.services.discovery.ServicePublication; import org.eclipse.ecf.osgi.services.distribution.IDistributionConstants; import org.eclipse.ecf.osgi.services.distribution.IProxyContainerFinder; import org.eclipse.ecf.osgi.services.distribution.IProxyDistributionListener; @@ -60,6 +61,7 @@ org.eclipse.ecf.remoteservice.Constants.SERVICE_ID, org.eclipse.ecf.remoteservice.Constants.SERVICE_CONTAINER_ID, org.eclipse.ecf.remoteservice.Constants.SERVICE_RANKING, + IDistributionConstants.SERVICE_EXPORTED_CONFIGS, RemoteServicePublication.ENDPOINT_ID, RemoteServicePublication.ENDPOINT_INTERFACE_NAME, RemoteServicePublication.ENDPOINT_LOCATION, @@ -686,6 +688,15 @@ props.put(propKeys[i], rsReference.getProperty(propKeys[i])); } } + + // make the service identifiable by consumers + // especially org.eclipse.ecf.remoteservice.ui.dosgi + final ID endpointId = (ID) rsReference + .getProperty(org.eclipse.ecf.remoteservice.Constants.SERVICE_CONTAINER_ID); + final Long serviceId = (Long) rsReference + .getProperty(org.eclipse.ecf.remoteservice.Constants.SERVICE_ID); + props.put(ServicePublication.ENDPOINT_ID, endpointId + "#" + serviceId); //$NON-NLS-1$ + // finally add service.imported.configs addImportedConfigsProperties( getContainerTypeDescription(rsContainer.getContainer()),