--- a/AbstractSettingsApplication.st Tue Jul 22 20:06:42 2003 +0200
+++ b/AbstractSettingsApplication.st Thu Jul 24 13:52:04 2003 +0200
@@ -3231,7 +3231,7 @@
createServerFromFile
- | newServer fileName runningServers newServerPort|
+ | newServer fileName runningServers newServerPort answer|
runningServers := HTTPServer runningServers.
fileName := Dialog requestFileName:'Select a HTTPServer Settings File'
@@ -3239,22 +3239,25 @@
pattern:'*xml'
fromDirectory:(Filename currentDirectory).
fileName isEmptyOrNil ifTrue:[ ^ self].
- newServer := HTTPServer serverFromSettingsFile:(fileName asFilename).
- newServer notNil ifTrue:[
- newServerPort := newServer port.
- runningServers notEmpty ifTrue:[
- runningServers do:[:aServer |
- aServer port = newServerPort ifTrue:[
- Dialog warn:'There is already a Server for port ', newServerPort asString.
- ^ self
+ self withWaitCursorDo:[
+ newServer := HTTPServer serverFromSettingsFile:(fileName asFilename).
+ newServer notNil ifTrue:[
+ newServerPort := newServer port.
+ runningServers notEmpty ifTrue:[
+ [self hasServerForPort:newServerPort] whileTrue:[
+ answer := Dialog
+ request:('There is already a Server for port ', newServerPort asString, ' Please select another one')
+ initialAnswer:self portNumberChannel value asString.
+ answer isEmpty ifTrue:[
+ ^ self
+ ].
+ newServerPort := answer asNumber.
]
- ]
+ ].
+ newServer port:newServerPort.
+ runningServers addDependent:self.
+ self createServerApplicationFor:newServer.
].
- runningServers addDependent:self.
-
- self withWaitCursorDo:[
- self createServerApplicationFor:newServer.
- ]
].
!
@@ -3272,6 +3275,16 @@
]
!
+hasServerForPort:newServerPort
+
+ HTTPServer runningServers do:[:aServer |
+ aServer port = newServerPort ifTrue:[
+ ^ true
+ ]
+ ].
+ ^ false
+!
+
readSettings
HTTPServer isLoaded ifTrue:[
HTTPServer runningServers removeDependent:self.
@@ -10856,5 +10869,5 @@
!AbstractSettingsApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.86 2003-07-16 09:02:02 penk Exp $'
-! !
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.87 2003-07-24 11:52:04 penk Exp $'
+! !