diff options
author | Markus Alexander Kuppe | 2014-01-08 16:12:32 +0000 |
---|---|---|
committer | Markus Alexander Kuppe | 2014-01-15 10:30:40 +0000 |
commit | e1dc4d2248e0574c54e071aa2c2f528a380ed8c0 (patch) | |
tree | 9ee1dba80a834c0a03fafac6683255db6c269afc /osgi | |
parent | eb843039e94ac2899e4d70a1ddb0a327f2cce549 (diff) | |
download | org.eclipse.ecf-e1dc4d2248e0574c54e071aa2c2f528a380ed8c0.tar.gz org.eclipse.ecf-e1dc4d2248e0574c54e071aa2c2f528a380ed8c0.tar.xz org.eclipse.ecf-e1dc4d2248e0574c54e071aa2c2f528a380ed8c0.zip |
Bug 424262: Add support for distribution provider-specified
EndpointDescription properties
https://bugs.eclipse.org/bugs/show_bug.cgi?id=424262
Change-Id: I206f8ebb9ae00ff3133c0f87bf394d5c31875437
Diffstat (limited to 'osgi')
2 files changed, 8 insertions, 15 deletions
diff --git a/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/PropertiesUtil.java b/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/PropertiesUtil.java index f5b0ea6c2..486c30c34 100644 --- a/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/PropertiesUtil.java +++ b/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/PropertiesUtil.java @@ -359,15 +359,6 @@ public class PropertiesUtil { return target; } - public static Map<String, Object> copyNonECFProperties( - IRemoteServiceRegistration serviceRegistration, Map<String, Object> target) { - String[] keys = serviceRegistration.getPropertyKeys(); - for (int i = 0; i < keys.length; i++) - if (!isECFProperty(keys[i])) - target.put(keys[i], serviceRegistration.getProperty(keys[i])); - return target; - } - public static Map<String, Object> copyNonReservedProperties( ServiceReference serviceReference, Map<String, Object> target) { String[] keys = serviceReference.getPropertyKeys(); @@ -392,10 +383,6 @@ public class PropertiesUtil { overrides); } - public static Map mergeProperties(final IRemoteServiceRegistration remoteServiceRegistration, final Map<String, Object> properties) { - return copyProperties(copyNonECFProperties(remoteServiceRegistration, new HashMap()),properties); - } - public static Map mergeProperties(final Map<String, Object> source, final Map<String, Object> overrides) { diff --git a/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java b/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java index 1226c0ec9..d93cc8abe 100644 --- a/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java +++ b/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java @@ -39,6 +39,7 @@ import org.eclipse.ecf.internal.osgi.services.remoteserviceadmin.Activator; import org.eclipse.ecf.internal.osgi.services.remoteserviceadmin.DebugOptions; import org.eclipse.ecf.internal.osgi.services.remoteserviceadmin.LogUtility; import org.eclipse.ecf.internal.osgi.services.remoteserviceadmin.PropertiesUtil; +import org.eclipse.ecf.remoteservice.IExtendedRemoteServiceRegistration; import org.eclipse.ecf.remoteservice.IOSGiRemoteServiceContainerAdapter; import org.eclipse.ecf.remoteservice.IRemoteService; import org.eclipse.ecf.remoteservice.IRemoteServiceContainer; @@ -2024,8 +2025,13 @@ public class RemoteServiceAdmin implements .put(org.osgi.service.remoteserviceadmin.RemoteConstants.ENDPOINT_SERVICE_ID, remoteRegistration .getProperty(org.eclipse.ecf.remoteservice.Constants.SERVICE_ID)); - - endpointDescriptionProperties = PropertiesUtil.mergeProperties(remoteRegistration, endpointDescriptionProperties); + + if (remoteRegistration instanceof IExtendedRemoteServiceRegistration) { + IExtendedRemoteServiceRegistration iersr = (IExtendedRemoteServiceRegistration) remoteRegistration; + Map<String, Object> extraProperties = iersr.getExtraProperties(); + endpointDescriptionProperties = PropertiesUtil.mergeProperties(endpointDescriptionProperties, extraProperties); + + } EndpointDescription endpointDescription = new EndpointDescription( serviceReference, endpointDescriptionProperties); |