On 08/19/2013 10:58 AM, Andre Juffer wrote:
Hi Thorsten,

I already thought that it would down to what you suggested. Seems to me that calling a pipeline in the way you suggested is the most logical way, as the other block has everything in place to receive requests for accounts, given the hash. I will give it a try.

Another possibility would be to create a java pipe. See e.g. for an usage see
cocoon-rest-optional/src/main/java/org/apache/cocoon/rest/optional/sample/SendMailPipeService.java
and
cocoon-rest-optional/src/main/java/org/apache/cocoon/rest/optional/mail/pipelines/pipes/EmailPlainPipe.java

This gives you a broader possibility. For example in one project I extended the pipeline interface to work with a hashmap and I injected the values via the pipe. This way I did not need to bother with the stream but directly could access the values I needed in the pipeline.

salu2


Best,
André




------------------------------------------------------------------------------------------------------------------------------
Andre H. Juffer
Biocenter Oulu and Department of Biochemistry
University of Oulu, Finland
Phone: +358-294-481161
Email: andre.juffer@oulu.fi

StrucBioCat, www.strucbiocat.oulu.fi
Triacle Biocomputing, www.triacle-bc.com



From: Thorsten Scherler [scherler@gmail.com]
Sent: Monday, August 19, 2013 10:12 AM
To: users@cocoon.apache.org
Subject: Re: [C3] Calling another from REST resource

On 08/15/2013 04:34 PM, Andre Juffer wrote:
To clarify my question:

I need to identify persons when they access a resource. On the client side, a temporal hash is stored. On the server side, I use that hash to connect with an account associated with a person. The hash is not unique, it is assigned upon signing in, and lost after signing out. When accessing the resource, say a VideoResource in block A,

@POST
Response doSomething(@PathParam("hash") String hash)
{
    Account account = .... // Use the hash here.

    this.facade_.doSomething(account, ....);

    return someResponse;
}

The account information is obtained from another block (B), which is accessed by various others block for the same purpose. These blocks represent various services for which a person may have an account.

Thus, the line with

Account account = .... // Use the hash here.

would access another block.

Can this easily be facilitated with cocoon3 at this stage?

thanks for your time,



The question is do you need to call/use a java class or do you want to call a pipeline?

To call another java class a simple import should do, when you have the dep to the other block set.

In case of calling another pipeline should be working with http://cocoon.apache.org/subprojects/servlet-service/servlet-service-impl/architecture.html servlet:
final URL url = new URL("servlet:blockB:/someUrl");

HTH

salu2


------------------------------------------------------------------------------------------------------------------------------
Andre H. Juffer
Biocenter Oulu and Department of Biochemistry
University of Oulu, Finland
Phone: +358-294-481161
Email: andre.juffer@oulu.fi

StrucBioCat, www.strucbiocat.oulu.fi
Triacle Biocomputing, www.triacle-bc.com



From: Andre Juffer [andre.juffer@oulu.fi]
Sent: Wednesday, August 14, 2013 4:20 PM
To: users@cocoon.apache.org
Subject: [C3] Calling another from REST resource

Is it actually possible to call an another block (say block A) from within a REST resource that resides in block B?

Thanks,


------------------------------------------------------------------------------------------------------------------------------
Andre H. Juffer
Biocenter Oulu and Department of Biochemistry
University of Oulu, Finland
Phone: +358-294-481161
Email: andre.juffer@oulu.fi

StrucBioCat, www.strucbiocat.oulu.fi
Triacle Biocomputing, www.triacle-bc.com




-- 
Thorsten Scherler <scherler.at.gmail.com>
codeBusters S.L. - web based systems
<consulting, training and solutions>

http://www.codebusters.es/


-- 
Thorsten Scherler <scherler.at.gmail.com>
codeBusters S.L. - web based systems
<consulting, training and solutions>

http://www.codebusters.es/