Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2016-04-04 01:39:18 +0000
committerslewis2016-04-04 01:39:18 +0000
commit0dc27d22e84f1612992939aceee1f23fad422db2 (patch)
tree9379b17873ea0b28aed854380cc67a6b96a03d3b
parente137e4913a7ca9238f2b40d21eee9acadefa2d3a (diff)
downloadorg.eclipse.ecf-0dc27d22e84f1612992939aceee1f23fad422db2.tar.gz
org.eclipse.ecf-0dc27d22e84f1612992939aceee1f23fad422db2.tar.xz
org.eclipse.ecf-0dc27d22e84f1612992939aceee1f23fad422db2.zip
Made RSARemoteServiceContainerAdapter more robust if exportRemoteServiceR-Release_HEAD-sdk_feature-270_270
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/RSARemoteServiceContainerAdapter.java8
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/RemoteServiceContainerAdapterImpl.java6
2 files changed, 9 insertions, 5 deletions
diff --git a/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/RSARemoteServiceContainerAdapter.java b/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/RSARemoteServiceContainerAdapter.java
index 356aa8fff..31de5c1e0 100644
--- a/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/RSARemoteServiceContainerAdapter.java
+++ b/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/RSARemoteServiceContainerAdapter.java
@@ -49,7 +49,13 @@ public class RSARemoteServiceContainerAdapter extends RemoteServiceContainerAdap
@Override
public void publish(RemoteServiceRegistryImpl reg, Object svc, String[] clzzes, Dictionary props) {
super.publish(reg, svc, clzzes, props);
- this.extraProperties = getRSAContainer().exportRemoteService(this);
+ try {
+ this.extraProperties = getRSAContainer().exportRemoteService(this);
+ } catch (RuntimeException t) {
+ // unpublish in the event of
+ reg.unpublishService(this);
+ throw t;
+ }
}
public void unregister() {
diff --git a/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/RemoteServiceContainerAdapterImpl.java b/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/RemoteServiceContainerAdapterImpl.java
index 1eeb2d429..51c9f580f 100644
--- a/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/RemoteServiceContainerAdapterImpl.java
+++ b/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/RemoteServiceContainerAdapterImpl.java
@@ -91,10 +91,8 @@ public class RemoteServiceContainerAdapterImpl implements IRemoteServiceContaine
Trace.entering(Activator.PLUGIN_ID, IRemoteServiceImplDebugOptions.METHODS_ENTERING, this.getClass(), "registerRemoteService", new Object[] {clazzes, service, properties}); //$NON-NLS-1$
if (service == null)
throw new NullPointerException("service cannot be null"); //$NON-NLS-1$
- final int size = clazzes.length;
-
- if (size == 0)
- throw new IllegalArgumentException("service classes list is empty"); //$NON-NLS-1$
+ if (clazzes.length == 0)
+ throw new IllegalArgumentException("service classes cannot be empty"); //$NON-NLS-1$
final String[] copy = new String[clazzes.length];
for (int i = 0; i < clazzes.length; i++)

Back to the top