diff options
author | slewis | 2016-04-04 01:39:18 +0000 |
---|---|---|
committer | slewis | 2016-04-04 01:39:18 +0000 |
commit | 0dc27d22e84f1612992939aceee1f23fad422db2 (patch) | |
tree | 9379b17873ea0b28aed854380cc67a6b96a03d3b | |
parent | e137e4913a7ca9238f2b40d21eee9acadefa2d3a (diff) | |
download | org.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
fails
Change-Id: I8854cb315cabd05615421dde97d2157b5a80eab8
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++) |