[Seaside] "remove" command

Michael sangria at gmx.net
Sun May 22 15:50:23 CEST 2005


Hi

 >>When I remove the application with the config tool (/seaside/go/config)
 >>I can no longer access the config tool. The error message indicates that
 >>something still tries to access the namingservice.

After hours of playing around with "self halt" I finally found
a solution for my problem.
The problem is the call to "SeasidePlatformSupport vmStatisticsReportString"
in WADispatcherEditor>>renderContentOn:. When i unregister the session I close
the connection to the naming service (RequestBroker). Unfortunately the
vmStatisticsReportString method still tries to access data that was published
in the naming service.
The only solution I found, was to remove the line from the renderContentOn
method.

>>I also noticed that clicking on the "remove" link won't call the session's
>>unregistered method.
> 
> Hm, I'd say that's a bug - removing an application should unregister
> all of its sessions.  

I'm still new to smalltalk, so I don't know if this solution is any good.
It seems to work but maybe I missed something.

WARegistry>>clearHandlers
     self mutex critical:
         ["Unregister all sessions"
         handlersByKey notNil
             ifTrue:
                 [handlersByKey associationsDo: [:assoc | [assoc value unregistered] fork]].

	"Remove all handlers"
         handlersByKey := Dictionary new.
         keysByHandler := Dictionary new]

WADispatcherEditor>>remove: anEntryPoint
     dispatcher removeEntryPoint: anEntryPoint.
     anEntryPoint clearHandlers.

 > It would also be useful to have a reset link
 > that unregistered them all without removing the app...

WADispatcherEditor>>reset: anEntryPoint
     anEntryPoint clearHandlers.

Mike



More information about the Seaside mailing list