1 package org
.argeo
.cms
.ui
.workbench
.osgi
;
3 import org
.argeo
.eclipse
.ui
.TreeParent
;
4 import org
.osgi
.framework
.Bundle
;
5 import org
.osgi
.framework
.ServiceReference
;
7 /** A tree element representing a {@link ServiceReference} */
8 @SuppressWarnings({ "rawtypes" })
9 class ServiceReferenceNode
extends TreeParent
{
10 private final ServiceReference serviceReference
;
11 private final boolean published
;
13 public ServiceReferenceNode(ServiceReference serviceReference
,
15 super(serviceReference
.toString());
16 this.serviceReference
= serviceReference
;
17 this.published
= published
;
20 Bundle
[] usedBundles
= serviceReference
.getUsingBundles();
21 if (usedBundles
!= null) {
22 for (Bundle b
: usedBundles
) {
24 addChild(new BundleNode(b
));
28 Bundle provider
= serviceReference
.getBundle();
29 addChild(new BundleNode(provider
));
32 for (String key
: serviceReference
.getPropertyKeys()) {
33 addChild(new TreeParent(key
+ "="
34 + serviceReference
.getProperty(key
)));
39 public ServiceReference
getServiceReference() {
40 return serviceReference
;
43 public boolean isPublished() {