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

Reply via email to