I'm trying to create a pipeline in the background using a thread. My flowscript looks like this:

function create_pdf() {
    var output_file=java.io.File.createTempFile("temp",".pdf");
    var output_stream=new MyOutputStream(output_file);
    //
    var r = new java.lang.Runnable() {
        run: function() {
cocoon.processPipelineTo("pdf-create-pipeline'',output_stream);
            output_stream.close();
        }
   };
   new java.lang.Thread(r).start();
   // Display the waiting page until file is closed
   while(!output_stream.isClosed()) {
cocoon.sendPageAndWait("progress.jx",{ "length" : output_stream.length(), "output_path" : output_file.getCanonicalPath(), });
   }
   // send the page
cocoon.sendPage( "pdf-send-pipeline", {file_name : output_file.getCanonicalPath() } );
  }
}

I know the thread is working, but it seems I'm missing something cocoon related that I must initialize in the thread. I get the following exception:

Exception in thread "Thread-19" org.mozilla.javascript.WrappedException: Wrapped org.apache.avalon.framework.CascadingRuntimeException: Unable to get the object model from the context. (file:/C:/cocoon/msim_app/msim/flow/print_pdf.js#28) at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1693)
    at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:160)
    at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:471)
at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3085)
    at script(file:/C:/cocoon/msim_app/msim/flow/print_pdf.js:28)
    at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2251)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:161) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:340) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2758) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:159)
    at org.mozilla.javascript.Context.call(Context.java:499)
    at org.mozilla.javascript.JavaAdapter.callMethod(JavaAdapter.java:492)
    at adapter1.run(<adapter>)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.avalon.framework.CascadingRuntimeException: Unable to get the object model from the context. at org.apache.cocoon.components.ContextHelper.getObjectModel(ContextHelper.java:92) at org.apache.cocoon.components.flow.javascript.fom.FOM_JavaScriptInterpreter.setupView(FOM_JavaScriptInterpreter.java:877) at org.apache.cocoon.components.flow.javascript.fom.FOM_JavaScriptInterpreter.process(FOM_JavaScriptInterpreter.java:872) at org.apache.cocoon.components.flow.javascript.fom.FOM_Cocoon.jsFunction_processPipelineTo(FOM_Cocoon.java:286)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:145)
    ... 11 more
Caused by: org.apache.avalon.framework.context.ContextException: Unable to locate object-model (No environment available) at org.apache.cocoon.components.ComponentContext.get(ComponentContext.java:96) at org.apache.cocoon.components.ContextHelper.getObjectModel(ContextHelper.java:90)
    ... 19 more




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to