[Seaside] The 'onAnswer:' message: what does it do?
Bahman Movaqar
Bahman at BahmanM.com
Mon May 27 05:20:07 UTC 2013
Following the Seaside tutorial
(http://www.hpi.uni-potsdam.de/hirschfeld/seaside/tutorial) on chapter 5
(Forms), when I click on the "edit" link beside any task, all I get is
the following:
Seaside Walkback
MessageNotUnderstood: StTaskEditor>>onAnswer:
I suspect there's been a change in the API which has not been reflected
in the tutorial yet. Could anyone please shed a light on this?
TIA,
PS: I'm using Pharo 2.0. Also I've attached the whole stacktrace from
Seaside.
--
Bahman Movaqar (http://BahmanM.com)
ERP Evaluation, Implementation, Deployment Consultant
-------------- next part --------------
Seaside Walkback
MessageNotUnderstood: StTaskEditor>>onAnswer:
Debug Proceed
Possible Causes
you sent a message this type of object doesn't understand
Stack Trace
thisContext
StTaskEditor(Object)>>doesNotUnderstand: #onAnswer:
self
a StTaskEditor
thisContext
StRootComponent(WAComponent)>>show:onAnswer:delegation:
self
a StRootComponent
thisContext
StRootComponent(WAComponent)>>show:onAnswer:
self
a StRootComponent
thisContext
StRootComponent(WAComponent)>>call:onAnswer:
self
a StRootComponent
thisContext
[:cc | self call: aComponent onAnswer: cc] in StRootComponent(WAComponent)>>call:
self
a StRootComponent
thisContext
[:cc | aBlock value: cc] in StRootComponent(WAComponent)>>wait:
self
a StRootComponent
thisContext
GRPharoPlatform>>seasideSuspendFlowDo:
self
a GRPharoPlatform
thisContext
StRootComponent(WAComponent)>>wait:
self
a StRootComponent
thisContext
StRootComponent(WAComponent)>>call:
self
a StRootComponent
thisContext
StRootComponent>>editTask:
self
a StRootComponent
thisContext
[self editTask: aTask] in [html anchor callback: [self editTask: aTask]; with: 'edit'] in [html...etc...
self
a StRootComponent
thisContext
BlockClosure>>valueWithPossibleArguments:
self
[self editTask: aTask]
thisContext
WAActionCallback>>evaluateWithArgument:
self
a WAActionCallback
thisContext
WAActionCallback(WACallback)>>evaluateWithFieldValues:
self
a WAActionCallback
thisContext
[:callback | callback evaluateWithFieldValues: (fields allAt: callback key)] in WACallbackRegistry...etc...
self
a WACallbackRegistry
thisContext
Array(SequenceableCollection)>>do:
self
an Array(a WAActionCallback)
thisContext
WACallbackRegistry>>handle:
self
a WACallbackRegistry
thisContext
[self renderContext callbacks handle: self requestContext] in [self withNotificationHandlerDo: [se...etc...
self
a WAActionPhaseContinuation
thisContext
BlockClosure>>on:do:
self
[self renderContext callbacks handle: self requestContext]
thisContext
WAActionPhaseContinuation(WARenderLoopContinuation)>>withNotificationHandlerDo:
self
a WAActionPhaseContinuation
thisContext
[self withNotificationHandlerDo: [self renderContext callbacks handle: self requestContext]. (WAV...etc...
self
a WAActionPhaseContinuation
thisContext
BlockClosure>>ensure:
self
[self withNotificationHandlerDo: [self renderContext callbacks handle: self requestContext]. (WAV...etc...
thisContext
WAActionPhaseContinuation>>runCallbacks
self
a WAActionPhaseContinuation
thisContext
WAActionPhaseContinuation>>handleRequest
self
a WAActionPhaseContinuation
thisContext
[self handleRequest] in WAActionPhaseContinuation(WASessionContinuation)>>basicValue
self
a WAActionPhaseContinuation
thisContext
BlockClosure>>on:do:
self
[self handleRequest]
thisContext
WAActionPhaseContinuation(WASessionContinuation)>>withUnregisteredHandlerDo:
self
a WAActionPhaseContinuation
thisContext
WAActionPhaseContinuation(WASessionContinuation)>>basicValue
self
a WAActionPhaseContinuation
thisContext
WAActionPhaseContinuation(WASessionContinuation)>>value
self
a WAActionPhaseContinuation
thisContext
WASession>>handleFiltered:
self
a WASession
thisContext
WATimingToolFilter(WARequestFilter)>>handleFiltered:
self
a WATimingToolFilter
thisContext
[super handleFiltered: aRequestContext] in WATimingToolFilter>>handleFiltered:
self
a WATimingToolFilter
thisContext
BlockClosure>>ensure:
self
[super handleFiltered: aRequestContext]
thisContext
WATimingToolFilter>>handleFiltered:
self
a WATimingToolFilter
thisContext
WADeprecatedToolFilter(WARequestFilter)>>handleFiltered:
self
a WADeprecatedToolFilter
thisContext
[super handleFiltered: aRequestContext] in WADeprecatedToolFilter>>handleFiltered:
self
a WADeprecatedToolFilter
thisContext
BlockClosure>>on:do:
self
[super handleFiltered: aRequestContext]
thisContext
WADeprecatedToolFilter>>handleFiltered:
self
a WADeprecatedToolFilter
thisContext
WAMutualExclusionFilter(WARequestFilter)>>handleFiltered:
self
a WAMutualExclusionFilter
thisContext
[super handleFiltered: aRequestContext] in WAMutualExclusionFilter>>handleFiltered:
self
a WAMutualExclusionFilter
thisContext
BlockClosure>>ensure:
self
[super handleFiltered: aRequestContext]
thisContext
[owner := process. aBlock ensure: [owner := nil]] in WAMutex>>critical:
self
a WAMutex
thisContext
[caught := true. self wait. blockValue := mutuallyExcludedBlock value] in Semaphore>>critical:
self
a Semaphore()
thisContext
BlockClosure>>ensure:
self
[caught := true. self wait. blockValue := mutuallyExcludedBlock value]
thisContext
Semaphore>>critical:
self
a Semaphore()
thisContext
WAMutex>>critical:
self
a WAMutex
thisContext
WAMutualExclusionFilter>>handleFiltered:
self
a WAMutualExclusionFilter
thisContext
[self filter handleFiltered: aRequestContext] in WASession(WARequestHandler)>>handle:
self
a WASession
thisContext
BlockClosure>>on:do:
self
[self filter handleFiltered: aRequestContext]
thisContext
WACurrentRequestContext class(WADynamicVariable class)>>use:during:
self
WACurrentRequestContext
thisContext
[WACurrentRequestContext use: self during: aBlock] in WARequestContext>>push:during:
self
a WARequestContext url: <nil>
thisContext
BlockClosure>>ensure:
self
[WACurrentRequestContext use: self during: aBlock]
thisContext
WARequestContext>>push:during:
self
a WARequestContext url: <nil>
thisContext
WASession(WARequestHandler)>>handle:
self
a WASession
thisContext
WAApplication(WARegistry)>>dispatch:to:
self
a WAApplication
thisContext
WAApplication(WARegistry)>>handleKeyed:with:
self
a WAApplication
thisContext
WAApplication(WARegistry)>>handleFiltered:
self
a WAApplication
thisContext
WAApplication>>handleFiltered:
self
a WAApplication
thisContext
WAExceptionFilter(WARequestFilter)>>handleFiltered:
self
a WAExceptionFilter
thisContext
[super handleFiltered: aRequestContext] in WAExceptionFilter>>handleFiltered:
self
a WAExceptionFilter
thisContext
BlockClosure>>on:do:
self
[super handleFiltered: aRequestContext]
thisContext
WAWalkbackErrorHandler(WAExceptionHandler)>>handleExceptionsDuring:
self
a WAWalkbackErrorHandler
thisContext
WAWalkbackErrorHandler class(WAExceptionHandler class)>>handleExceptionsDuring:context:
self
WAWalkbackErrorHandler
thisContext
WAExceptionFilter>>handleFiltered:
self
a WAExceptionFilter
thisContext
[self filter handleFiltered: aRequestContext] in WAApplication(WARequestHandler)>>handle:
self
a WAApplication
thisContext
BlockClosure>>on:do:
self
[self filter handleFiltered: aRequestContext]
thisContext
WACurrentRequestContext class(WADynamicVariable class)>>use:during:
self
WACurrentRequestContext
thisContext
[WACurrentRequestContext use: self during: aBlock] in WARequestContext>>push:during:
self
a WARequestContext url: <nil>
thisContext
BlockClosure>>ensure:
self
[WACurrentRequestContext use: self during: aBlock]
thisContext
WARequestContext>>push:during:
self
a WARequestContext url: <nil>
thisContext
WAApplication(WARequestHandler)>>handle:
self
a WAApplication
thisContext
WADispatcher>>handleFiltered:named:
self
a WADispatcher
thisContext
WADispatcher>>handleFiltered:
self
a WADispatcher
thisContext
[self filter handleFiltered: aRequestContext] in WADispatcher(WARequestHandler)>>handle:
self
a WADispatcher
thisContext
BlockClosure>>on:do:
self
[self filter handleFiltered: aRequestContext]
thisContext
WACurrentRequestContext class(WADynamicVariable class)>>use:during:
self
WACurrentRequestContext
thisContext
[WACurrentRequestContext use: self during: aBlock] in WARequestContext>>push:during:
self
a WARequestContext url: <nil>
thisContext
BlockClosure>>ensure:
self
[WACurrentRequestContext use: self during: aBlock]
thisContext
WARequestContext>>push:during:
self
a WARequestContext url: <nil>
thisContext
WADispatcher(WARequestHandler)>>handle:
self
a WADispatcher
thisContext
[self requestHandler handle: aRequestContext] in ZnZincServerAdaptor(WAServerAdaptor)>>handleRequest...etc...
self
a ZnZincServerAdaptor(zinc on port 8888 [running])
thisContext
BlockClosure>>on:do:
self
[self requestHandler handle: aRequestContext]
thisContext
ZnZincServerAdaptor(WAServerAdaptor)>>handleRequest:
self
a ZnZincServerAdaptor(zinc on port 8888 [running])
thisContext
ZnZincServerAdaptor(WAServerAdaptor)>>handle:
self
a ZnZincServerAdaptor(zinc on port 8888 [running])
thisContext
[self handle: context; responseFrom: context] in ZnZincServerAdaptor(WAServerAdaptor)>>process:
self
a ZnZincServerAdaptor(zinc on port 8888 [running])
thisContext
BlockClosure>>ensure:
self
[self handle: context; responseFrom: context]
thisContext
ZnZincServerAdaptor(WAServerAdaptor)>>process:
self
a ZnZincServerAdaptor(zinc on port 8888 [running])
thisContext
ZnSeasideServerAdaptorDelegate>>handleRequest:
self
a ZnSeasideServerAdaptorDelegate
thisContext
[self delegate ifNil: [ZnResponse notFound: request uri] ifNotNil: [:delegate | delegate handleR...etc...
self
a ZnManagingMultiThreadedServer(running 8888)
thisContext
ZnManagingMultiThreadedServer(ZnSingleThreadedServer)>>authenticateRequest:do:
self
a ZnManagingMultiThreadedServer(running 8888)
thisContext
ZnManagingMultiThreadedServer(ZnSingleThreadedServer)>>authenticateAndDelegateRequest:
self
a ZnManagingMultiThreadedServer(running 8888)
thisContext
[self authenticateAndDelegateRequest: request] in ZnManagingMultiThreadedServer(ZnSingleThreadedServ...etc...
self
a ZnManagingMultiThreadedServer(running 8888)
thisContext
BlockClosure>>on:do:
self
[self authenticateAndDelegateRequest: request]
thisContext
ZnManagingMultiThreadedServer(ZnSingleThreadedServer)>>handleRequestProtected:
self
a ZnManagingMultiThreadedServer(running 8888)
thisContext
ZnManagingMultiThreadedServer(ZnSingleThreadedServer)>>handleRequest:
self
a ZnManagingMultiThreadedServer(running 8888)
thisContext
ZnManagingMultiThreadedServer(ZnMultiThreadedServer)>>executeOneRequestResponseOn:
self
a ZnManagingMultiThreadedServer(running 8888)
thisContext
[[self executeOneRequestResponseOn: stream] whileFalse. nil] in ZnManagingMultiThreadedServer(ZnMul...etc...
self
a ZnManagingMultiThreadedServer(running 8888)
thisContext
[p psValueAt: index put: anObject. aBlock value] in ZnCurrentServer(DynamicVariable)>>value:during:...etc...
self
a ZnCurrentServer
thisContext
BlockClosure>>ensure:
self
[p psValueAt: index put: anObject. aBlock value]
thisContext
ZnCurrentServer(DynamicVariable)>>value:during:
self
a ZnCurrentServer
thisContext
ZnCurrentServer class(DynamicVariable class)>>value:during:
self
ZnCurrentServer
thisContext
ZnManagingMultiThreadedServer(ZnMultiThreadedServer)>>executeRequestResponseLoopOn:
self
a ZnManagingMultiThreadedServer(running 8888)
thisContext
[self executeRequestResponseLoopOn: stream] in [[self executeRequestResponseLoopOn: stream] ensure...etc...
self
a ZnManagingMultiThreadedServer(running 8888)
thisContext
BlockClosure>>ensure:
self
[self executeRequestResponseLoopOn: stream]
thisContext
[[self executeRequestResponseLoopOn: stream] ensure: [self log debug: 'Closing stream'. self cl...etc...
self
a ZnManagingMultiThreadedServer(running 8888)
thisContext
BlockClosure>>ifCurtailed:
self
[[self executeRequestResponseLoopOn: stream] ensure: [self log debug: 'Closing stream'. self cl...etc...
thisContext
[[[self executeRequestResponseLoopOn: stream] ensure: [self log debug: 'Closing stream'. self c...etc...
self
a ZnManagingMultiThreadedServer(running 8888)
thisContext
[self value. Processor terminateActive] in BlockClosure>>newProcess
self
[[[self executeRequestResponseLoopOn: stream] ensure: [self log debug: 'Closing stream'. self c...etc...
New Session Configure Halos Profile Memory XHTML 6/143 ms
More information about the seaside
mailing list