AbstractSettingsApplication.st
changeset 7607 c7155c02770f
parent 7580 4580c0a025ff
child 7608 99732b44caec
--- 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 $'
+! !