Hi, I try to add this : lenyaDoc.getRepositoryNode().getSession().commit(); (lenyaDoc is a o.a.l.cms.publication.Document object)
between invoker A and invoker B. I have hope that it update the session... but I have the same error. TIA Have a good day On Tue, 12 May 2009 19:16:53 +0200, Florent André <florent.andre-...@4sengines.com> wrote: > On Tue, 12 May 2009 15:08:03 +0200, Andreas Hartmann <andr...@apache.org> > wrote: >> [[...]] >> >> My guess is that: >> >> * the second usecase invoker (let's call it B) initializes the session >> SB before the first usecase invoker is called >> >> * the changes which usecase invoker A makes to session SA are not >> visible in session SB >> >> * therefore the document in SB is still in authoring and the workflow >> transition can't fire >> >> Is this possible? Would you mind sending the complete code snippet? TIA! > > This seems to me a very good possible explanation. > But with invoker I don't use a session explicitly (maybe the problem cause > ?). I set-up a session for the creation of the document and commit this > session at the end of doc creation. > > Here I send just send you the function that contain invoker. I can send the > full code of my lenyadoctransformer if needed (I hope to publish it one day > :) > > This piece of code is the actual result of many different test (the all > copy-past with 2 is the last)... so be gracefull please :) but i'm really > open to all remark > > Here we go : > private void applyWorkflowState() > throws ProcessingException, SAXException{ > > UsecaseInvoker invoker = null; > try { > invoker = (UsecaseInvoker) > this.manager.lookup(UsecaseInvoker.ROLE); > Map params = new HashMap(); > //params.put(..., ...); > //invoker.invoke(getSourceUrl(), "publish", params); > //reportResult("","PROBLEM","USECASE > PROBLEM",lenyaDoc.getCanonicalDocumentURL(),lenyaDoc.getCanonicalWebappU\ > RL(),""); > invoker.invoke(lenyaDoc.getCanonicalWebappURL(), > "workflow.submit", params); > //invoker.invoke(lenyaDoc.getCanonicalWebappURL(), > "workflow.publish", params); > > if (invoker.getResult() != UsecaseInvoker.SUCCESS) { > /*A REMETTRE*/ > List messages = invoker.getErrorMessages(); > for (Iterator i = messages.iterator(); i.hasNext();) { > UsecaseMessage message = (UsecaseMessage) i.next(); > //addErrorMessage(message.getMessage(), > message.getParameters()); > reportResult("","PROBLEM","USECASE > PROBLEM",message.getMessage(),Arrays.toString(message.getParameters()),""); > } > } > } > catch( ServiceException se){ > > reportResult("","PROBLEM","ServiceException",se.getMessage(),"",""); > } > catch (UsecaseException ue){ > > reportResult("","PROBLEM","UsecaseException",ue.getMessage(),"",""); > } > finally { > if (invoker != null) { > this.manager.release(invoker); > } > } > > UsecaseInvoker invoker2 = null; > try { > UsecaseInvoker invoker2 = null; > try { > invoker2 = (UsecaseInvoker) > this.manager.lookup(UsecaseInvoker.ROLE); > Map params2 = new HashMap(); > //params.put(..., ...); > //invoker.invoke(getSourceUrl(), "publish", params); > //reportResult("","PROBLEM","USECASE > PROBLEM",lenyaDoc.getCanonicalDocumentURL(),lenyaDoc.getCanonicalWebappURL(),""); > //invoker.invoke(lenyaDoc.getCanonicalWebappURL(), > "workflow.submit", params); > invoker2.invoke(lenyaDoc.getCanonicalWebappURL(), > "workflow.publish", params2); > > if (invoker2.getResult() != UsecaseInvoker.SUCCESS) { > //A REMETTRE > List messages2 = invoker2.getErrorMessages(); > for (Iterator i2 = messages2.iterator(); i2.hasNext();) > { > UsecaseMessage message2 = (UsecaseMessage) > i2.next(); > //addErrorMessage(message2.getMessage(), > message2.getParameters()); > reportResult("","PROBLEM","USECASE > PROBLEM22",message2.getMessage(),Arrays.toString(message2.getParameters()),""); > } > } > } > catch( ServiceException se){ > > reportResult("","PROBLEM2","ServiceException",se.getMessage(),"",""); > } > catch (UsecaseException ue){ > > reportResult("","PROBLEM2","UsecaseException",ue.getMessage(),"",""); > } > finally { > if (invoker2 != null) { > this.manager.release(invoker2); > } > } > } > > Thanks for your help > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@lenya.apache.org > For additional commands, e-mail: user-h...@lenya.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@lenya.apache.org For additional commands, e-mail: user-h...@lenya.apache.org