Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/ServiceRegistrationImpl.java17
1 files changed, 14 insertions, 3 deletions
diff --git a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/ServiceRegistrationImpl.java b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/ServiceRegistrationImpl.java
index cc9a23e95..e5b9cb5a4 100644
--- a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/ServiceRegistrationImpl.java
+++ b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/ServiceRegistrationImpl.java
@@ -619,13 +619,24 @@ public class ServiceRegistrationImpl implements ServiceRegistration {
for (int i = 0; i < size; i++) {
String key = keys[i];
if (!key.equals(Constants.OBJECTCLASS)) {
- if (n > 0) {
+ if (n > 0)
sb.append(", "); //$NON-NLS-1$
- }
sb.append(key);
sb.append('=');
- sb.append(get(key));
+ Object value = get(key);
+ if (value.getClass().isArray()) {
+ sb.append('[');
+ int length = Array.getLength(value);
+ for (int j = 0; j < length; j++) {
+ if (j > 0)
+ sb.append(',');
+ sb.append(Array.get(value, j));
+ }
+ sb.append(']');
+ } else {
+ sb.append(value);
+ }
n++;
}
}

Back to the top