cancel
Showing results for 
Search instead for 
Did you mean: 

the controller has already been destroyed after invalid input

Former Member
0 Kudos

Hi,

I have created two views( A View and B View) in a viewset, and did some differnt inputfields and buttons dynamically in B View when passed into diffrent parameters from A View.

In B view, there was a dynamically created inputfields binding dynamically created double type attribute.

I writed the follow codes in wdDoModifyView method at firsttime:

	if (firsttime) {
		view.resetView();

		/*Conditionally resets the context to its initial state. By setting the clear parameter to false, data in node collections created at design time will be preserved. All dynamically added nodes and attributes are destroyed from the metadata.*/
		view.getContext().reset(false);
	}

Every time, when pass parameters from A view to B view, these codes excuted.

Then run my code in EP, when I input some invalid words or nothing in the double inputfield, the B view will support with some message, then I corrected to input double number, it works very well.

But after I return into B view from A view next time, I get following error:

com.sap.tc.webdynpro.progmodel.context.ContextException: DataNodeInfo(DynamicAnalyseView.AdvSearch.column12): the controller has already been destroyed

at com.sap.tc.webdynpro.progmodel.context.NodeInfo.getContextInternal(NodeInfo.java:277)

at com.sap.tc.webdynpro.progmodel.context.NodeElement.clearPendingInput(NodeElement.java:294)

at com.sap.tc.webdynpro.progmodel.context.NodeElement.exit(NodeElement.java:132)

at com.sap.tc.webdynpro.progmodel.context.Node$ElementList.exit(Node.java:1859)

at com.sap.tc.webdynpro.progmodel.context.Node.clearElements(Node.java:1560)

at com.sap.tc.webdynpro.progmodel.context.Node.exit(Node.java:301)

at com.sap.tc.webdynpro.progmodel.context.Node.exit(Node.java:306)

at com.sap.tc.webdynpro.progmodel.context.Node.revertToStatic(Node.java:1582)

at com.sap.tc.webdynpro.progmodel.context.Context.reset(Context.java:160)

at com.logi.lpromis.form.view.DynamicAnalyseView.initView(DynamicAnalyseView.java:4990)

at com.logi.lpromis.form.view.DynamicAnalyseView.wdDoModifyView(DynamicAnalyseView.java:215)

at com.logi.lpromis.form.view.wdp.InternalDynamicAnalyseView.wdDoModifyView(InternalDynamicAnalyseView.java:3869)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doModifyView(DelegatingView.java:78)

at com.sap.tc.webdynpro.progmodel.view.View.modifyView(View.java:337)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:481)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doModifyView(WindowPhaseModel.java:551)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:148)

at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:319)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)

at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

Can anyone help me to resolve this issue?

Thanks in advance!

Crazymind

Edited by: mingyang jiao on Nov 5, 2009 10:32 AM

Edited by: mingyang jiao on Nov 5, 2009 10:37 AM

Accepted Solutions (1)

Accepted Solutions (1)

siarhei_pisarenka3
Active Contributor
0 Kudos

Hi

To me it's not clear why do you need to reset view or view context in the following way:

 if (firsttime) { 
view.resetView(); 
view.getContext().reset(false); 
}

The code will not reset anything because initially the view is just as you designed it on design time! The code has no sense.

BR, Siarhei

Former Member
0 Kudos

thanks for replying so quickly!

I omited some code in this block, which should be like this:

if (firsttime) {

//clear the view and the nodeinfo of last time

view.resetView();

view.getContext().reset(false);

//Recreate the view and the nodeinfo different from last time, rebinding the view and nodeinfo

......

}

Edited by: mingyang jiao on Nov 5, 2009 3:46 PM

Answers (1)

Answers (1)

Former Member
0 Kudos

Can anyone help me?