Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/osgi
diff options
context:
space:
mode:
authorMarkus Alexander Kuppe2014-01-08 16:12:32 +0000
committerMarkus Alexander Kuppe2014-01-15 10:30:40 +0000
commite1dc4d2248e0574c54e071aa2c2f528a380ed8c0 (patch)
tree9ee1dba80a834c0a03fafac6683255db6c269afc /osgi
parenteb843039e94ac2899e4d70a1ddb0a327f2cce549 (diff)
downloadorg.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')
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/PropertiesUtil.java13
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java10
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);

Back to the top