summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/node-impl-osgi/src/main
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-07-16 06:52:55 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-07-16 06:52:55 +0000
commitb264fae6da998eb032462b7287711d891498cd3e (patch)
tree9342de7ff260bba4568f5975e49a4d7b7cd58c80 /java/sca/modules/node-impl-osgi/src/main
parentce9150bd4c4880a4032030213de8626c21764bfd (diff)
Refactor the OSGi discovery service into node-implementation-osgi
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@794553 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/AbstractDiscoveryService.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/AbstractDiscoveryService.java)10
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DiscoveredServiceNotificationImpl.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DiscoveredServiceNotificationImpl.java)0
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DiscoveryActivator.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DiscoveryActivator.java)0
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DomainDiscoveryService.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DomainDiscoveryService.java)6
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/EndpointDescription.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/EndpointDescription.java)0
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/EndpointPublication.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/EndpointPublication.java)0
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/LocalDiscoveryService.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/LocalDiscoveryService.java)8
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/ServiceEndpointDescriptionImpl.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/ServiceEndpointDescriptionImpl.java)0
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/NodeActivator.java17
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/NodeManager.java2
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/OSGiServiceExporter.java127
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/DiscoveredServiceNotification.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/DiscoveredServiceNotification.java)0
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/DiscoveredServiceTracker.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/DiscoveredServiceTracker.java)0
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/Discovery.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/Discovery.java)0
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/ServiceEndpointDescription.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/ServiceEndpointDescription.java)0
-rw-r--r--java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/ServicePublication.java (renamed from java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/ServicePublication.java)0
16 files changed, 162 insertions, 8 deletions
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/AbstractDiscoveryService.java b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/AbstractDiscoveryService.java
index 75c5bc39f9..780fd73c95 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/AbstractDiscoveryService.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/AbstractDiscoveryService.java
@@ -36,6 +36,8 @@ import java.util.logging.Logger;
import org.apache.tuscany.sca.assembly.Endpoint;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeFactoryImpl;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Filter;
@@ -56,6 +58,8 @@ public abstract class AbstractDiscoveryService implements Discovery {
private final static Logger logger = Logger.getLogger(AbstractDiscoveryService.class.getName());
protected BundleContext context;
+ protected ExtensionPointRegistry registry;
+
private Map<String, List<DiscoveredServiceTracker>> filtersToTrackers =
new HashMap<String, List<DiscoveredServiceTracker>>();
private Map<String, List<DiscoveredServiceTracker>> interfacesToTrackers =
@@ -102,12 +106,14 @@ public abstract class AbstractDiscoveryService implements Discovery {
}
protected ExtensionPointRegistry getExtensionPointRegistry() {
+ NodeFactoryImpl factory = (NodeFactoryImpl) NodeFactory.newInstance();
+ factory.init();
ServiceTracker tracker = new ServiceTracker(context, ExtensionPointRegistry.class.getName(), null);
tracker.open();
// tracker.waitForService(1000);
- ExtensionPointRegistry extensionPointRegistry = (ExtensionPointRegistry)tracker.getService();
+ registry = (ExtensionPointRegistry)tracker.getService();
tracker.close();
- return extensionPointRegistry;
+ return registry;
}
private synchronized void cacheTracker(ServiceReference reference, Object service) {
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DiscoveredServiceNotificationImpl.java b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DiscoveredServiceNotificationImpl.java
index a110fa9528..a110fa9528 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DiscoveredServiceNotificationImpl.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DiscoveredServiceNotificationImpl.java
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DiscoveryActivator.java b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DiscoveryActivator.java
index 9497619b5b..9497619b5b 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DiscoveryActivator.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DiscoveryActivator.java
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DomainDiscoveryService.java b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DomainDiscoveryService.java
index 97eddfa9e5..3136c4cbc9 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DomainDiscoveryService.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/DomainDiscoveryService.java
@@ -27,7 +27,6 @@ import java.util.concurrent.ConcurrentHashMap;
import org.apache.tuscany.sca.assembly.Endpoint;
import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.UtilityExtensionPoint;
import org.apache.tuscany.sca.implementation.osgi.OSGiImplementation;
import org.apache.tuscany.sca.interfacedef.Interface;
@@ -51,8 +50,11 @@ public class DomainDiscoveryService extends AbstractDiscoveryService implements
public DomainDiscoveryService(BundleContext context) {
super(context);
+ init();
+ }
- ExtensionPointRegistry registry = getExtensionPointRegistry();
+ private void init() {
+ getExtensionPointRegistry();
this.endpointRegistry =
registry.getExtensionPoint(UtilityExtensionPoint.class).getUtility(EndpointRegistry.class);
this.endpointRegistry.addListener(this);
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/EndpointDescription.java b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/EndpointDescription.java
index 3f47183a56..3f47183a56 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/EndpointDescription.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/EndpointDescription.java
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/EndpointPublication.java b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/EndpointPublication.java
index 184d3a12bf..184d3a12bf 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/EndpointPublication.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/EndpointPublication.java
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/LocalDiscoveryService.java b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/LocalDiscoveryService.java
index d39ee4712f..43a19f98cc 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/LocalDiscoveryService.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/LocalDiscoveryService.java
@@ -31,7 +31,6 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.implementation.osgi.ServiceDescriptions;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
@@ -40,12 +39,15 @@ import org.osgi.framework.BundleListener;
import org.osgi.service.discovery.ServiceEndpointDescription;
public class LocalDiscoveryService extends AbstractDiscoveryService implements BundleListener {
- private ExtensionPointRegistry registry;
public LocalDiscoveryService(BundleContext context) {
super(context);
+ init();
+ }
+
+ private void init() {
context.addBundleListener(this);
- this.registry = getExtensionPointRegistry();
+ getExtensionPointRegistry();
processExistingBundles();
}
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/ServiceEndpointDescriptionImpl.java b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/ServiceEndpointDescriptionImpl.java
index 949405472f..949405472f 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/apache/tuscany/sca/dosgi/discovery/ServiceEndpointDescriptionImpl.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/dosgi/discovery/ServiceEndpointDescriptionImpl.java
diff --git a/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/NodeActivator.java b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/NodeActivator.java
index 43892d44d8..00b0b680be 100644
--- a/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/NodeActivator.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/NodeActivator.java
@@ -21,6 +21,7 @@ package org.apache.tuscany.sca.node.osgi.impl;
import static org.apache.tuscany.sca.node.osgi.impl.NodeManager.isSCABundle;
+import org.apache.tuscany.sca.dosgi.discovery.DiscoveryActivator;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
@@ -34,6 +35,9 @@ public class NodeActivator implements BundleActivator, SynchronousBundleListener
private static BundleContext bundleContext;
private boolean inited;
private NodeManager manager;
+
+ private DiscoveryActivator discoveryActivator = new DiscoveryActivator();
+ private OSGiServiceExporter exporter;
private void init() {
synchronized (this) {
@@ -49,6 +53,15 @@ public class NodeActivator implements BundleActivator, SynchronousBundleListener
public void start(BundleContext context) throws Exception {
bundleContext = context;
+
+ // FIXME: We should try to avoid aggressive initialization
+ init();
+
+ exporter = new OSGiServiceExporter(context);
+ exporter.start();
+
+ discoveryActivator.start(context);
+
boolean found = false;
for (Bundle b : context.getBundles()) {
if (isSCABundle(b)) {
@@ -67,6 +80,10 @@ public class NodeActivator implements BundleActivator, SynchronousBundleListener
public void stop(BundleContext context) throws Exception {
context.removeBundleListener(this);
bundleContext = null;
+ exporter.stop();
+ exporter = null;
+ discoveryActivator.stop(context);
+ discoveryActivator = null;
}
public static BundleContext getBundleContext() {
diff --git a/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/NodeManager.java b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/NodeManager.java
index 3f71117c1a..6914e09b8e 100644
--- a/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/NodeManager.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/NodeManager.java
@@ -39,7 +39,7 @@ import org.osgi.framework.SynchronousBundleListener;
public class NodeManager implements SynchronousBundleListener, ServiceListener {
private static final Logger logger = Logger.getLogger(NodeManager.class.getName());
private BundleContext bundleContext;
- private OSGiNodeFactoryImpl factory;
+ OSGiNodeFactoryImpl factory;
public NodeManager(BundleContext bundleContext) {
super();
diff --git a/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/OSGiServiceExporter.java b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/OSGiServiceExporter.java
new file mode 100644
index 0000000000..329ce09a5b
--- /dev/null
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/OSGiServiceExporter.java
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.node.osgi.impl;
+
+import java.util.Collections;
+
+import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.implementation.osgi.introspection.ExportedServiceIntrospector;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.configuration.NodeConfiguration;
+import org.apache.tuscany.sca.node.impl.NodeFactoryImpl;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Filter;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+import org.osgi.util.tracker.ServiceTracker;
+import org.osgi.util.tracker.ServiceTrackerCustomizer;
+
+/**
+ * Watching and exporting OSGi services
+ */
+public class OSGiServiceExporter implements ServiceTrackerCustomizer {
+ private ExtensionPointRegistry registry;
+ private BundleContext context;
+ private ServiceTracker serviceTracker;
+ private NodeFactoryImpl nodeFactory;
+ private ExportedServiceIntrospector introspector;
+
+ /**
+ * @param context
+ * @param clazz
+ * @param customizer
+ */
+ public OSGiServiceExporter(BundleContext context) {
+ this.context = context;
+ }
+
+ private synchronized void init() {
+ if (nodeFactory == null) {
+ this.nodeFactory = (NodeFactoryImpl)NodeFactory.newInstance();
+ this.nodeFactory.init();
+ this.introspector = new ExportedServiceIntrospector(getExtensionPointRegistry());
+ }
+ }
+
+ public void start() {
+ String filterStr = "(& (osgi.remote.configuration.type=sca) (osgi.remote.interfaces=*) (!(osgi.remote=true)) )";
+ try {
+ Filter filter = context.createFilter(filterStr);
+ serviceTracker = new ServiceTracker(context, filter, this);
+ serviceTracker.open(true);
+ } catch (InvalidSyntaxException e) {
+ // Ignore
+ }
+ }
+
+ public void stop() {
+ if (serviceTracker != null) {
+ serviceTracker.close();
+ serviceTracker = null;
+ }
+ }
+
+ public Object addingService(ServiceReference reference) {
+ init();
+ try {
+ Contribution contribution = introspector.introspect(reference);
+ if (contribution != null) {
+
+ NodeConfiguration configuration = nodeFactory.createNodeConfiguration();
+ configuration.setURI(String.valueOf(reference.getProperty("service.id")));
+ configuration.getExtensions().add(reference.getBundle());
+ // FIXME: Configure the domain and node URI
+ NodeImpl node = new NodeImpl(nodeFactory, configuration, Collections.singletonList(contribution));
+ return node.start();
+ } else {
+ return null;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ public void modifiedService(ServiceReference reference, Object service) {
+ Node node = (Node)service;
+ node.stop();
+ node.start();
+ }
+
+ public void removedService(ServiceReference reference, Object service) {
+ Node node = (Node)service;
+ node.stop();
+ }
+
+ protected ExtensionPointRegistry getExtensionPointRegistry() {
+ if (registry == null) {
+ ServiceTracker tracker = new ServiceTracker(context, ExtensionPointRegistry.class.getName(), null);
+ tracker.open();
+ // tracker.waitForService(1000);
+ registry = (ExtensionPointRegistry)tracker.getService();
+ tracker.close();
+ }
+ return registry;
+ }
+
+}
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/DiscoveredServiceNotification.java b/java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/DiscoveredServiceNotification.java
index 57de9c7c9d..57de9c7c9d 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/DiscoveredServiceNotification.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/DiscoveredServiceNotification.java
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/DiscoveredServiceTracker.java b/java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/DiscoveredServiceTracker.java
index efd158a2f5..efd158a2f5 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/DiscoveredServiceTracker.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/DiscoveredServiceTracker.java
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/Discovery.java b/java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/Discovery.java
index cca766a032..cca766a032 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/Discovery.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/Discovery.java
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/ServiceEndpointDescription.java b/java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/ServiceEndpointDescription.java
index e1f389ea78..e1f389ea78 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/ServiceEndpointDescription.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/ServiceEndpointDescription.java
diff --git a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/ServicePublication.java b/java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/ServicePublication.java
index 9b4cb4c905..9b4cb4c905 100644
--- a/java/sca/modules/implementation-osgi-runtime/src/main/java/org/osgi/service/discovery/ServicePublication.java
+++ b/java/sca/modules/node-impl-osgi/src/main/java/org/osgi/service/discovery/ServicePublication.java