You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Nazare Thibaut <th...@atos.net> on 2011/07/21 15:49:32 UTC

[Tapestry 5.1.0.5] Accessing Tapestry Page Model to find Inputs/outputs of a page/component

Hello,

It’s my first message here and I’m French, English is not my native language; please excuse typing errors.
I looked for answers in the Tapestry 5 wiki and by searching in the mail archive but I might have used wrong keywords.

My goal is to generate a directed graph of my tapestry website. The pages will be the nodes and the oriented edges will be the different inputs/outputs of page. For example, if a page can be accessed with two different context, a ajax form and two pagelinks to other pages, the corresponding node should have two incoming edges, one reflexive edge and two outgoing edges. This graph will help to generate tests that will be run by other developers.

To generate this graph, at first I reinvent the wheel : I build a model representation of a typical tapestry page. I tried to fill it by introspection using Tapestry annotations and TML files. But I realized it may be not the cleverer way to do it. So I look how was thing done in Tapestry. I found into Tapestry source code that there is different packages that are involved in tapestry object representation of the website : org.apache.tapestry5.dom, org.apache.tapestry5.model, org.apache.tapestry5.internal.model, org.apache.tapestry5.internal.parser, org.apache.tapestry5.internal.renderer and others. But I was unable to get Tapestry representation of a page.

Is there a service or a hook somewhere or even a simpler way to enumerate for each page page of my web site the inputs/outputs? Maybe someone has already done this or there is a library/add-on for this?

Thanks for your help,

Thibaut



Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité du groupe Atos ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.

This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.

Re: [Tapestry 5.1.0.5] Accessing Tapestry Page Model to find Inputs/outputs of a page/component

Posted by Andreas Andreou <an...@gmail.com>.
i can't really help - just want to say this brings back some nice memories,
http://blog.andyhot.gr/A_new_tool_for_Tapestry/
http://blog.andyhot.gr/diagrams_for_tapestry/

I wish your project goes forward!

On Thu, Jul 21, 2011 at 16:49, Nazare Thibaut <th...@atos.net> wrote:
> Hello,
>
> It’s my first message here and I’m French, English is not my native language; please excuse typing errors.
> I looked for answers in the Tapestry 5 wiki and by searching in the mail archive but I might have used wrong keywords.
>
> My goal is to generate a directed graph of my tapestry website. The pages will be the nodes and the oriented edges will be the different inputs/outputs of page. For example, if a page can be accessed with two different context, a ajax form and two pagelinks to other pages, the corresponding node should have two incoming edges, one reflexive edge and two outgoing edges. This graph will help to generate tests that will be run by other developers.
>
> To generate this graph, at first I reinvent the wheel : I build a model representation of a typical tapestry page. I tried to fill it by introspection using Tapestry annotations and TML files. But I realized it may be not the cleverer way to do it. So I look how was thing done in Tapestry. I found into Tapestry source code that there is different packages that are involved in tapestry object representation of the website : org.apache.tapestry5.dom, org.apache.tapestry5.model, org.apache.tapestry5.internal.model, org.apache.tapestry5.internal.parser, org.apache.tapestry5.internal.renderer and others. But I was unable to get Tapestry representation of a page.
>
> Is there a service or a hook somewhere or even a simpler way to enumerate for each page page of my web site the inputs/outputs? Maybe someone has already done this or there is a library/add-on for this?
>
> Thanks for your help,
>
> Thibaut
>
>
>
> Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité du groupe Atos ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
>
> This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
>



-- 
Andreas Andreou - andyhot@apache.org - http://blog.andyhot.gr
Apache Tapestry PMC / http://chesstu.be owner
Open Source / JEE Consulting

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: [Tapestry 5.1.0.5] Accessing Tapestry Page Model to find Inputs/outputs of a page/component

Posted by Nazare Thibaut <th...@atos.net>.
> Thiago H. de Paula Figueiredo  : thank for the tip, I will look into it right away.

> Andreas Andreou  : I knew someone would have had the idea before me :) As soon as I have something robust enough I will share it with pleasure.

My next problem is how characterizing an input (parameters number, parameters class) without adding other annotations...

I'm open to other ideas of course on introspection.

Thanks again.

Thibaut


-----Message d'origine-----
De : Thiago H. de Paula Figueiredo [mailto:thiagohp@gmail.com]
Envoyé : jeudi 21 juillet 2011 16:30
À : Tapestry users
Objet : Re: [Tapestry 5.1.0.5] Accessing Tapestry Page Model to find Inputs/outputs of a page/component

On Thu, 21 Jul 2011 10:49:32 -0300, Nazare Thibaut
<th...@atos.net> wrote:

> Hello,

Hi!

> But I was unable to get Tapestry representation of a page.

You can get that by using the ComponentSource service and its methods,
then use the Component.getComponentResources().getEmbeddedComponent() and
Component.getComponentResources().getComponentModel().getEmbeddedComponentIds().
I'm not sure it will provide all the information you'll need, but that's
what would be my starting point.

> Is there a service or a hook somewhere or even a simpler way to
> enumerate for each page page of my web site the inputs/outputs?

Out of the box, as far as I know, no.

--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org




Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité du groupe Atos ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.

This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.

Re: [Tapestry 5.1.0.5] Accessing Tapestry Page Model to find Inputs/outputs of a page/component

Posted by "Thiago H. de Paula Figueiredo" <th...@gmail.com>.
On Thu, 21 Jul 2011 10:49:32 -0300, Nazare Thibaut  
<th...@atos.net> wrote:

> Hello,

Hi!

> But I was unable to get Tapestry representation of a page.

You can get that by using the ComponentSource service and its methods,  
then use the Component.getComponentResources().getEmbeddedComponent() and  
Component.getComponentResources().getComponentModel().getEmbeddedComponentIds().  
I'm not sure it will provide all the information you'll need, but that's  
what would be my starting point.

> Is there a service or a hook somewhere or even a simpler way to  
> enumerate for each page page of my web site the inputs/outputs?

Out of the box, as far as I know, no.

-- 
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org