--- a/AbstractSettingsApplication.st Wed Jan 24 19:53:44 2007 +0100
+++ b/AbstractSettingsApplication.st Thu Jan 25 16:43:00 2007 +0100
@@ -3910,13 +3910,18 @@
!AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'actions'!
basicReadSettings
- (self serverClass notNil and:[HTTPServer isLoaded]) ifTrue:[
+ |serverClass|
+
+ serverClass := self serverClass.
+ (serverClass notNil and:[serverClass isLoaded]) ifTrue:[
self serverClass runningServers
removeDependent:self;
addDependent:self.
].
self createServerSubApplicationsForRunningServers.
self createdServerChanged.
+
+ "Modified: / 25-01-2007 / 16:41:27 / cg"
!
basicSaveSettings
@@ -3940,7 +3945,13 @@
createServer
"create a default server - i.e. a HTTP server"
+ HTTPServer isNil ifTrue:[
+ self warn:'The HTTPServer-class is missing - cannot create server.'.
+ ^ self.
+ ].
^ self createServerForClass:self serverClass.
+
+ "Modified: / 25-01-2007 / 16:41:38 / cg"
!
createServerApplicationFor:aServerInstance
@@ -3999,19 +4010,19 @@
!
createServerFromFile
-
- | newServer fileName runningServers newServerPort answer|
-
+ |serverClass newServer fileName runningServers newServerPort answer|
+
+ serverClass := self serverClass.
fileName := Dialog requestFileName:'Select a Server Settings File'
- default:(self serverClass settingsFilename)
+ default:(serverClass settingsFilename)
pattern:'*.xml'.
fileName isEmptyOrNil ifTrue:[ ^ self].
self withWaitCursorDo:[
- newServer := self serverClass serverFromSettingsFile:(fileName asFilename).
+ newServer := serverClass serverFromSettingsFile:(fileName asFilename).
newServer notNil ifTrue:[
newServerPort := newServer port.
- runningServers := self serverClass runningServers.
+ runningServers := serverClass runningServers.
runningServers notEmpty ifTrue:[
[self hasServerForPort:newServerPort] whileTrue:[
answer := Dialog
@@ -4029,17 +4040,20 @@
self createServerApplicationFor:newServer.
].
].
+
+ "Modified: / 25-01-2007 / 16:40:57 / cg"
!
createServerSubApplicationsForRunningServers
-
- |serverToStart|
-
- (self serverClass isNil or:[self serverClass isLoaded not]) ifTrue:[
+ |serverToStart serverClass|
+
+ serverClass := self serverClass.
+
+ (serverClass notNil and:[ serverClass isLoaded ]) ifFalse:[
^ self
].
- serverToStart := self serverClass runningServers asSet.
+ serverToStart := serverClass runningServers asSet.
serverToStart addAll:self class createdServers.
serverToStart isEmpty ifTrue:[
^ self
@@ -4048,10 +4062,19 @@
serverToStart do:[:eachServerInstance |
self createServerApplicationFor:eachServerInstance.
]
+
+ "Modified: / 25-01-2007 / 16:40:21 / cg"
!
hasServerForPort:newServerPort
- ^ self serverClass runningServers contains:[:eachServer| eachServer port = newServerPort].
+ |serverClass|
+
+ serverClass := self serverClass.
+ ^ serverClass notNil
+ and:[ serverClass runningServers
+ contains:[:eachServer| eachServer port = newServerPort]].
+
+ "Modified: / 25-01-2007 / 16:39:48 / cg"
!
helpFilename
@@ -4063,23 +4086,29 @@
!
removeAllServers
- self serverClass isLoaded ifTrue:[
- self serverClass terminateAllServers.
+ |serverClass|
+
+ serverClass := self serverClass.
+ serverClass isLoaded ifTrue:[
+ serverClass terminateAllServers.
].
self class removeAllCreatedServer.
self removeAllServerSubApplications.
self createdServerChanged.
+
+ "Modified: / 25-01-2007 / 16:39:10 / cg"
!
setPortOnFreePort
- |highestUsedPortNr portToUse instances|
-
- (self serverClass notNil and:[self serverClass isLoaded]) ifTrue:[
- instances := self serverClass runningServers asSet.
+ |serverClass highestUsedPortNr portToUse instances|
+
+ serverClass := self serverClass.
+ (serverClass notNil and:[serverClass isLoaded]) ifTrue:[
+ instances := serverClass runningServers asSet.
instances addAll:((settingsDialog getAllChildrenAppsForApplication:self)
collect:[:aApp| aApp httpServerInstance]).
highestUsedPortNr := instances
- inject:(self serverClass defaultPort - 1)
+ inject:(serverClass defaultPort - 1)
into:[:maxSoFar :thisServer | thisServer port max:maxSoFar].
portToUse := highestUsedPortNr + 1
@@ -4087,6 +4116,8 @@
portToUse := 8080
].
self portNumberChannel value:portToUse.
+
+ "Modified: / 25-01-2007 / 16:38:45 / cg"
! !
!AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'aspects'!
@@ -4141,19 +4172,29 @@
!
update:something with:aParameter from:changedObject
- (self serverClass isLoaded and:[changedObject == self serverClass runningServers]) ifTrue:[
+ |serverClass|
+
+ serverClass := self serverClass.
+ (serverClass isLoaded and:[changedObject == serverClass runningServers]) ifTrue:[
self runningServersChanged.
^ self.
].
super update:something with:aParameter from:changedObject
+
+ "Modified: / 25-01-2007 / 16:38:52 / cg"
! !
!AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'initialization & release'!
release
- (self serverClass notNil and:[HTTPServer isLoaded]) ifTrue:[
- self serverClass runningServers removeDependent:self.
+ |serverClass|
+
+ serverClass := self serverClass.
+ (serverClass notNil and:[serverClass isLoaded]) ifTrue:[
+ serverClass runningServers removeDependent:self.
]
+
+ "Modified: / 25-01-2007 / 16:39:23 / cg"
! !
!AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'queries'!
@@ -14079,5 +14120,5 @@
!AbstractSettingsApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.273 2007-01-11 19:46:15 cg Exp $'
-! !
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.274 2007-01-25 15:43:00 cg Exp $'
+! !