Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2011-06-20 17:16:27 +0000
committerslewis2011-06-20 17:16:27 +0000
commitc6f3801e8baf62dd43aa6d67f60cdbe2e260f90b (patch)
treea6c37d172aedc32d51951c83c387e92b6870d95e
parent2678a683b45cccb2882511ffe45bf2cfb03a7895 (diff)
downloadorg.eclipse.ecf-c6f3801e8baf62dd43aa6d67f60cdbe2e260f90b.tar.gz
org.eclipse.ecf-c6f3801e8baf62dd43aa6d67f60cdbe2e260f90b.tar.xz
org.eclipse.ecf-c6f3801e8baf62dd43aa6d67f60cdbe2e260f90b.zip
Yet another change for
https://bugs.eclipse.org/bugs/show_bug.cgi?id=349176
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/GenericContainerInstantiator.java22
1 files changed, 10 insertions, 12 deletions
diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/GenericContainerInstantiator.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/GenericContainerInstantiator.java
index c5941b950..907587fb1 100644
--- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/GenericContainerInstantiator.java
+++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/GenericContainerInstantiator.java
@@ -153,27 +153,25 @@ public class GenericContainerInstantiator implements IContainerInstantiator, IRe
newID = getIDFromArg(args[0]);
}
if (newID == null) {
- int defaultPort = TCPServerSOContainer.DEFAULT_PORT;
- // The default value for DEFAULT_FALLBACK_PORT is now true
- boolean useFallbackPort = TCPServerSOContainer.DEFAULT_FALLBACK_PORT;
- // if useFallbackPort and the DEFAULT_PORT is
- // not available, then a free port is selected
- if (useFallbackPort && !defaultPortIsFree(defaultPort)) {
- defaultPort = getFreePort();
+ int port = -1;
+ if (TCPServerSOContainer.DEFAULT_FALLBACK_PORT) {
+ port = getFreePort();
+ } else if (portIsFree(TCPServerSOContainer.DEFAULT_PORT)) {
+ port = TCPServerSOContainer.DEFAULT_PORT;
}
- if (defaultPort < 0)
- throw new IDCreateException("Server port for server cannot be -1"); //$NON-NLS-1$
- newID = IDFactory.getDefault().createStringID(TCPServerSOContainer.DEFAULT_PROTOCOL + "://" + TCPServerSOContainer.DEFAULT_HOST + ":" + defaultPort + TCPServerSOContainer.DEFAULT_NAME);//$NON-NLS-1$ //$NON-NLS-2$
+ if (port < 0)
+ throw new IDCreateException("Server port for generic server cannot be -1"); //$NON-NLS-1$
+ newID = IDFactory.getDefault().createStringID(TCPServerSOContainer.DEFAULT_PROTOCOL + "://" + TCPServerSOContainer.DEFAULT_HOST + ":" + port + TCPServerSOContainer.DEFAULT_NAME);//$NON-NLS-1$ //$NON-NLS-2$
}
if (ka == null)
ka = new Integer(TCPServerSOContainer.DEFAULT_KEEPALIVE);
return new GenericContainerArgs(newID, ka);
}
- private boolean defaultPortIsFree(int defaultPort) {
+ private boolean portIsFree(int port) {
ServerSocket ss = null;
try {
- ss = new ServerSocket(defaultPort);
+ ss = new ServerSocket(port);
ss.close();
} catch (BindException e) {
return false;

Back to the top