Re: Access final static fields from template

2008-09-30 Thread Francois Armand

Hugo Palma wrote:

Is this possible in T5 without having to provide a getter method ?

I think not for the time being, and if I remember a thread in the ml, 
it's the kind of feature that would be added into the template language 
enhancement predicted with T5.1.


But if you find a solution, I'm interested :)

--
Francois Armand
Etudes  Développements J2EE
Groupe Linagora - http://www.linagora.com
Tél.: +33 (0)1 58 18 68 28
---
InterLDAP - http://interldap.org 
FederID - http://www.federid.org/

Open Source identities management and federation


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Access final static fields from template

2008-09-30 Thread Howard Lewis Ship
Currently, I add otherwise useless getter methods to expose those
constants to the template. It's ugly but it works.

On Tue, Sep 30, 2008 at 12:37 AM, Francois Armand [EMAIL PROTECTED] wrote:
 Hugo Palma wrote:

 Is this possible in T5 without having to provide a getter method ?

 I think not for the time being, and if I remember a thread in the ml, it's
 the kind of feature that would be added into the template language
 enhancement predicted with T5.1.

 But if you find a solution, I'm interested :)

 --
 Francois Armand
 Etudes  Développements J2EE
 Groupe Linagora - http://www.linagora.com
 Tél.: +33 (0)1 58 18 68 28
 ---
 InterLDAP - http://interldap.org FederID - http://www.federid.org/
 Open Source identities management and federation


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]





-- 
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Access final static fields from template

2008-09-30 Thread Hugo Palma

Is this planned for 5.1 ?
Any issue for it so i can follow ?

Howard Lewis Ship wrote:

Currently, I add otherwise useless getter methods to expose those
constants to the template. It's ugly but it works.

On Tue, Sep 30, 2008 at 12:37 AM, Francois Armand [EMAIL PROTECTED] wrote:
  

Hugo Palma wrote:


Is this possible in T5 without having to provide a getter method ?

  

I think not for the time being, and if I remember a thread in the ml, it's
the kind of feature that would be added into the template language
enhancement predicted with T5.1.

But if you find a solution, I'm interested :)

--
Francois Armand
Etudes  Développements J2EE
Groupe Linagora - http://www.linagora.com
Tél.: +33 (0)1 58 18 68 28
---
InterLDAP - http://interldap.org FederID - http://www.federid.org/
Open Source identities management and federation


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







  


Available locales

2008-09-30 Thread José Paumard

Hello all,

I defined a set of available locales in my AppModule class, and it works 
fine. In a component or a page class, when I use :


   @Inject @Symbol(tapestry.supported-locales)
   private String supportedLocales ;

the string I get is correct.

Now what I would like to get is a ListLocale rather than a string with 
a coma separated list of ISO codes, so I made a service :


public class MyLocaleServiceImpl implements MyLocaleService {

   @Inject @Symbol(tapestry.supported-locales)
   private String availableLocales ;

   public ListLocale getSupportedLocales() {
  ...
   }
}

... but the availableLocales value is null in that case. Is it supposed 
to work like or is it a bug ?


Thank you,

José


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: pass list of string/object between Tapestry pages

2008-09-30 Thread Tuan

Hi wesley,

Beside activate  passivate way, you can pass parameters (objects or 
string) between pages by using Persit data with Flash option.

Ex:
@persist (value=flash)
User user;

Reference link: 
http://tapestry.apache.org/tapestry5/tapestry-core/guide/persist.html


Regards
Tuan

wesley wrote:

hi all,

is there any way to pass a list of string or user defined objects between
pages in tapestry 5? currently like CRUD operation, the only way to pass
parameter around is only string through onActivate() and onPassivate(). 


please advise, thanks

regards,
wesley
  



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: pass list of string/object between Tapestry pages

2008-09-30 Thread José Paumard

Wesley,

I think you have 3 ways of doing that :
1) if the data you pass from one page to another is simple (a short 
string, of an integer for instance), you can get a ref on that page, put 
this value in it, and use the onPassivate / onActivate mecanism to store 
it, something like that :


Page 1 :
@InjectPage
private Page2 page2 ;

somewhere in your code :
page2.setValue(32) ;

Page 2 :
private int value ; // with setter and getter

int onPassivate() { return value ; }
void onActivate(int value) { this.value = value } ;

Now if value is a more complex object, you have to make it a string, and 
to rebuild it from that string... not always very handy, but the T5 JSON 
support might help you.


2) Use @Persist
Code for page 1 is the same
Page 2  :
@Persist
private MyClass value ; // with getter and setter

// dont use onActivate / onPassivate

3) Use @ApplicationState
Page 1 :
@ApplicationState
private MyClass value ;

somewhere in your code :
this.value = value ;

Page 2
@ApplicationState
private MyClass value ;

and value will have the value you set in page 1. Note that this is bound 
to the class name, and it doesnt support templates (because of the way 
templates are supported in Java 5).






hi all,

is there any way to pass a list of string or user defined objects between
pages in tapestry 5? currently like CRUD operation, the only way to pass
parameter around is only string through onActivate() and onPassivate(). 


please advise, thanks

regards,
wesley
  



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Problem injecting ApplicationStateManager into service implementing commons-upload ProgressListener

2008-09-30 Thread Pierre-Alain RIVIERE
Hello,

I'm trying to add upload progress support to tapestry-upload. That why
I've hack a bit tapestry-upload (5.0.15) to allow injection of a
org.apache.commons.fileupload.ProgressListener implementation.

You can find my modifications here (diff from 5.0.15) :
http://pastebin.com/m500a4293

Then, in my application, I want to do the following (using
http://wiki.apache.org/tapestry/Tapestry5HowToCreateADispatcher2 as a
reference)
- Define a ProgressListener implementation using PER_THREAD scope. This
implementation will be automatically injected to
org.apache.tapestry5.upload.internal.services.MultipartDecoderImpl
- Inject ApplicationStateManager into my ProgressListener implementation
though constructor.
- Update a specific ASO to update upload progress state.


Here the relevant part of my code, with, in each case, a link to the
full code


AppModule : http://pastebin.com/m3b575d9b
--
public static void bind(ServiceBinder binder) {
binder.bind(ProgressListener.class, 
ProgressListenerImpl.class).scope(
IOCConstants.PERTHREAD_SCOPE);
}


ProgressListenerImpl : http://pastebin.com/m696026fb
--
this.data = applicationStateManager.get(UserData.class);




Using this code I've got a NPE when ApplicationStateManager try to get
the HttpSession : http://pastebin.com/m1f968817
In debug mode, request.getSession() throws NPE.


With help of #tapestry, I've also try to inject HttpServletRequest
instead of ApplicationStateManager but the behavior is the same
(http://pastebin.com/m59c6dcff)


Do you have any clue to help to solve this issue?





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Available locales

2008-09-30 Thread Ulrich Stärk
You can't just use @Inject on a service's field. Instead pass the symbol
to your service's constructor. E.g. in AppModule.java:

public MyLocaleService buildLocaleService(@Inject
@Symbol(tapestry.supported-locales) final String supportedLocales) {
return new MyLocaleServiceImpl(supportedLocales);
}

HTH,

Uli

Am Di, 30.09.2008, 11:10, schrieb José Paumard:
 Hello all,

 I defined a set of available locales in my AppModule class, and it works
fine. In a component or a page class, when I use :

 @Inject @Symbol(tapestry.supported-locales)
 private String supportedLocales ;

 the string I get is correct.

 Now what I would like to get is a ListLocale rather than a string with
a coma separated list of ISO codes, so I made a service :

 public class MyLocaleServiceImpl implements MyLocaleService {

 @Inject @Symbol(tapestry.supported-locales)
 private String availableLocales ;

 public ListLocale getSupportedLocales() {
...
 }
 }

 ... but the availableLocales value is null in that case. Is it supposed
to work like or is it a bug ?

 Thank you,

 José


 - To
unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]







-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Available locales

2008-09-30 Thread Blower, Andy
I think that you need to inject the symbol as an argument to your service's 
constructor using a build method in your module.

 -Original Message-
 From: José Paumard [mailto:[EMAIL PROTECTED]
 Sent: 30 September 2008 10:10
 To: users@tapestry.apache.org
 Subject: Available locales

 Hello all,

 I defined a set of available locales in my AppModule class, and it
 works
 fine. In a component or a page class, when I use :

 @Inject @Symbol(tapestry.supported-locales)
 private String supportedLocales ;

 the string I get is correct.

 Now what I would like to get is a ListLocale rather than a string
 with
 a coma separated list of ISO codes, so I made a service :

 public class MyLocaleServiceImpl implements MyLocaleService {

 @Inject @Symbol(tapestry.supported-locales)
 private String availableLocales ;

 public ListLocale getSupportedLocales() {
...
 }
 }

 ... but the availableLocales value is null in that case. Is it supposed
 to work like or is it a bug ?

 Thank you,

 José


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: pass list of string/object between Tapestry pages

2008-09-30 Thread Thiago H. de Paula Figueiredo

Em Tue, 30 Sep 2008 06:16:05 -0300, Tuan [EMAIL PROTECTED] escreveu:

Beside activate  passivate way, you can pass parameters (objects or  
string) between pages by using Persit data with Flash option.

Ex:
@persist (value=flash)
User user;


@Persist field values are local to a given page and are *not* shared  
between pages.

To share session information between pages, @ApplicationState is used. ;)

Thiago

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Tapestry and Grizzly

2008-09-30 Thread Dragan Djuric

Hi,

Has anyone tried to use Tapestry without a classic Servlet container + war
setup? I am thinking of using Tapestry with Grizzly, where Tapestry IoC or
Spring is used as a container that configures and instantiates Grizzly and
supplies it with a light Tapestry application preferably packaged as an
ordinary jar file.
I have seen that Grizzly has a Servlet adapter, which for now only has a
partial support for Servlet spec - is that partial support enough for
Tapestry?
I would even try to avoid servlets completely - what has to be done to
acomplish that? Is it possible for tapestry Request/Response and other
infrastructure elements to work without a full-blown Servlet implementation? 
-- 
View this message in context: 
http://www.nabble.com/Tapestry-and-Grizzly-tp19742313p19742313.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



T5: t:select how to disable and re-enable

2008-09-30 Thread Russell Brown

Hi,
I am using a T5 select component. When the form renders I wish the select to be 
disabled so I use disabled=true parameter. However, some javascript causes 
the field to become enabled. If this happens however the value selected does 
not get sent into the property of the component. I am assuming this is thanks 
to the feature decribed here 
http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry5/corelib/components/Select.html
 thussly : 

If true, then the field will render out with a disabled attribute (to turn off 
client-side behavior). Further, a disabled field ignores any value in the 
request when the form is submitted. 

So how to set the select value to disabled initially but not make it stay that 
way for ever?

Thanks in advance for your ideas, I have resorted to adding a little javascript 
that sets it so on load but that is a bit of hack for some fairly simple 
functionality.

Any reason WHY Further, a disabled field ignores any value in the request when 
the form is submitted. this seems to offer zero advantage and loads of problems

Cheers

Russell

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: T5: t:select how to disable and re-enable

2008-09-30 Thread Andy Pahne


Maybe it's possible that you disable your select only clientside?
If you do so there won't be any problems if you later on enable it again.

Andy


Russell Brown schrieb:

Hi,
I am using a T5 select component. When the form renders I wish the select to be disabled so I use disabled=true parameter. However, some javascript causes the field to become enabled. If this happens however the value selected does not get sent into the property of the component. I am assuming this is thanks to the feature decribed here http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry5/corelib/components/Select.html thussly : 


If true, then the field will render out with a disabled attribute (to turn off 
client-side behavior). Further, a disabled field ignores any value in the request when 
the form is submitted. 

So how to set the select value to disabled initially but not make it stay that 
way for ever?

Thanks in advance for your ideas, I have resorted to adding a little javascript 
that sets it so on load but that is a bit of hack for some fairly simple 
functionality.

Any reason WHY Further, a disabled field ignores any value in the request when the 
form is submitted. this seems to offer zero advantage and loads of problems

Cheers

Russell


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: T5: t:select how to disable and re-enable

2008-09-30 Thread Russell Brown

 

Maybe it's possible that you disable your select only clientside?
If you do so there won't be any problems if you later on enable it again.
.
Andy

Thanks Andy: like I said 
 Thanks in advance for your ideas, I have resorted to adding a little 
 javascript that sets it so on load but that is a bit of hack for some fairly 
 simple functionality.

Seems like the only way. Boo. So I have to use the RenderSupport and get the 
client Id using the tapestry tricks and inject the component and write a fair 
bit of code just to side step a pretty bizarre and unexplained feature. Sure, 
it is possible and it works. But the question still standswhy?

Russell

Russell Brown schrieb:
 Hi,
 I am using a T5 select component. When the form renders I wish the select to 
 be disabled so I use disabled=true parameter. However, some javascript 
 causes the field to become enabled. If this happens however the value 
 selected does not get sent into the property of the component. I am assuming 
 this is thanks to the feature decribed here 
 http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry5/corelib/components/Select.html
  thussly : 
 
 If true, then the field will render out with a disabled attribute (to turn 
 off client-side behavior). Further, a disabled field ignores any value in the 
 request when the form is submitted. 
 
 So how to set the select value to disabled initially but not make it stay 
 that way for ever?
 
 Thanks in advance for your ideas, I have resorted to adding a little 
 javascript that sets it so on load but that is a bit of hack for some fairly 
 simple functionality.
 
 Any reason WHY Further, a disabled field ignores any value in the request 
 when the form is submitted. this seems to offer zero advantage and loads of 
 problems
 
 Cheers
 
 Russell

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Re: T5: t:select how to disable and re-enable

2008-09-30 Thread Kristian Marinkovic
it is not enough to enable the select box only on the client site.
because if you render a select component with disabled=true
tapestry wont even register the necessary event handler to 
process the submission.

in tapestry 5 words: no ProcessSubmission component 
event will be serialized into the form thus no values will be 
processed. :)  (see Select-AbstractField component source code)

i see two possibilities: as mentiond by andy do everything on the
client side or do a ajax request (zone) updatind the select component
with disabled=false.

g,
kris





Andy Pahne [EMAIL PROTECTED] 
30.09.2008 15:45
Bitte antworten an
Tapestry users users@tapestry.apache.org


An
Tapestry users users@tapestry.apache.org
Kopie

Thema
Re: T5: t:select how to disable and re-enable








Maybe it's possible that you disable your select only clientside?
If you do so there won't be any problems if you later on enable it again.

Andy


Russell Brown schrieb:
 Hi,
 I am using a T5 select component. When the form renders I wish the 
select to be disabled so I use disabled=true parameter. However, some 
javascript causes the field to become enabled. If this happens however the 
value selected does not get sent into the property of the component. I am 
assuming this is thanks to the feature decribed here 
http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry5/corelib/components/Select.html
 
thussly : 
 
 If true, then the field will render out with a disabled attribute (to 
turn off client-side behavior). Further, a disabled field ignores any 
value in the request when the form is submitted. 
 
 So how to set the select value to disabled initially but not make it 
stay that way for ever?
 
 Thanks in advance for your ideas, I have resorted to adding a little 
javascript that sets it so on load but that is a bit of hack for some 
fairly simple functionality.
 
 Any reason WHY Further, a disabled field ignores any value in the 
request when the form is submitted. this seems to offer zero advantage 
and loads of problems
 
 Cheers
 
 Russell

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




RE: T5: t:select how to disable and re-enable

2008-09-30 Thread Russell Brown

Thanks guys,
Like I said in the initial post: I am doing this on the client side, because I 
have to.

Doing it on the clientside involves jumping through some hoops. Namely, inject 
the component to get its id and then add some javascript to the page using 
RenderSupport. No problem. It iss done... but I am just wondering aloud on the 
list why I need to jump through the hoops. Why tapestry 5 has this feature that 
costs me a lot to circumvent and benefits me very little? I'd just like to know 
in what cases there is a benefit to this behavior so that I don't feel like I 
am being made to suffer (just like I used to in struts)

Cheers
Russell

-Original Message-
From: Kristian Marinkovic [mailto:[EMAIL PROTECTED]
Sent: Tue 9/30/2008 2:55 PM
To: Tapestry users
Subject: Re: T5: t:select how to disable and re-enable
 
it is not enough to enable the select box only on the client site.
because if you render a select component with disabled=true
tapestry wont even register the necessary event handler to 
process the submission.

in tapestry 5 words: no ProcessSubmission component 
event will be serialized into the form thus no values will be 
processed. :)  (see Select-AbstractField component source code)

i see two possibilities: as mentiond by andy do everything on the
client side or do a ajax request (zone) updatind the select component
with disabled=false.

g,
kris





Andy Pahne [EMAIL PROTECTED] 
30.09.2008 15:45
Bitte antworten an
Tapestry users users@tapestry.apache.org


An
Tapestry users users@tapestry.apache.org
Kopie

Thema
Re: T5: t:select how to disable and re-enable








Maybe it's possible that you disable your select only clientside?
If you do so there won't be any problems if you later on enable it again.

Andy


Russell Brown schrieb:
 Hi,
 I am using a T5 select component. When the form renders I wish the 
select to be disabled so I use disabled=true parameter. However, some 
javascript causes the field to become enabled. If this happens however the 
value selected does not get sent into the property of the component. I am 
assuming this is thanks to the feature decribed here 
http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry5/corelib/components/Select.html
 
thussly : 
 
 If true, then the field will render out with a disabled attribute (to 
turn off client-side behavior). Further, a disabled field ignores any 
value in the request when the form is submitted. 
 
 So how to set the select value to disabled initially but not make it 
stay that way for ever?
 
 Thanks in advance for your ideas, I have resorted to adding a little 
javascript that sets it so on load but that is a bit of hack for some 
fairly simple functionality.
 
 Any reason WHY Further, a disabled field ignores any value in the 
request when the form is submitted. this seems to offer zero advantage 
and loads of problems
 
 Cheers
 
 Russell

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

t5: force display of zone

2008-09-30 Thread Angelo Chen

Hi,

I have actionlinks in the grid, and a display zone at top of the page, when
actionlink is clicked, the zone will be displayed. sometimes the grid has
many rows so when user click, he can't see the zone at top. is there a way
to force the zone to go into the view when actionLink is clicked? Thanks.

Angelo
-- 
View this message in context: 
http://www.nabble.com/t5%3A-force-display-of-zone-tp19743357p19743357.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: T5: t:select how to disable and re-enable

2008-09-30 Thread Ulrich Stärk
Have a look at the FormFragment component and the TriggerFragment mixin
for the Radio and Checkbox components. This is basically what you want. It
just hides the fragment of the form completely from the user instead of
disabling it.

Uli

Am Di, 30.09.2008, 16:27, schrieb Russell Brown:

 Thanks guys,
 Like I said in the initial post: I am doing this on the client side,
 because I have to.

 Doing it on the clientside involves jumping through some hoops. Namely,
 inject the component to get its id and then add some javascript to the
 page using RenderSupport. No problem. It iss done... but I am just
 wondering aloud on the list why I need to jump through the hoops. Why
 tapestry 5 has this feature that costs me a lot to circumvent and benefits
 me very little? I'd just like to know in what cases there is a benefit to
 this behavior so that I don't feel like I am being made to suffer (just
 like I used to in struts)

 Cheers
 Russell

 -Original Message-
 From: Kristian Marinkovic [mailto:[EMAIL PROTECTED]
 Sent: Tue 9/30/2008 2:55 PM
 To: Tapestry users
 Subject: Re: T5: t:select how to disable and re-enable

 it is not enough to enable the select box only on the client site.
 because if you render a select component with disabled=true
 tapestry wont even register the necessary event handler to
 process the submission.

 in tapestry 5 words: no ProcessSubmission component
 event will be serialized into the form thus no values will be
 processed. :)  (see Select-AbstractField component source code)

 i see two possibilities: as mentiond by andy do everything on the
 client side or do a ajax request (zone) updatind the select component
 with disabled=false.

 g,
 kris





 Andy Pahne [EMAIL PROTECTED]
 30.09.2008 15:45
 Bitte antworten an
 Tapestry users users@tapestry.apache.org


 An
 Tapestry users users@tapestry.apache.org
 Kopie

 Thema
 Re: T5: t:select how to disable and re-enable








 Maybe it's possible that you disable your select only clientside?
 If you do so there won't be any problems if you later on enable it again.

 Andy


 Russell Brown schrieb:
 Hi,
 I am using a T5 select component. When the form renders I wish the
 select to be disabled so I use disabled=true parameter. However, some
 javascript causes the field to become enabled. If this happens however the
 value selected does not get sent into the property of the component. I am
 assuming this is thanks to the feature decribed here
 http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry5/corelib/components/Select.html
 thussly :

 If true, then the field will render out with a disabled attribute (to
 turn off client-side behavior). Further, a disabled field ignores any
 value in the request when the form is submitted. 

 So how to set the select value to disabled initially but not make it
 stay that way for ever?

 Thanks in advance for your ideas, I have resorted to adding a little
 javascript that sets it so on load but that is a bit of hack for some
 fairly simple functionality.

 Any reason WHY Further, a disabled field ignores any value in the
 request when the form is submitted. this seems to offer zero advantage
 and loads of problems

 Cheers

 Russell

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



T5: actionlink calls onActivate twice: detecting first time

2008-09-30 Thread Britske

as part of onActivate I do some processing: 
- user validation
- parsing of params
- DAO / repository calls etc.

I want to avoid as much of this work as possible obviously. 
When this counts a lot is when actions are used. In that case the flow is
like: 

click -- onActivate -- onAction -- onActivate. (please comment if this is
not as it should be)
ultimately leading to calling the above code twice, while the first-time
(the activate before the onAction) this particular code doesn't need to be
executed (except the validation). 

This caused me to think that perhaps using the onActivate method isn't the
best place to load entities which are used for rendering (and not for page
navigation). 
However, methods like beginRender and setupRender are called twice as well.
Isn't this strange?? I thought setupRender, beginRender as well as any
method called through the page-template would be called in the Render-action
only. (So in this case only after the second onActivate occurs) correct?

So basically what I'm asking is:
- is the observerd behavior correct? or does this sound strange?
- where would be the best plave of isolating information neded to run in the
render-action only? And how would I make sure that indeed it is only run in
the Render-action?

Thanks in advance,
Britske
-- 
View this message in context: 
http://www.nabble.com/T5%3A-actionlink-calls-onActivate-twice%3A-detecting-first-time-tp19745430p19745430.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: T5: CMS Integration

2008-09-30 Thread Lutz Hühnken
Dear Mr. Mason,

 Tapestry features so I can't us a conventional CMS like Magnolia. Has
 any one else had any success with this sort of integration.

yes, we had. If you look for example at www.go7seas-kreuzfahrten.de,
you will see a hybrid. The cruises, the booking process, ship and
journey information are all part of a tapestry application. All the
pages in the Information and Service areas are maintained by the
customer using the Magnolia CMS.
The site is somewhat beta, so please be forgiving if you notice any glitches.

 What I was thinking was using Magnolia or another CMS as an editor
 then accessing the CMS's JCR data store (such as Jack Rabbit)
 directly. Then when the component tries to load its template it
 fetches it directly form the JCR.
[...]
 My problem is I am not really sure if this is possible using
 Tapestries IOC. I realise I could make changes to the tapestry code

I think the approach you describe is very well possible and would not
even involve any low-level changes or overriding services using
tapestry-ioc. One would have to implement a number of Tapestry
components that mirror the functionality given in the Magnolia JSP tag
library. Actually, I wanted to start an effort to do just that a long
time ago: http://sourceforge.net/projects/tapestry-jcr/;. I haven't
found the time yet, though.

However, the approach has the drawback that you will have to maintain
two versions of your templates - a JSP-based one for Magnolia, and the
Tapestry ones. Basically, you'd have every page twice.

That's why we chose a different approach. We use Magnolias output as
the input for Tapestry. That is, the rendered Magnolia page is
actually a Tapestry template. Since Magnolia uses JSP, these to
approaches don't interfere. You can easily add t:ids and such to your
Magnolia templates.
You can use Tapestry's template location mechanism to  get the pages
from Magnolia, and put any pre-generation and/or caching in between.


Hth,

Lutz Hühnken

http://www.altocon.de/

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



T5 integration with spring webflow

2008-09-30 Thread Patrick Munis
Does anyone know if T5 supports spring webflow? If not, is there a
timeline on when to expect this integration.?

Thank
PM

-- 
Sent from Gmail for mobile | mobile.google.com

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[T3] Spindle for Tapestry 3 and Eclipse 3.4

2008-09-30 Thread Geoff Longman
(assuming this will make it through moderation!)

[T3] Spindle for *Tapestry 3* and Eclipse 3.4

A build (3.4.1) of Spindle for Tapestry 3 that works correctly in
Eclipse 3.4.X has been published.

Please read the release notes as it is *not* available from the old
update site. Eventually the old update site will be retired.

Release Notes:
http://tinyurl.com/spindle3-4-1notes

Download:
http://tinyurl.com/spindle3-4-1download

Geoff

P.S. As an aside T5 appears to be humming along well (although I don't do
much java anymore so I'm not an authority!) Congrats to Howard et. al.

P.P.S In case that troll is still around.. Eat shit and die asshole. Don't
use my name for your stupidity.


Re: pass list of string/object between Tapestry pages

2008-09-30 Thread Alex Kotchnev
I didn't quite realize that a value in a page persisted in flash scope was
not accessible to other pages ( although now that you mention it, it seems
to make sense) . That's an interesting fact that seems to significantly
reduce the usefulness of flash scope, as in a traditional web app, this is
the perfect way to pass short lived data between two different pages.
However, it appears that using a combination of setters and flash scope
should still work, correct ? e.g.

@Persist(value=flash)
User user

public void setUser(User u) {
   this.user = u
}

Cheers,

Alex Kotchnev

On Tue, Sep 30, 2008 at 7:45 AM, Thiago H. de Paula Figueiredo 
[EMAIL PROTECTED] wrote:

 Em Tue, 30 Sep 2008 06:16:05 -0300, Tuan [EMAIL PROTECTED] escreveu:

  Beside activate  passivate way, you can pass parameters (objects or
 string) between pages by using Persit data with Flash option.
 Ex:
 @persist (value=flash)
 User user;


 @Persist field values are local to a given page and are *not* shared
 between pages.
 To share session information between pages, @ApplicationState is used. ;)

 Thiago


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




Re: pass list of string/object between Tapestry pages

2008-09-30 Thread Thiago H. de Paula Figueiredo
Em Tue, 30 Sep 2008 14:58:03 -0300, Alex Kotchnev [EMAIL PROTECTED]  
escreveu:


I didn't quite realize that a value in a page persisted in flash scope  
was not accessible to other pages ( although now that you mention it, it  
seems to make sense) .


It makes sense when you remember the mess that the use of HttpSession  
attributes was . . . It was always difficult to figure out who set a given  
attribute, and you had to be careful to not reuse the same attribute name  
in different pages . . . Argh. I love @Persist. :)



That's an interesting fact that seems to significantly
reduce the usefulness of flash scope, as in a traditional web app,  
this is the perfect way to pass short lived data between two different  
pages.


Don't forget that Tapestry uses redirect-after-post by default, so many  
times you @Persist(flash) something because you do not want that  
something to remain in the user session.


My applications tend to have a lot of @Persist(flash) and a few @Persist  
(almost all them storing search parameters used to fill a Grid).



However, it appears that using a combination of setters and flash scope
should still work, correct ? e.g.

@Persist(value=flash)
User user

public void setUser(User u) {
   this.user = u
}


Yes, it would. ;) That's exactly one of its uses:

class Page2 {
@Persist(flash)
private YourData data;
// getters and setters
}

class Page1 {
@Inject
private Page2 page2;

public Object onActionFromSomething() {
...
page2.setData(data);
return page2;
}
}

Thiago

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: T5: spring integration question

2008-09-30 Thread Lutz Hühnken
I'm just taking a guess here, but I think it won't. As far as I know
the tapestry spring integration was always limited to singleton beans.
I think the prototype variant is maybe difficult to handle since
tapestry ioc (and hivemind in the past) have a somewhat different
approach on object creation, using pooling and all, afaik.

I never really considered that a big drawback, though. Plus,
apparently you can just inject the application context and get your
prototype beans from there. See
http://tapestry.apache.org/tapestry5/tapestry-spring/ , last sentence.

Hth,

Lutz



On Sun, Sep 14, 2008 at 6:17 PM,  [EMAIL PROTECTED] wrote:
 Hi,

 I noticed in the documentation that non-singleton beans are not handled 
 properly, will this be fixed before the official release of T5?

 Regards,
 Amir


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: T5: ApplicationState keep throwing InternalComponentResources exception

2008-09-30 Thread djohnjimmy

Thanks that helpmed me.



ronaldlee wrote:
 
 Hi,
 
 I am using 5.0.13. For some reason when my ApplicationState object is
 being accessed, it will throw a runtime exception
 No service implements the interface
 org.apache.tapestry5.internal.InternalComponentResources.
 
 My applicationstate object is just a simple class contains an integer and
 a boolean, with a default no-arg constructor. I use applicationstate
 object in 5.0.6 before the same way but it doesn't cause any problem..
 why?
 
 thx.
 Ronald
 
 stack trace:
 #
 org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:523)
 #
 org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:46)
 #
 org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:627)
 #
 org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:681)
 #
 org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:49)
 #
 org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:209)
 #
 org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:239)
 #
 org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParametersForConstructor(InternalUtils.java:227)
 #
 org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:47)
 #
 org.apache.tapestry5.ioc.internal.ServiceResourcesImpl.autobuild(ServiceResourcesImpl.java:122)
 #
 org.apache.tapestry5.internal.services.ApplicationStateManagerImpl$1.create(ApplicationStateManagerImpl.java:98)
 #
 org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.get(SessionApplicationStatePersistenceStrategy.java:56)
 #
 org.apache.tapestry5.internal.services.ApplicationStateManagerImpl$ApplicationStateAdapter.getOrCreate(ApplicationStateManagerImpl.java:45)
 #
 org.apache.tapestry5.internal.services.ApplicationStateManagerImpl.get(ApplicationStateManagerImpl.java:126)
 

-- 
View this message in context: 
http://www.nabble.com/T5%3A-ApplicationState-keep-throwing-InternalComponentResources-exception-tp18435652p19748961.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[T5] tapestry-component-report fails

2008-09-30 Thread Thiago H. de Paula Figueiredo

Hi!

I'm just finishing some libraries (that I hope to release this week) and  
I'm trying to use the Maven Tapestry Component Report plugin v5.0.15, but  
it always fails with the following message:


Javadoc exit code: 1 - javadoc: error - Cannot find doclet class  
org.apache.tapestry.mojo.ParametersDoclet


I've checked, deleted and redownloaded tapestry-component-report to be  
sure that it wasn't a broken JAR issue, but it keeps failing. I tried to  
invoke Javadoc directly, but it fails just like the Maven plugin. Any  
ideas?


The generated component-report-javadoc-arguments.txt is here:

-private
-o
target\component-parameters.xml
-subpackages
br.com.arsmachina.tapestrycrud
-doclet
org.apache.tapestry.mojo.ParametersDoclet
-docletpath
D:\Documents and  
Settings\thiagohp\.m2\repository\org\apache\tapestry\tapestry-component-report\5.0.15\tapestry-component-report-5.0.15.jar

-sourcepath
E:\thiago\java\workspace\tapestry-crud\src\main\java
-classpath
D:\Documents and  
Settings\thiagohp\.m2\repository\javax\servlet\servlet-api\2.4\servlet-api-2.4.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\br\com\arsmachina\generic-controller\0.9\generic-controller-0.9.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\br\com\arsmachina\generic-dao\0.9\generic-dao-0.9.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\org\apache\tapestry\tapestry-core\5.0.15\tapestry-core-5.0.15.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\org\apache\tapestry\tapestry-ioc\5.0.15\tapestry-ioc-5.0.15.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\org\apache\tapestry\tapestry5-annotations\5.0.15\tapestry5-annotations-5.0.15.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\javassist\javassist\3.8.0.GA\javassist-3.8.0.GA.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\org\slf4j\slf4j-api\1.5.2\slf4j-api-1.5.2.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\log4j\log4j\1.2.14\log4j-1.2.14.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\org\slf4j\slf4j-log4j12\1.5.2\slf4j-log4j12-1.5.2.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\commons-codec\commons-codec\1.3\commons-codec-1.3.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\org\hibernate\hibernate\3.2.6.ga\hibernate-3.2.6.ga.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\net\sf\ehcache\ehcache\1.2.3\ehcache-1.2.3.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\commons-logging\commons-logging\1.0.4\commons-logging-1.0.4.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\commons-collections\commons-collections\2.1.1\commons-collections-2.1.1.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\javax\transaction\jta\1.0.1B\jta-1.0.1B.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\asm\asm-attrs\1.5.3\asm-attrs-1.5.3.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;D:\Documents  
and  
Settings\thiagohp\.m2\repository\antlr\antlr\2.7.6\antlr-2.7.6.jar;D:\Documents  
and Settings\thiagohp\.m2\repository\asm\asm\1.5.3\asm-1.5.3.jar


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]