Hi all. I'm having this trouble with hibernate.
I really dont know why, but i think it is in relation
with continuations or forms.
It works some times but other not, so I'm confused.
I get this exception:
org.apache.cocoon.ProcessingException: Error calling
continuation
at
file:/C:/cocoon-2.1.9/build/webapp/myapp/flow/bean.js:24:-1
at <map:call> -
file:/C:/cocoon-2.1.9/build/webapp/myapp/sitemap.xmap:111:38
at <map:serialize type="html"> -
file:/C:/cocoon-2.1.9/build/webapp/myapp/sitemap.xmap:184:35
at <map:transform> -
file:/C:/cocoon-2.1.9/build/webapp/myapp/sitemap.xmap:183:59
at <map:transform type="i18n"> -
file:/C:/cocoon-2.1.9/build/webapp/myapp/sitemap.xmap:182:35
at <map:transform> -
file:/C:/cocoon-2.1.9/build/webapp/myapp/sitemap.xmap:181:42
at
org.apache.cocoon.ProcessingException.throwLocated(ProcessingException.java:144)
at
org.apache.cocoon.components.flow.javascript.LocationTrackingDebugger.getException(LocationTrackingDebugger.java:131)
at
org.apache.cocoon.components.flow.javascript.fom.FOM_JavaScriptInterpreter.handleContinuation(FOM_JavaScriptInterpreter.java:855)
at
org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.invoke(CallFunctionNode.java:123)
.
.
[Caused by]
org.hibernate.SessionException: Session is closed!
at
org.hibernate.impl.AbstractSessionImpl.errorIfClosed(AbstractSessionImpl.java:49)
at
org.hibernate.impl.SessionImpl.fireUpdate(SessionImpl.java:560)
at
org.hibernate.impl.SessionImpl.update(SessionImpl.java:552)
at
org.hibernate.impl.SessionImpl.update(SessionImpl.java:544)
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:230)
at
org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1244)
at
org.mozilla.javascript.continuations.ContinuationInterpreter.interpret(ContinuationInterpreter.java:1134)
at
org.mozilla.javascript.continuations.ContinuationInterpreter.interpret(ContinuationInterpreter.java:190)
at
org.mozilla.javascript.continuations.ContinuationInterpreter.interpret(ContinuationInterpreter.java:138)
at
org.mozilla.javascript.continuations.InterpretedFunctionImpl.call(InterpretedFunctionImpl.java:121)
at
org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1244)
at
org.mozilla.javascript.ScriptableObject.callMethod(ScriptableObject.java:1591)
at
org.apache.cocoon.components.flow.javascript.fom.FOM_JavaScriptInterpreter.handleContinuation(FOM_JavaScriptInterpreter.java:852)
at
org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.invoke(CallFunctionNode.java:123)
.
.
.
It happens in this flowscript function defined in
"flow/beans.js":
function beanForm_form() {
openHibernateSession();
var form = new
Form("forms/beanForm.form.xml");
form.createBinding("forms/beanForm.bind.xml");
// This is a nice feature :-)
var bean; // The java bean to work with
var id = cocoon.request.getParameter("id");
var updating = id != null; // We can be
updating or adding beans
if(updating){
bean=hs.find("from Bean where id = " +
id).get(0); // Retrieve from the database
} else {
bean = new Bean(); // New bean
}
form.load(bean); // Bind the bean to the form
form.showForm("beanForm.form.template"); //
Shows the form. Another nice feature ;)
form.save(bean);//Once the form is validated
it is binded to bean
if(updating){
[24] hs.update(perfil); // Update the bean
} else {
[26] hs.save(perfil); // Store a new bean on
the database
}
cocoon.redirectTo("bean.list", true); //
Redirect to a page wich shows a list of beans
}
And the 111 line in sitemap.xmap is a basic
continuation.
<map:match pattern="*.continue">
[111] <map:call continuation="{1}"/>
</map:match>
This is a function which work on both modes "New" and
"Edit" beans, so it fails on lines [24] or [26]
depending what you are doing.
I tried to put another "openHibernateSession()" before
de "if(updating)" but it again work sometimes and
others not.
Do continuations have some strange behaviour against
HibernateFilter, or may be the redirect ?
When I get the error page (with "bean.list" as url), I
press the "go to" button of firefox and I get the bean
list with the new or the modified bean, so I think it
must be working.
I'm really confused, so I'd be glad if some one could
give me a help.
Thx for your reading.
______________________________________________
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]