--- a/AbstractSettingsApplication.st Thu Nov 13 16:14:30 2003 +0100
+++ b/AbstractSettingsApplication.st Thu Nov 13 16:15:26 2003 +0100
@@ -84,7 +84,7 @@
AbstractSettingsApplication subclass:#HTTPStartServerSettingsApplication
instanceVariableNames:'portNumberChannel informationLabel hasNoCreatedServerChannel
hasCreatedServerChannel'
- classVariableNames:''
+ classVariableNames:'CreatedServers'
poolDictionaries:''
privateIn:AbstractSettingsApplication
!
@@ -3241,6 +3241,27 @@
)
! !
+!AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'servers access'!
+
+addCreatedServer:aServer
+ self createdServers add:aServer.
+!
+
+createdServers
+ CreatedServers isNil ifTrue:[
+ CreatedServers := Set new.
+ ].
+ ^ CreatedServers
+!
+
+removeAllCreatedServer
+ self createdServers removeAll.
+!
+
+removeCreatedServer:aServer
+ self createdServers remove:aServer.
+! !
+
!AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'actions'!
basicSaveSettings
@@ -3270,6 +3291,7 @@
] ifFalse:[
newServer := HTTPServer newServerOnPort:port.
].
+ self class addCreatedServer:newServer.
self createServerApplicationFor:newServer.
]
!
@@ -3324,6 +3346,7 @@
].
newServer port:newServerPort.
runningServers addDependent:self.
+ self class addCreatedServer:newServer.
self createServerApplicationFor:newServer.
].
].
@@ -3331,14 +3354,17 @@
createServerSubApplicationsForRunningServers
- |runningServers|
+ |runningServers serverToStart|
HTTPServer isLoaded ifFalse:[ ^ self].
- runningServers := HTTPServer runningServers asOrderedCollection.
- runningServers isEmpty ifTrue:[ ^ self].
- runningServers sort:[:a :b | a port < b port].
- runningServers do:[:aHttpServerInstance |
+ runningServers := HTTPServer runningServers.
+ serverToStart := runningServers asSet.
+ serverToStart addAll:self class createdServers.
+ serverToStart isEmpty ifTrue:[ ^ self].
+ serverToStart := serverToStart asOrderedCollection.
+ serverToStart sort:[:a :b | a port < b port].
+ serverToStart do:[:aHttpServerInstance |
self createServerApplicationFor:aHttpServerInstance.
]
!
@@ -3375,6 +3401,7 @@
HTTPServer isLoaded ifTrue:[
HTTPServer terminateAllServers.
].
+ self class removeAllCreatedServer.
self removeAllServerSubApplications.
self createdServerChanged.
!
@@ -11017,5 +11044,5 @@
!AbstractSettingsApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.120 2003-11-13 12:56:53 cg Exp $'
-! !
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.121 2003-11-13 15:15:26 penk Exp $'
+! !