summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/RemoteServiceAdminImpl.java
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sca-java-2.x/trunk/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/RemoteServiceAdminImpl.java62
1 files changed, 36 insertions, 26 deletions
diff --git a/sca-java-2.x/trunk/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/RemoteServiceAdminImpl.java b/sca-java-2.x/trunk/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/RemoteServiceAdminImpl.java
index 28b2d864aa..994fb29e9b 100644
--- a/sca-java-2.x/trunk/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/RemoteServiceAdminImpl.java
+++ b/sca-java-2.x/trunk/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/RemoteServiceAdminImpl.java
@@ -27,12 +27,6 @@ import java.util.Hashtable;
import java.util.List;
import java.util.Map;
-import org.apache.tuscany.sca.osgi.remoteserviceadmin.EndpointDescription;
-import org.apache.tuscany.sca.osgi.remoteserviceadmin.ExportRegistration;
-import org.apache.tuscany.sca.osgi.remoteserviceadmin.ImportRegistration;
-import org.apache.tuscany.sca.osgi.remoteserviceadmin.RemoteServiceAdmin;
-import org.apache.tuscany.sca.osgi.remoteserviceadmin.RemoteServiceAdminEvent;
-import org.apache.tuscany.sca.osgi.remoteserviceadmin.RemoteServiceAdminListener;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
@@ -42,6 +36,14 @@ import org.osgi.service.cm.ConfigurationException;
import org.osgi.service.cm.ManagedService;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
+import org.osgi.service.remoteserviceadmin.EndpointDescription;
+import org.osgi.service.remoteserviceadmin.ExportReference;
+import org.osgi.service.remoteserviceadmin.ExportRegistration;
+import org.osgi.service.remoteserviceadmin.ImportReference;
+import org.osgi.service.remoteserviceadmin.ImportRegistration;
+import org.osgi.service.remoteserviceadmin.RemoteServiceAdmin;
+import org.osgi.service.remoteserviceadmin.RemoteServiceAdminEvent;
+import org.osgi.service.remoteserviceadmin.RemoteServiceAdminListener;
import org.osgi.util.tracker.ServiceTracker;
/**
@@ -56,8 +58,8 @@ public class RemoteServiceAdminImpl implements RemoteServiceAdmin, ManagedServic
private OSGiServiceExporter exporter;
private OSGiServiceImporter importer;
- private Collection<ImportRegistration> importedEndpoints = new ArrayList<ImportRegistration>();
- private Collection<ExportRegistration> exportedServices = new ArrayList<ExportRegistration>();
+ private Collection<ImportRegistration> importRegistrations = new ArrayList<ImportRegistration>();
+ private Collection<ExportRegistration> exportedRegistrations = new ArrayList<ExportRegistration>();
public RemoteServiceAdminImpl(BundleContext context) {
this.context = context;
@@ -97,14 +99,14 @@ public class RemoteServiceAdminImpl implements RemoteServiceAdmin, ManagedServic
listeners.close();
listeners = null;
}
- for (ExportRegistration exportRegistration : exportedServices) {
+ for (ExportRegistration exportRegistration : exportedRegistrations) {
exportRegistration.close();
}
- exportedServices.clear();
- for (ImportRegistration importRegistration : importedEndpoints) {
+ exportedRegistrations.clear();
+ for (ImportRegistration importRegistration : importRegistrations) {
importRegistration.close();
}
- importedEndpoints.clear();
+ importRegistrations.clear();
if (importer != null) {
importer.stop();
importer = null;
@@ -116,13 +118,13 @@ public class RemoteServiceAdminImpl implements RemoteServiceAdmin, ManagedServic
}
/**
- * @see org.apache.tuscany.sca.osgi.remoteserviceadmin.RemoteServiceAdmin#exportService(org.osgi.framework.ServiceReference,
+ * @see org.osgi.remoteserviceadmin.RemoteServiceAdmin#exportService(org.osgi.framework.ServiceReference,
* java.util.Map)
*/
public List<ExportRegistration> exportService(ServiceReference ref, Map properties) {
List<ExportRegistration> exportRegistrations = exporter.exportService(ref, properties);
if (exportRegistrations != null) {
- exportedServices.addAll(exportRegistrations);
+ exportRegistrations.addAll(exportedRegistrations);
fireExportEvents(ref.getBundle(), exportRegistrations);
}
return exportRegistrations;
@@ -131,8 +133,8 @@ public class RemoteServiceAdminImpl implements RemoteServiceAdmin, ManagedServic
private void fireExportEvents(Bundle source, List<ExportRegistration> exportRegistrations) {
for (ExportRegistration registration : exportRegistrations) {
RemoteServiceAdminEvent rsaEvent =
- new RemoteServiceAdminEvent(RemoteServiceAdminEvent.EXPORT_REGISTRATION, source, registration.getExportReference(),
- registration.getException());
+ new RemoteServiceAdminEvent(RemoteServiceAdminEvent.EXPORT_REGISTRATION, source, registration
+ .getExportReference(), registration.getException());
EventAdmin eventAdmin = getEventAdmin();
if (eventAdmin != null) {
eventAdmin.postEvent(wrap(rsaEvent));
@@ -215,9 +217,9 @@ public class RemoteServiceAdminImpl implements RemoteServiceAdmin, ManagedServic
props.put("export.reference", rsaEvent.getExportReference());
EndpointDescription ep = null;
if (rsaEvent.getImportReference() != null) {
- ep = rsaEvent.getImportReference().getImportedEndpointDescription();
+ ep = rsaEvent.getImportReference().getImportedEndpoint();
} else {
- ep = rsaEvent.getExportReference().getEndpointDescription();
+ ep = rsaEvent.getExportReference().getExportedEndpoint();
}
props.put("service.remote.id", ep.getRemoteServiceID());
props.put("service.remote.uuid", ep.getRemoteFrameworkUUID());
@@ -231,8 +233,8 @@ public class RemoteServiceAdminImpl implements RemoteServiceAdmin, ManagedServic
private void fireImportEvents(Bundle source, ImportRegistration registration) {
RemoteServiceAdminEvent rsaEvent =
- new RemoteServiceAdminEvent(RemoteServiceAdminEvent.IMPORT_REGISTRATION, source, registration.getImportedReference(), registration
- .getException());
+ new RemoteServiceAdminEvent(RemoteServiceAdminEvent.IMPORT_REGISTRATION, source, registration
+ .getImportReference(), registration.getException());
EventAdmin eventAdmin = getEventAdmin();
if (eventAdmin != null) {
eventAdmin.postEvent(wrap(rsaEvent));
@@ -244,28 +246,36 @@ public class RemoteServiceAdminImpl implements RemoteServiceAdmin, ManagedServic
}
/**
- * @see org.apache.tuscany.sca.osgi.remoteserviceadmin.RemoteServiceAdmin#getExportedServices()
+ * @see org.osgi.remoteserviceadmin.RemoteServiceAdmin#getExportedServices()
*/
- public Collection<ExportRegistration> getExportedServices() {
+ public Collection<ExportReference> getExportedServices() {
+ Collection<ExportReference> exportedServices = new ArrayList<ExportReference>();
+ for (ExportRegistration registration : exportedRegistrations) {
+ exportedServices.add(registration.getExportReference());
+ }
return exportedServices;
}
/**
- * @see org.apache.tuscany.sca.osgi.remoteserviceadmin.RemoteServiceAdmin#getImportedEndpoints()
+ * @see org.osgi.remoteserviceadmin.RemoteServiceAdmin#getImportedEndpoints()
*/
- public Collection<ImportRegistration> getImportedEndpoints() {
+ public Collection<ImportReference> getImportedEndpoints() {
+ Collection<ImportReference> importedEndpoints = new ArrayList<ImportReference>();
+ for (ImportRegistration registration : importRegistrations) {
+ importedEndpoints.add(registration.getImportReference());
+ }
return importedEndpoints;
}
/**
- * @see org.apache.tuscany.sca.osgi.remoteserviceadmin.RemoteServiceAdmin#importService(org.apache.tuscany.sca.dosgi.discovery.EndpointDescription)
+ * @see org.osgi.remoteserviceadmin.RemoteServiceAdmin#importService(org.apache.tuscany.sca.dosgi.discovery.EndpointDescription)
*/
public ImportRegistration importService(EndpointDescription endpoint) {
Bundle bundle = (Bundle)endpoint.getProperties().get(Bundle.class.getName());
ImportRegistration importReg = importer.importService(bundle, endpoint);
if (importReg != null) {
fireImportEvents(bundle, importReg);
- importedEndpoints.add(importReg);
+ importRegistrations.add(importReg);
}
return importReg;
}