diff --git a/discovery/org.eclipse.tm.discovery.engine/schema/discoveryProtocol.exsd b/discovery/org.eclipse.tm.discovery.engine/schema/discoveryProtocol.exsd
index 10011af150f..55ad103cbd0 100644
--- a/discovery/org.eclipse.tm.discovery.engine/schema/discoveryProtocol.exsd
+++ b/discovery/org.eclipse.tm.discovery.engine/schema/discoveryProtocol.exsd
@@ -64,7 +64,9 @@
- Allows specifying multicast addresses to be used with different transports in the format "transportName1#address1;transportName2#address2"
+ Allows specifying semicolon separated multicast addresses to be used with specific transports in the format <transport>:<address>
+An example would be:
+<code>"transportName1:address1;transportName2:address2;UDP:224.0.0.251"<code/>
diff --git a/discovery/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/protocol/ProtocolFactory.java b/discovery/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/protocol/ProtocolFactory.java
index e6b1dc64b2b..8087a612199 100644
--- a/discovery/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/protocol/ProtocolFactory.java
+++ b/discovery/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/protocol/ProtocolFactory.java
@@ -10,6 +10,8 @@
package org.eclipse.tm.discovery.protocol;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.util.Vector;
import org.eclipse.core.runtime.CoreException;
@@ -142,15 +144,21 @@ public class ProtocolFactory {
String[] pairs = multicastAddresses.split(";"); //$NON-NLS-1$
for (int j = 0; j < pairs.length; j++) {
- String[] pair = pairs[j].split("#"); //$NON-NLS-1$
- if(pair[0].equals(transportName))
+
+ URI uri=null;
+ try {
+ uri = new URI(pairs[j]);
+ } catch (URISyntaxException e) {}
+
+ if(uri!=null)
{
- multiCastAddress = pair[1];
- break;
+ if(uri.getScheme().equals(transportName))
+ {
+ multiCastAddress = uri.getSchemeSpecificPart();
+ break;
+ }
}
}
-
-
}
}
return multiCastAddress;
diff --git a/discovery/org.eclipse.tm.discovery.protocol.dnssd/plugin.xml b/discovery/org.eclipse.tm.discovery.protocol.dnssd/plugin.xml
index acf66e48b93..077fd8792ff 100644
--- a/discovery/org.eclipse.tm.discovery.protocol.dnssd/plugin.xml
+++ b/discovery/org.eclipse.tm.discovery.protocol.dnssd/plugin.xml
@@ -15,7 +15,7 @@ Contributors:
diff --git a/discovery/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/ServiceDiscoveryWizardMainPage.java b/discovery/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/ServiceDiscoveryWizardMainPage.java
index 6d04a83e2d0..08fa803a663 100644
--- a/discovery/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/ServiceDiscoveryWizardMainPage.java
+++ b/discovery/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/ServiceDiscoveryWizardMainPage.java
@@ -133,6 +133,10 @@ public class ServiceDiscoveryWizardMainPage extends WizardPage {
tempAddress = addressText.getText();
addressText.setText(multicastAddress);
}
+ else
+ {
+ ((Button)src).setSelection(false);
+ }
}
else
{