Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkuppe2008-06-03 10:42:06 +0000
committermkuppe2008-06-03 10:42:06 +0000
commit6439087d3d9d99d3fa12b9e5b905e817a18fe168 (patch)
tree8794e77f212e73f2f278b9fc3cc56f4357e6aac7
parent195fa5896afd7d8592906a1f5e7cc3e8b2bbd69a (diff)
downloadorg.eclipse.ecf-6439087d3d9d99d3fa12b9e5b905e817a18fe168.tar.gz
org.eclipse.ecf-6439087d3d9d99d3fa12b9e5b905e817a18fe168.tar.xz
org.eclipse.ecf-6439087d3d9d99d3fa12b9e5b905e817a18fe168.zip
RESOLVED - bug 235115: [Discovery][SLP] JSLPDiscoveryContainer.getServiceInfo(IServiceID) does not fully honor IServiceID.getServiceName()
https://bugs.eclipse.org/bugs/show_bug.cgi?id=235115 FORWARD PORT from Revision_2_0
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/container/JSLPDiscoveryContainer.java12
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPNamespace.java5
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPServiceID.java19
3 files changed, 6 insertions, 30 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/container/JSLPDiscoveryContainer.java b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/container/JSLPDiscoveryContainer.java
index a8ee52f00..cf8ca572a 100644
--- a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/container/JSLPDiscoveryContainer.java
+++ b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/container/JSLPDiscoveryContainer.java
@@ -11,8 +11,6 @@
package org.eclipse.ecf.provider.jslp.container;
import ch.ethz.iks.slp.*;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
import java.util.*;
import java.util.Map.Entry;
import org.eclipse.core.runtime.Assert;
@@ -125,14 +123,8 @@ public class JSLPDiscoveryContainer extends AbstractDiscoveryContainerAdapter im
Trace.catching(Activator.PLUGIN_ID, JSLPDebugOptions.EXCEPTIONS_CATCHING, this.getClass(), "getServiceInfo(IServiceID)", e1); //$NON-NLS-1$
continue;
}
- String host = serviceInfo.getLocation().getHost();
- try {
- if (InetAddress.getByName(host).equals(sid.getAddress())) {
- return serviceInfo;
- }
- } catch (UnknownHostException e) {
- Trace.catching(Activator.PLUGIN_ID, JSLPDebugOptions.EXCEPTIONS_CATCHING, this.getClass(), "getServiceInfo(IServiceID)", e); //$NON-NLS-1$
- continue;
+ if (service.getName().equals(sid.getName())) {
+ return serviceInfo;
}
}
return null;
diff --git a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPNamespace.java b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPNamespace.java
index 49745b265..1b1cb69f3 100644
--- a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPNamespace.java
+++ b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPNamespace.java
@@ -13,6 +13,7 @@ package org.eclipse.ecf.provider.jslp.identity;
import ch.ethz.iks.slp.ServiceType;
import ch.ethz.iks.slp.ServiceURL;
import org.eclipse.ecf.core.identity.*;
+import org.eclipse.ecf.core.util.StringUtils;
import org.eclipse.ecf.discovery.identity.*;
import org.eclipse.ecf.internal.provider.jslp.Messages;
@@ -38,8 +39,10 @@ public class JSLPNamespace extends Namespace {
// create by jSLP ServiceURL
} else if (parameters[0] instanceof ServiceURL) {
ServiceURL anURL = (ServiceURL) parameters[0];
+ // https://bugs.eclipse.org/235115
+ String[] name = StringUtils.split(anURL.getHost(), "@"); //$NON-NLS-1$
IServiceTypeID stid = new JSLPServiceTypeID(this, anURL, (String[]) parameters[1]);
- return new JSLPServiceID(this, stid, anURL.getHost());
+ return new JSLPServiceID(this, stid, name.length == 2 ? name[1] : name[0]);
// conversion call where conversion isn't necessary
} else if (parameters[0] instanceof JSLPServiceID) {
diff --git a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPServiceID.java b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPServiceID.java
index 5f7421b56..530692007 100644
--- a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPServiceID.java
+++ b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPServiceID.java
@@ -10,14 +10,9 @@
******************************************************************************/
package org.eclipse.ecf.provider.jslp.identity;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
import org.eclipse.ecf.core.identity.Namespace;
-import org.eclipse.ecf.core.util.Trace;
import org.eclipse.ecf.discovery.identity.IServiceTypeID;
import org.eclipse.ecf.discovery.identity.ServiceID;
-import org.eclipse.ecf.internal.provider.jslp.Activator;
-import org.eclipse.ecf.internal.provider.jslp.JSLPDebugOptions;
public class JSLPServiceID extends ServiceID {
private static final long serialVersionUID = -8211896244921087422L;
@@ -25,18 +20,4 @@ public class JSLPServiceID extends ServiceID {
JSLPServiceID(Namespace namespace, IServiceTypeID type, String name) {
super(namespace, type, name);
}
-
- public InetAddress getAddress() {
- try {
- return InetAddress.getByName(name);
- } catch (UnknownHostException e) {
- Trace.catching(Activator.PLUGIN_ID, JSLPDebugOptions.EXCEPTIONS_CATCHING, this.getClass(), "getAddress()", e); //$NON-NLS-1$
- try {
- return InetAddress.getLocalHost();
- } catch (UnknownHostException e1) {
- Trace.catching(Activator.PLUGIN_ID, JSLPDebugOptions.EXCEPTIONS_CATCHING, this.getClass(), "getAddress()", e1); //$NON-NLS-1$
- }
- }
- return null;
- }
}

Back to the top