Re: [ANNOUNCE] Tapestry 5.1.0.4 (beta release)

2009-04-30 Thread José Paumard
I came across this same error Construction of service ... has failed 
due to recursion several times in my T5 developer life. It was always 
when upgrading from one version to another, and it was always a 
classpath problem. I had to clean everything (quite blindly), restart 
Eclipse, clean some Jetty directories etc... to fix it.


José

Jun Tsai a écrit :
upgrade to 5.1.0.4,the following code throws exception,but 5.1.0.3 
works fine!

/**
 * Contributes the remote scope.
 */
public void contributeServiceLifecycleSource(
MappedConfigurationString, ServiceLifecycle configuration
) {

configuration.addInstance(CornerConstants.REMOTE_SCOPE,RemoteCallServiceLifecycle.class);

}

attachement is exception stack.

2009/4/28 Howard Lewis Ship hls...@gmail.com mailto:hls...@gmail.com

Tapestry 5.1.0.4 is now available via Maven and the Apache Mirrors.

http://tapestry.apache.org/download.html

This is a bug fix release, addressing a number of problems present in
5.1.0.3, and stabilizing the URLRewriter APIs.

We are looking forward to community feedback on this release; it looks
like there will be a .5 release to fix a small number of annoyances.


--
Howard M. Lewis Ship

Creator of Apache Tapestry
Director of Open Source Technology at Formos

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




--
regards,
Jun Tsai



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



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



Behavior of Resource.forFile()

2009-03-02 Thread José Paumard

Hello all,

I need to check the existence of an image in a  folder.

Here is what I first did  :

@Inject
@Path(context:images/folder)
private Asset imageFolder ;

public boolean isExists() {
   Resource image = imageFolder.getResource().forFile(getImageName()) ;
   return image.exists() ;
}

What I expect is image to point to context:images/folder/myimage.jpg, 
but it does not and this method always return false. In fact the 
folder part of the path is not present in the image resource, which is 
: context:images/myimage.jpg.


Now I'm not sure if this is a bug or if I'm wrong on the way forFile() 
is supposed to work. So any hint would be appreciated.


Thank you,

José

PS : btw there is a workaround, I'm not too happy with it :
String imageFilename = imageFolder.getResource().toURL().getFile() + 
getImageName() ;

File imageFile = new File(imageFilename) ;
return imageFile.exists()  imageFile.canRead() ;




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



Re: [DISCUSS] Should the quickstart archetype include tapestry-hibernate?

2009-01-23 Thread José Paumard
I think the archetype is fine as it is. IMHO adding the Hibernate 
support would confuse things (what to remove, what to keep), especially 
for beginners who are going to use this archetype. I'm developing my 4th 
T5 project, and I dont use the archetype any more. So maybe my point of 
view (archetype is for beginners) is biased.


BTW if you use Hibernate with annotations or through JPA you dont need 
hibernate.cfg.xml. So adding it might add to the confusion.


José

Howard Lewis Ship a écrit :

The title says it all.  It would be very easy to include
tapestry-hibernate as a dependency, and a minimal hibernate.cfg.xml
file as well.  Thoughts?

  



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



Re: T5: encoding issues

2008-12-23 Thread José Paumard

Hello Christoph,

Just a tought, but could it come from the encoding of your .java file ? 
It is UTF-8 too, as .tml and .propreties are ?


José

Christoph Jäger a écrit :


Hi,

I have a strange issue with character encoding. I use Tapestry 5 on a 
Tomcat 6.0.18 installation. No difference between java5 or java6, 
MacOSX or Linux.


Special characters on my pages look fine when they come from a .tml 
file, whne they come from a .properties file used for translations, 
and when they come from a database. They get garbled however if they 
come directly from some Java class. As an example a page class with 
the following method:


public String getSomeString() {
  return Water boils at 100 °C.;
}

and this in the corresponding .tml file:

Remember: ${someString}

creates output like:

Remember: Water boils at 100°C.

Maybe it's not even a Tapestry issue, but a Tomcat one?

Thanks,

Christoph Jäger



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






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



Searchable grid question

2008-12-16 Thread José Paumard

Hello all,

I have a pretty basic problem to solve, but I'm stuck with a 
no-solution and would ne happy to get hints from the list.


I would like to write a searchable grid component. It's a plain T5 
grid, with a first line made of textdields, instrumented with 
autocomplete mixins. When one types in something in a textfield, the 
autocompleter provides him with the relevant values in the columns, a 
very classical behavior.


Now I rewrote the Grid.tml to add this table line. The cellList property 
is just the getGridModel().getPropertyNames(), and T5 is happy, it 
generates my first line without any problem. The only problem I have, is 
that I cant set the names or the ids of the generated textfields. The 
series of generated textfields have ids textfield textfield_0 
textfield_1, etc... , and the same goes for the names. Anyway, even if 
I could generate them, I'm not sure it would solve my problem.


When I try to link them to my autocomplete mixin callback, things get 
worse. I tried on a simple case, with a 2 columns grid. I added the 
following method to my component class :

   @OnEvent(value=providecompletions,component=textfield)
   ListString autoCompleteId(String input) {
   logger.info(Providing completions for textfield) ;
   return new ArrayListString() ;
   }
  
   @OnEvent(value=providecompletions,component=textfield_0)

   ListString autoComplete0(String input) {
   logger.info(Providing completions for textfield_0) ;
   return new ArrayListString() ;
   }

But this second method is never called, the textfield_0 textfield 
calls the first method, not the second one.


Bytheway, I have another problem, that is a T5 textfield wants to be 
included in a form, and it bothers me to put an eclosing form component 
in that grid, bound to be used in other forms itself. So any hint on a 
workaround here would be also appreciated.


I think I'm in a dead end here, and I'm not sure where to go next. So 
any kind of hint would be much appreciated.


José


Here is the relevant part my TML for SearchableGrid.tml :

   table t:id=table
   thead t:id=columns/

   tbody

   tr
   t:form
   t:loop source=cellList value=cell
   t:if test=action
   td
   t:submit t:id=search/
   /td
   t:parameter name=else
   td
   t:textfield t:name=prop:cell 
t:value=prop:cell t:mixins=autocomplete/

   /td
   /t:parameter
   /t:if
   /t:loop
   /t:form
   /tr

   tr t:id=rows/
  
   /tbody

   /table



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



Re: T5: Problems with UTF8 encoding and t:mixins=autocomplete

2008-11-17 Thread José Paumard

Hello Maximilian,

I openned a JIRA issue on that point, it has been fixed in a snapshot of 
5.0.16. What version are you using ?


José

Maximilian Weißböck a écrit :

We are having trouble with UTF-8 encoded Strings like Weißböck  using the 
t:mixins=autocomplete.

Using a grid the name is all ok, no encoding problem, but using the mixin the 
encoding is broken.

Any hints to where the problem may be or where should start investigating?

The data is ok in the onProvideCopletionsFrom(String partial)  methode but is 
broken

on the web page. All pages and content type is encoded utf-8

 


Thanks, Max

 




DI Maximilian Weißböck
Competence Center Manager

 


Sphinx IT Consulting GmbH
A-1060 Wien, Mariahilfer Straße 103
T  +43 (0) 1 599 31 - 208
F  +43 (0) 1 599 31 - 99
M  +43 (0) 664 846 86 55
[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 
www.sphinx.at http://www.sphinx.at 
FN 71625g HG Wien


 



  



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



Re: AppPropertyBlocks @PageAttached

2008-11-06 Thread José Paumard

Howard,

Thank you for your answer, I understand what you mean, and thought about 
this approach.


But I dont see how I can do that for a property editor, since it is 
declared in its own page, and invoked implicitly through a beaneditor : 
I dont think I have the hand on what parameters are sent to it (maybe I 
missed something), all I can see is a PropertyEditContext is passed to 
the component. So I tried to find out if I can give my own 
implementation of that PropertyEditorContext, and putting in it a 
reference to the page that holds the bean editor, but couldnt.


On the other hand, what I want to do is to open my resource on 
PageAttach, and free it on PageDetach, there are several things in that, 
but basically, it's a JPA EntityManager. In a first version I had that 
in an injected service, but I have read / update or read / delete cycles 
in the same request, so I need to have the same entity manager all along 
the request. That is the reason why I moved it to the page, and it works 
fine, apart from that point.


José

Howard Lewis Ship a écrit :

I would address this using component parameters to tell the components
where they can obtain those resources from.  Perhaps there's a
ResourcesProvider interface that a page could implement.

The default for the parameter could be componentResources.page,
which would provide the containing page, cast to ResourcesProvider.

For AppPropertyBlocks, you'll need to bind the parameter more
directly, to whatever works as a proper ResourcesProvider.

Does that help?

Could you move the resource provider to a service, instead of the page?

  



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



AppPropertyBlocks @PageAttached

2008-11-05 Thread José Paumard

Hello all,

I just came across a problem that really puts me into trouble.

I have a page that holds some components. Those components need to 
access some resources bound to each page, initialized on the 
@PageAttached event. Those resources are closed on the @PageDetached event.


To access those resources in each component,  I use the following 
pattern in the component class, and everything works fine :


@Inject
private ComponentResources componentResources ;

public SomeResource getResource() {
   componentResources.getPage().getTheRightResource() ;
}

(think of a connection to a DB, or an EntityManager as a resource).

Now in some pages, I have home made property editors. Those are declared 
in a special fake page : AppPropertyBlocks. The 
componentResource.getPage() returns that page, which doesnt hold my 
resource, and this is my problem. I can understand why it does so, but 
when I call getPage(), I'm waiting for the page that in the end, will be 
sent to the client.


I'm not sure I'm missing something, any help / hint / workaround will be 
much appreciated !


José


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



Re: Construction of service 'MasterObjectProvider' has failed due to recursion

2008-10-13 Thread José Paumard

Joachim,

I met the same problem (5.0.15), and I'm having troubles with it. Could 
you solve it ? Any hint anyone ?


Thank you,

José

Joachim Van der Auwera a écrit :


Anybody know what the cause/solution for this error is (see exception 
below).


I am trying to integrate tapestry-sping-acegi and this exception occurs.

I have already assured all methods in AppModule are static, but that 
hasn't helped.


Any ideas?

Thanks,
Joachim

ERROR 
[org.apache.tapestry5.ioc.services.TapestryIOCModule.MasterObjectProvider] 
Construction of service MasterObjectProvider failed: Error invoking 
constructor 
org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl(List) 
(at MasterObjectProviderImpl.java:29) (for service 
'MasterObjectProvider'): Error invoking service contribution method 
org.apache.tapestry5.services.TapestryModule.contributeMasterObjectProvider(OrderedConfiguration, 
Alias, ObjectProvider): Exception constructing service 
'MasterObjectProvider': Construction of service 'MasterObjectProvider' 
has failed due to recursion: the service depends on itself in some 
way. Please check 
org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl(List) 
(at MasterObjectProviderImpl.java:29) for references to another 
service that is itself dependent on service 'MasterObjectProvider'.
java.lang.RuntimeException: Error invoking constructor 
org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl(List) 
(at MasterObjectProviderImpl.java:29) (for service 
'MasterObjectProvider'): Error invoking service contribution method 
org.apache.tapestry5.services.TapestryModule.contributeMasterObjectProvider(OrderedConfiguration, 
Alias, ObjectProvider): Exception constructing service 
'MasterObjectProvider': Construction of service 'MasterObjectProvider' 
has failed due to recursion: the service depends on itself in some 
way. Please check 
org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl(List) 
(at MasterObjectProviderImpl.java:29) for references to another 
service that is itself dependent on service 'MasterObjectProvider'.





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



Re: Construction of service 'MasterObjectProvider' has failed due to recursion

2008-10-13 Thread José Paumard

Sorry, it was my mistake, due to a mess in a pom.xml, that was
referencing both 5.0.15 and 5.0.14, following a merge. The problem is
now solved. 
J.




José Paumard a écrit :


Joachim,

I met the same problem (5.0.15), and I'm having troubles with it. 
Could you solve it ? Any hint anyone ?


Thank you,

José



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



Re: [T5] What is your missing feature / bloking bug before 5.0 ?

2008-10-10 Thread José Paumard

François,

I think we all agree that T5 is an outstanding framework on many points. 
I've been using it for nearly a year now, with great pleasure and 
satisfactions.


May I add those two issues :
https://issues.apache.org/jira/browse/TAPESTRY-2433
I reported this bug quite some time ago, Howard closed it when v0.15 got 
UTF8, but in fact it's still here.


And another one (https://issues.apache.org/jira/browse/TAPESTRY-2432), 
that really hinders the concept of customized property editor. This 
concept is very powerful : build your own property editor, put your 
beans in a bean editor, and everything works flawlessly (and it does !). 
But when your property spans over more than one basic component (and 
which one doesnt ? if is was a simple property, why would you be writing 
an editor for it ?), you cant have some of your code executed between 
the injection of the form values in your editor, and the reading of the 
edited property by T5 (T5 doesnt use the getter / setter stuff to read / 
write those properties). So you have no way to cleanly build your 
property object from the values in the HTML form.


And the third one (remember the spanish inquisition ? ;))

Please, ho please, remove that hard coded There is no data to display. 
from  Grid.tml !


Thank you,

José

Ulrich Stärk a écrit :

Am Fr, 10.10.2008, 10:56, schrieb Francois Armand:
  

Ok, so we reach the point where T5.0 final is imminent, and we are all
(I think) really happy of that.
As we also want that T5 really makes its way in the Java Web ecosystem,
I think it always miss some really little things that are really
important for a .0 release.

I purpose to start this discussion in the ml, and when some major gap
emerge, to post them in the issue tracker, and vote for them.

So, for me, what I expect for 5.0 :
1/ - full and complete and rather simple internationalization : I really
believe that a web framework can ignore other language and culture
(date, number) today ;
 that include validator translation and stuff like that.



I believe you meant can't ;-)

https://issues.apache.org/jira/browse/TAP5-211

This is the thing I care the most about as there is no workaround without
breaking other things.


  

2/ - valid XHTML, even for IE, by default. The workaround is here for
some time, but why it's not default ? See
http://wiki.apache.org/tapestry/Tapestry5HowToXhtml
3/ - something around AJAX documentation and Zone update inside a form
(that includes update of part of a form on change from a select :
https://issues.apache.org/jira/browse/TAP5-138)



That seems to be a very frequent use case and should really be implemented
soon.

  

4/- a property symbol provider, also simple and in use almost always
@see
http://wiki.apache.org/tapestry/Tapestry5HowToReadSymbolsFromPropertiesFile



I think this is not that important to have. There is a simple solution in
the wiki that people can refactor into a module, put it in a jar file and
drop it into their projects as needed. On the other hand this wouldn't be
too complicated to integrate into the core distribution, given that the
code already exists.

  

Without 1, T5 just can't get is path easely outside English contries ;
Without 2, T5 can hardly be considered top-level (even if on the
technical point of vue, it's completly rigth and it's IE fault), without
3, AJAX seems not so well integrated, and it's hot stuff todays, and 4
is so much common in a application, why do we have to bother with that
each time ?

Other simple stuff that should be corrected before 5.0 (in my opinion) :
- why hidden field is still missing ? It's so easy to add, a new user
should not even have to search for that !
- https://issues.apache.org/jira/browse/TAP5-257, that seems to bring
other pb with decorator and the like ;



Personally, I can live with all of those points except the localization
issues. On the other hand I think that most of your points can be solved
without much effort and therefore should be considered for the final
release.

Cheers,

Uli


-
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]



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 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]



Handling of the browser locale

2008-09-19 Thread José Paumard

Hello all,

I know this looks like a faq, but to be sure, is T5 supposed to set the 
current locale (the one we get by calling persistentLocale.get()) on 
each request, and does it work ? My problem is that I get null when I 
call persistentLocale.get(), with a locale set when I call 
request.getLocale(), and corresponding to a declared locale in 
tapestry.supported-locale. Am I missing something ?


Any info would be much appreciated,

José


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



Re: Handling of the browser locale

2008-09-19 Thread José Paumard
Ulrich, 

Many thanks for your very precise answer ! Indeed threadLocale.getLocale() is the way to go. 


José

Ulrich Stärk a écrit :


I'm not 100% firm in this area but I believe that the user's locale 
gets stored in the ThreadLocale service. This service is responsible 
for storing the current thread's locale, i.e. the locale for which 
pages, messages etc. are being generated. The locale in ThreadLocale 
gets set by a combination of various other services.


One of them is the PersistentLocale service. If you call 
persistentLocale.set(locale) a cookie is sent to the browser storing 
the desired locale. If you call persistentLocale.get() that value is 
read and returned. If no cookie has been set, this will be null. You 
can check that with persistentLocale.isSet().


persistentLocale.set() also overwrites the locale in the ThreadLocale 
service. If the desired locale is not in supported-locales, Tapestry 
chooses the nearest matching locale. Thus, querying the ThreadLocale 
service will give you the locale that Tapestry has chosen to generate 
pages, messages etc. in, taking into account PersistentLocale's value 
as well as the Request's locale.


So there are 3 ways to get the locale:

- request.getLocale() will give you the locale, that the browser sent
- persistentLocale.get() will give you the locale stored in a cookie 
in the user's browser or null, if no cookie is set
- threadLocale.getLocale() will give you the locale choosen by 
Tapestry, taking into account the Request's locale, PersistentLocale's 
locale (will be chosen over the Request's locale) and supported-locales.


HTH.

Cheers,

Uli



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



Re: Problem with aso

2008-09-03 Thread José Paumard

Natia,

I think there is a mistake in your code :

private User currUser ;
private boolean userExists ;

I dont think T5 will link userExists and currUser, currUser should be 
named user, or userExists currUserExists (please correct me if I'm wrong).


That said, what do you mean I cant access currUser, do you mean that 
the ASO is null in other classes that want to read it ? Or do you mean 
that userExists is always false (which is normal, see above).


José

Natia Gdzelishvili a écrit :

I'm using tapestry 5.0.14 ,i vahe problem with aso, my code is:

public class Login {
private String username;
private String password;
@Inject
private IBusinessServicesLocator _businessServicesLocator;
@ApplicationState
private User currUser;
private boolean userExists;


public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

@SuppressWarnings(unchecked)
@OnEvent(value = submit, component = loginForm)
public Object submitLoginForm() {
Class nextPage;
try {
User u=getMerchantCreator().login(username, password); //*returns
some object*
currUser = u; /*/ currUser object cannot be resolved*
nextPage = ViewAllMerchants.class;

} catch (UserNotFoundException e) {
nextPage = Login.class;
e.printStackTrace();
}
return nextPage;
}

private IMerchantCreatorLocal getMerchantCreator() {
return _businessServicesLocator.getMerchantCreatorLocal();
}
}

i cannot access curruser...
please help..

  



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



Re: T5 UTF-8 new behaviour in T5.0.14

2008-08-02 Thread José Paumard

Kalle,

I just made the test on my app, since I had a char encoding problem for 
about a week with 5.0.14-SNAPSHOT, and had to fallbacl to 5.0.13. So 
yes, accented chars in ISO-8859 properties files are not rendered 
properly in the final HTML page. If you switch the coding of that 
property file to UTF-8, things are ok.
Now I need to find out how to tell Eclipse to create UTF-8 property 
files by default...


José

Kalle Korhonen a écrit :

Does it mean that the old-school (name-value, not xml) property files for
Tapestry now *have to be* encoded in UTF-8 rather than the standard Latin-1?

Kalle
  



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



Re: how to set tapestry-5.0.13 to development mode

2008-08-01 Thread José Paumard

Argo,

There is a parameter in your web.xml file :
 context-param
 param-nametapestry.production-mode/param-name
 param-valuefalse/param-value
 /context-param

Maybe you can try that one.

José


Argo Vilberg a écrit :

tapestry.production-mode A flag (true or false) indicating whether the
application is running in production or in development. The default is true,
which means that runtime exceptions are not reported with full detail (only
the root exception message is displayed, not the entire stack of exceptions,
properties and other information shown in development mode).


And i add this rows to AppModule.java

public static void contributeApplicationDefaults(
MappedConfigurationString, String configuration)
{
configuration.add(SymbolConstants.PRODUCTION_MODE, false);
}




This option has no success.



Any ideas?



Argo

  



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



Re: T5: how to switch to 5.0.14 snapshot?

2008-08-01 Thread José Paumard

Angelo,

Do you have that one too ?

   repositories
   repository
   idtapestry-snapshots/id
   urlhttp://tapestry.formos.com/maven-snapshot-repository//url
   /repository
   /repositories

José

Angelo Chen a écrit :

I did, but got following error:

[ERROR] BUILD ERROR
[INFO]

[INFO] Failed to resolve artifact.

Missing:
--
1) org.apache.tapestry:tapestry-core:jar:5.0.14-SNAPSHOT



Davor Hrg wrote:
  

properties
   tapestry-release-version5.0.14-SNAPSHOT/tapestry-release-version
 /properties


On Fri, Aug 1, 2008 at 12:26 PM, Angelo Chen
[EMAIL PROTECTED]wrote:



Hi,

my pom.xml has following entries, what should I change to use the 5.0.14
snapshot? thanks.

 pluginRepositories

   !-- As above, this can be commented out when access to the snapshot
version
of a Tapestry Maven plugin is not required.

   pluginRepository
 idtapestry-snapshots/id
 urlhttp://tapestry.formos.com/maven-snapshot-repository//url
   /pluginRepository

   --

 /pluginRepositories

 properties
   tapestry-release-version5.0.13/tapestry-release-version
 /properties

--
View this message in context:
http://www.nabble.com/T5%3A-how-to-switch-to-5.0.14-snapshot--tp18771744p18771744.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]


  



  



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



T5 weird behavior

2008-07-31 Thread José Paumard

Hello all,

I just noticed something that I fail to explain. I'm using Eclipse / T5 
/ Jetty plugin, just as in the tutorial, and developing a T5 
application. I've been working on this configuration for quite some time 
now, and it's my 3rd application developped with T5.
What I saw, is a difference of behavior of the application when I run it 
normally and in debug mode. In normal mode, my app runs fine, and in 
debug mode, I've got a class cast exception on the following case.


I have a generic class associated with a form :

The class :

public abstract class MyObjectEditorT {
   public abstract T getMyObject() ;
   public abstract void setMyObject(T t) ;
   public abstract String getExcludeList() ;
}


The TML :

t:container xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd;
   t:form t:id=myobjecteditor
   t:errors/
   t:beaneditor t:id=myobject t:exclude=prop:excludelist/
   t:submit t:value=message:submit-label/
   /t:form
/t:container


Of course the abstract class is extended by concrete classes, let's say 
this one (a simplified version, there's not everything in it) :


public class AbstractSomeObjectEditor extends MyObjectEditorSomeObject {
   private SomeObject someObject ;

   @OnEvent(component=myobjecteditor,value=success)
   ResultPage createMyObject() {
   boolean created = objectService.createObject(getMyObject()) ;
   if (created) {
   resultPage.setMessage(messages.get(object-created)) ;
   } else {
   resultPage.setMessage(messages.get(object-not-created)) ;
   }
   return resultPage ;
   }
   @Override
   public SomeObject getMyObject() {
   return someObject ;
   }

   @Override
   public void setMyObject(SomeObject someObject) {
   this.someObject = someObject ;
   }

   @Override
   public String getExcludeList() {
   return id, creationDate, lastRevisionDate ;
   }
}

In normal mode, everything runs flawlessly. In debug mode I have the 
following exception :


location
   
classpath:org.mycomp.mywebapp.components.AbstractSomeObjectEditor.MyObjectEditor.tml,
   line 10, column 65 (this is the place where the beaneditor is)

java.lang.ClassCastException
java.lang.Object

# 
org.mycomp.mywebapp.components.AbstractSomeObjectEditor.setMyObject(AbstractSomeObjectEditor.java:1)
# 
org.apache.tapestry5.internal.bindings.PropBinding.set(PropBinding.java:66)
# 
org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.writeParameter(InternalComponentResourcesImpl.java:273)
# 
org.apache.tapestry5.corelib.components.BeanEditor._$update_parameter_object(BeanEditor.java)
# 
org.apache.tapestry5.corelib.components.BeanEditor.doPrepare(BeanEditor.java:162)
# 
org.apache.tapestry5.corelib.components.BeanEditor$Prepare.execute(BeanEditor.java:47)
# 
org.apache.tapestry5.corelib.components.BeanEditor$Prepare.execute(BeanEditor.java:41)
# 
org.apache.tapestry5.corelib.internal.FormSupportImpl.storeAndExecute(FormSupportImpl.java:98)
# 
org.apache.tapestry5.corelib.components.BeanEditor.setupRender(BeanEditor.java:141)
# 
org.apache.tapestry5.corelib.components.BeanEditor.setupRender(BeanEditor.java)
# 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$13$1.run(ComponentPageElementImpl.java:475)
# 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:895)
# 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$100(ComponentPageElementImpl.java:50)
# 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$13.render(ComponentPageElementImpl.java:479)
# 
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:68)
# 
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:108)


Any thoughts would be much appreciated,

José



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



Re: T5 weird behavior

2008-07-31 Thread José Paumard

Howard,

Thank you for your answer, yes debug mode = Eclipse debug mode, using 
the standard Jetty plugin.


I finally cleaned the project, all dependencies, restarted Eclipse (in one word, tried to start 
again from a completely clean state), and the problem is finally gone. But I still cant explain the 
difference between debug and normal mode, I thought the classpaths were the 
same... Maybe it's some kind of weird bug in that Maven plugin.

José


Howard Lewis Ship a écrit :

By debug mode, do you mean using the debugger, or do you mean with
production mode turned off?

In either case this is somewhat odd; the debugger shouldn't impact
code, and production mode shouldn't affect anything outside of the
exception report page.
  



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



T5.0.14-SNAPSHOT and UTF8

2008-07-25 Thread José Paumard

Hello all,

For a few days, I have noticed what seems a regression to me : all my 
non-ASCII chars are output badly in my HTML pages. I took back 5.0.13, 
and all was ok again. Is it me, or have you noticed the same things ?


Thank you,

José


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



Sending a StreamResponse on a request with parameters

2008-07-24 Thread José Paumard

Hello all,

I need to send a StreamResponse (namely XML, JPEG or PDF) on a 
particular request with parameters.


I currently use the following solution : making a page with the right 
name, getting request parameters in the classical way, through 
requet.getParameter(p),and sending the StreamResponse with the 
onActivate method.


I was wondering if there is a way to get the parameters automaticaly set 
using the @Parameter annotation ? Of course, when onActivate is called, 
those have not been set by T5.


Thank you,

José

Here is the (simplified) code of my page :

public class GetString {

   @Inject
   private HttpServletRequest request;
  
   public StreamResponse onActivate() {

   return new StreamResponse() {

   public String getContentType() {
   return text/plain ;
   }

   public InputStream getStream() throws IOException {
   String s = My param =  + request.getParameter(myparam) ;
   ByteArrayInputStream bis = new 
ByteArrayInputStream(s.getBytes()) ;

   return bis ;
   }

   public void prepareResponse(Response response) {
   }
   } ;
   }
}


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



Re: [T5] Looped component question

2008-07-07 Thread José Paumard
Thank you for your answer Tobias, but it wont work, because a component 
ID has to be a valid Java identifier.


José

Tobias Wehrum a écrit :


Hi José,

I currently have no time to test it, but did you try
t:textfield t:id=${propertyName} t:value=message:enter-search 
t:mixins=autocomplete/

?

- Tobias

José Paumard schrieb:

Hello all,

I'm using a component in a loop T5 feature, that looks like this :

   t:form t:id=...
   t:loop source=propertyNames value=propertyName 
encoder=encoder index=index

   td
   t:textfield t:id=propertyName 
t:value=message:enter-search t:mixins=autocomplete/

   /td
   /t:loop
   /t:form

It works very nicely, T5 creates a list of such textfields, with ids 
propertyName_0, propertyName_1, etc...


What I would like to get is the propertyName associated with the 
current text field in the autocomplete callback. I tried several 
things with no success. I even made a personnal text field, with just 
a property index in it :


t:util.textfield t:id=propertyName t:index=index 
t:value=message:enter-search t:mixins=autocomplete/


But this index property is 0, whatever the textfield that generates 
the call back. In fact, it seems to me that there's only one 
component text field in the model, whilst there are several in the 
HTML page.


So is there a way to get the propertyName in the autocomplete callback ?

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]






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



Re: T5 first time loading very slow.

2008-07-01 Thread José Paumard

Hello,

If you have an Hibernate module in yout T5 application, then it's most 
probably the time taken by Hibernate to scan the table in your DB schema.
I'm working on an app with both a Tomcat only and a Tomcat + JBoss 
deployment environment, in the 2nd case, it's JBoss that takes care of 
this DB verifying, and T5 launches like a breeze. In the 1st case, yes, 
it takes about 1mn for the webapp to start up. And of course in the 
Eclipse Jetty environment (the development one), it's the same, 
restarting the app takes about 1mn too.


Hope this helped,

José

Robert Zeigler a écrit :


Hi Tan,

I'm pretty sure this is NOT tapestry.
I have multiple apps of varying degrees of complexity, and it only 
ever takes a few seconds at most to startup T5.

You might consider profiling...

Robert

On Jul 1, 2008, at 7/112:46 AM , Tan [EMAIL PROTECTED] wrote:


Hi,

i have tried even pure tapestry code without javascript. it will take me
45sec ~ 1mins ++.
is that pagepool took too long to load up?
Thank you.

Cyber

On Tue, Jul 1, 2008 at 1:32 PM, Angelo Chen [EMAIL PROTECTED]
wrote:



does the page contain some javascripts? sometimes it takes to 
download, try

using Firefox's firebug to check how many Ks downloaded.


Tan [EMAIL PROTECTED] wrote:


hi all,

my T5 first time loading very slow. it need to take 45sec ~1mins++ by
using
Core2Duo.
is there any way to tune it?

Thank you.

REgards,
TAnMH




--
View this message in context:
http://www.nabble.com/T5-first-time-loading-very-slow.-tp18209457p18209544.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]





-
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] Application state objects names

2008-06-27 Thread José Paumard

Hello all,

I declared an ASO like that

@ApplicationState
private SomeIntfA a ;

It works very well, and I can find this object across all my pages. But 
then I declared another one  :


@ApplicationState
private SomeIntfB b ;

Following the way Java deals with templates, T5 considers that those two 
ASO are the same. It's not a big deal, I can extends SomeIntfT with 
SomeIntfA and SomeIntfB, and work things out like that, but I dont find 
that very elegant, plus it wont scale nicely as T takes more values.


So, would it be possible, or would it make sense, to have some kind of 
name attribute to the @ApplicationState, allowing one to discriminates 
ASO, something like that :


@ApplicationState(name=SomeIntfA)
private SomeIntfA a ;

and

@ApplicationState(name=SomeIntfB)
private SomeIntfB b ;

Bytheway, that would allow one to have different ASOs with the same type.

Thank you for your answers / thoughts / advice,

José


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



Re: Select model issue

2008-06-25 Thread José Paumard
Thank you Ulrich, you put me on the right track to solve the problem. 
Here is what I did precisely, just for the ones who'd need it.


In fact EnumSelectModel is final, so you cant extend it, but it's easy 
to build one, and T5 does all the work behind, esp. finding the right 
labels :


EnumSelectModel esm = new EnumSelectModel(BaseType.class, messages) ; // 
messages is injected by T5 IoC


then the options with the right labels can be accessed with :

esm.getOptions()

and the base types you dont want can easily be removed from this list.

José


Ulrich Stärk a écrit :


getValidBaseTypes has to return an Object which implements 
org.apache.tapestry5.SelectModel. If you want to filter out some enum 
values that shouldn't be displayed you could extend EnumSelectModel 
and overwrite the getOptions() method. In your own implementation make 
a call to the super class' getOptions() and remove the desired 
elements from the list returned.

This just comes to my mind, there might be a more elegant method.

Uli

José Paumard schrieb:

Hello all,

My TML is the following :

t:select t:id=basetype t:value=basetype/

The baseType property is of type BaseType, an enum with several 
values in it. When I declare theses values in the associated 
properties file, to make them readable, everything works fine.


Now if I declare my select like that :

t:select t:id=basetype t:value=basetype 
model=prop:validbasetypes/


The getValidBaseTypes returns an array of some BaseType values. 
Without changing my properties file, I expect to see a subset of the 
BaseType values in the drop down list (it is the case), in the same 
human-readable form. This last point doesnt work, they are not 
converted, I have the raw values in the drop down list.


Has anyone saw the same thing ? Is it supposed to work like that, 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]






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



[T5] How to get the enclosing page from a component ?

2008-06-17 Thread José Paumard

Hello all,

Sorry for asking such a question, that looks like a FAQ, but I couldnt 
find the answer.

Is there a way for a component to get a reference of its enclosing page ?

Thank you,

José


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



Re: [T5] How to get the enclosing page from a component ?

2008-06-17 Thread José Paumard

Many thanks for your answers.
J.

Cordenier Christophe a écrit :

Hello

Inject a 'ComponentResources' in your component, and call getPage() on it to 
obtain a reference to the enclosing page.

Christophe.

-Message d'origine-
De : José Paumard [mailto:[EMAIL PROTECTED]
Envoyé : mardi 17 juin 2008 13:09
À : users@tapestry.apache.org
Objet : [T5] How to get the enclosing page from a component ?

Hello all,

Sorry for asking such a question, that looks like a FAQ, but I couldnt
find the answer.
Is there a way for a component to get a reference of its enclosing page ?

Thank you,

José


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




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 Origin 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 Origin 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.


-
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: Exception when using a grid in a form

2008-06-10 Thread José Paumard
My grid is not in a form fragment, so I would say no, but I'm not sure. 
I really dont see why the volatile=true attribute could fix that.

Anyway, I'm openning a JIRA on this. It smells like a sneaky bug.
José

zack1403 a écrit :

On #tapestry, y informed me to try volatile=true, but this didnt fix the
issue for me.  Jose, maybe that might work for you?
Does it matter that my grid is within a formfragment?

Zack


zack1403 wrote:
  

Anyone have any ideas on this?  I am stuck on this exact same issue and
have not been able to find a workaround.

Zack





  



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



Exception when using a grid in a form

2008-06-06 Thread José Paumard

Hello all,

I put a grid in a form, and added a column in that grid, to hold special 
options about the item on the given row.


I wrote something like that in my TML :

t:form ... 
   t:grid add=action ... 
  t:parameter name=action
  /t:parameter
   /t:grid
   t:submit ... /
/t:form

It renders flawlessly, but when I submit it, before the event is fired 
in my class, I've got the following exception (sse the end of the post). 
I really think that it comes from the fact I added a column by hand, 
because when I remove it, everything works fine, my callback is properly 
called. Moreover, when I put the content of my action column in a 
normal, existing column, it also works perfectly.


Has anyone come across that ?

Thank you,

José



location
   classpath:org/apache/tapestry5/corelib/components/GridColumns.tml, 
line 4, column 33
   1thead 
xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; 
xml:space=default

   2tr
   3th t:type=Loop source=columnNames value=columnName 
volatile=true class=prop:headerClass

   4index=columnIndex
   5t:delegate to=blockForColumn/
   6t:block id=standardHeader
   7a t:id=sort${columnModel.label}/a
   8t:if test=columnModel.sortable
   9a t:id=sort2



# java.util.NoSuchElementException

Stack trace

   * java.util.AbstractList$Itr.next(AbstractList.java:427)
   * 
org.apache.tapestry5.corelib.components.Loop.advanceVolatile(Loop.java:316)
   * 
org.apache.tapestry5.corelib.components.Loop.access$200(Loop.java:38)
   * 
org.apache.tapestry5.corelib.components.Loop$3.execute(Loop.java:89)
   * 
org.apache.tapestry5.corelib.components.Loop$3.execute(Loop.java:93)
   * 
org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:396)
   * 
org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:315)
   * 
org.apache.tapestry5.corelib.components.Form$onAction$invocation_11a5e3dd926.invokeAdvisedMethod(Form$onAction$invocation_11a5e3dd926.java)
   * 
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:71)
   * 
org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37)
   * 
org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54)
   * 
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:80)

   * org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
   * 
org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java)
   * 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:872)
   * 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1025)
   * 
org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:67)
   * 
org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
   * 
org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
   * 
org.apache.tapestry5.services.TapestryModule$37.handle(TapestryModule.java:1987)
   * 
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:135)
   * 
org.apache.tapestry5.services.TapestryModule$12.service(TapestryModule.java:938)

   * org.limc.webapp.services.AppModule$3.service(AppModule.java:148)
   * org.limc.webapp.services.AppModule$1.service(AppModule.java:45)
   * 
org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42)
   * 
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:586)
   * 
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
   * 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
   * 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
   * 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
   * 
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:75)
   * 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
   * 
org.apache.tapestry5.services.TapestryModule$11.service(TapestryModule.java:918)
   * 
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)

   * org.limc.webapp.services.AppModule$2.service(AppModule.java:58)
   * 
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
   * 

Re: Callback in a propery editor

2008-05-28 Thread José Paumard

Hi Marcus,

Thank you for tour answer, but unfortunately, this event, as well as the 
others is not called in a property editor. And the class that holds the 
form, and in which the events are fired is not aware of this property 
editor, or at least I dont know how it could be...


José

Marcus a écrit :

Hi José,

Maybe you could use onValidateForm(), it's called before onSuccess().

Marcus

  



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



Re: Contributing to the BeanModel

2008-05-28 Thread José Paumard

Hello Marcus,

Thank you for your answer, but the customization provided by the 
BeanModel are about properties, their orders etc... A bean is built by a 
call to newInstance, defined in the BeanModel interface. The way the 
bean is built comes from InternalUtils.findAutobuildConstructor. This 
class choses a constructor with a given algorithm, namely it choses the 
constructor with the largest number of arguments.


Then T5 tries to match the arguments it needs with the services it has 
at hand. This approach is smart, but it would need a major refactoring 
of the object (old and legacy) model I already have, so I dont want to 
use it.


It would be great if I could write something like

   configuration.add(MyBean.class, constructor, myBeanConstructor) ;

to tell T5 what constructor I want to see used for what class, or

   configuration.add(MyBean.class, BeanModel.class, MyBeanModelImpl.class)

to tell T5 that for MyBean.class, I want to use the given implementation 
of bean model, in that case I could overide the newInstance method. But 
BeanModelImpl is in the internal package, so this would be a less robust 
approach.


Thank you,

José

Marcus a écrit :

Hi José,

Maybe this help.

http://tapestry.apache.org/tapestry5/tapestry-core/guide/beaneditform.html
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app3/
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app3/

Marcus

  



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



Re: Contributing to the BeanModel

2008-05-28 Thread José Paumard
Hello Filip, 


From what I understand, that would involve changing the object model

(not so nice, I dont have the hand on that), and making a dependency
from this model to T5. I can already hear ppl screaming at that ;)

Am I right ? 


Thank you,

José

Filip S. Adamsen a écrit :

Hi José,

You can put @Inject in the constructor you want Tapestry to use for 
auto-instantiation. Should solve your problem.


-Filip



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



T5: propery editor question

2008-05-22 Thread José Paumard

Hello,

(sorry for the double post, the previous one got a wrong subject)

I'm trying to get a contributed data analyzer to work. Basically, the
new data type is mapped in several textfields. The component works ok,
setting it up as a data analyzer contribution was almost ok (the doc
could be better on that point, there are some missing details), and it
displays correctly in a beaneditor.

Now my last problem is how to get the data from this component to my
page (or enclosing form component).

I tried this :
AppPropertyEditBlocks.tml :
t:block t:id=myDataAnalyzer
t:myDataEditor t:value=context.propertyValue/
t:/

With this in the corresponding class :
@Environmental
private PropertyEditContext context ;

public PropertyEditContext getContext() {
return context;
}

The parameter value is mapped to a r/w property in the MyDataEditor
class, but it seems the setter is never called, and the field stays null.

Any help or hint would be most welcomed !

JP


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



Re: T5: AJAX Zone updating doesn't work correctly in IE

2008-04-07 Thread José Paumard




Andy, 

I already pointed out this problem, that doesnt seem to be browser
related, but merely due to T5 conception. Basically Howard answered
that on a div refresh, the id of the refreshed elements nested in that
div are changed by T5 : a timestamp based code is added, making them
unique among the client DOM. If this div contains itself another div,
pointed by a link, then that link is lost. It explains the page
refresh, since your action link (or event link) points to nothing. 

Howard didnt make any clear statement about that, but it seems to me
that nesting Zones is not legal in T5, or at least needs some patching
in order to work properly. 

Jos

Andy Blower a crit:

  Rather than explain (probably badly) exactly what the problem is, I'll
provide a small example page called BasicAJAX. This page demonstrates that
if an actionlink that causes a zone refresh via AJAX is part of the
refreshed zone itself, it only works on alternate clicks in IE. Each time
it's rendered as part of the zone update it causes a full page refresh when
clicked, which means it can do a zone update the following click. It works
fine in Firefox though.

If I return a block instead of a zone the second click in the link inside
causes the ComponentEventException shown below, instead of the full page
refresh.

org.apache.tapestry.runtime.ComponentEventException - A component event
handler method returned the value
[EMAIL PROTECTED] Return type
org.apache.tapestry.internal.structure.BlockImpl can not be handled.
Configured return types are java.lang.Class, java.lang.String, java.net.URL,
org.apache.tapestry.Link, org.apache.tapestry.StreamResponse,
org.apache.tapestry.runtime.Component.


It looks like a bug to me, should it be entered into a bug DB somewhere? I
hope that this is a known problem that has already been fixed or is in the
process of being fixed because it's a pretty big dealbreaker for T5 AJAX
support as IE is still the dominant browser.

(using T5.0.11, IE6.0.2900, FF2.0.0.6, Tomcat5.5.9)

- BasicAJAX.java -
package com.proquest.Tap5ProtoIMPA.pages;

import org.apache.tapestry.annotations.Component;
import org.apache.tapestry.annotations.Persist;
import org.apache.tapestry.annotations.Property;
import org.apache.tapestry.corelib.components.Zone;


public class BasicAJAX
{
	@Property
	@Persist
	private int count = 0;

	@Component
	private Zone aZone;

	Object onActionFromOutsideZone() {
		count++;
		return aZone;
	}
	
	Object onActionFromInsideZone() {
		count++;
		return aZone;
	}
}

- BasicAJAX.tml -
html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"
body style="font-family: Arial, Helvetica, sans-serif;  font-size:
smaller;"
	
	h1Basic AJAX Tester (${count} - only updates on full page refresh)/h1
	
	 # Refresh - this is an AJAX-enabled ActionLink br/br/
	
	div style="margin-left: 50px"
		div t:type="zone" t:id="aZone"
			pI am a AJAX updated ZONE! count=${count}/p
			 # Refresh - this is an AJAX-enabled ActionLink br/br/
		/div
	/div

/body
/html
  





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



Re: AW: Component event handlers

2008-03-20 Thread José Paumard




Howard, 

Thank you for your answer. From what I understand, if a zone B is
nested in a zone A, its id will change in a partial update of A. Thus
the existing links on the page, oustide of A, that used to point to B,
wont point to it anymore after that partial update of A. This explains
the behaviour I saw on my use case. 

This leads me to the conclusion that nesting zones is not legal in T5,
or at least not compatible with Ajax. Am I right on that point ?

Howard Lewis Ship a crit:

  It's not a hash code, its a unique id.  Because Tapestry is having to
render the page piecemeil, across a series of Ajax requests, it can't
know what ids are already taken when it is trying to generate unique
DOM ids for elements, therefore, an Ajax request gets a namespace:
this timestamp as a hex string.  The namespace is encororated into any
ids generated by PageRenderSupport during an Ajax partial markup
render.

On Wed, Mar 19, 2008 at 11:43 AM, Jos Paumard [EMAIL PROTECTED] wrote:
  
  
 It is indeed an Ajax request, the t:zone XML attribute is there, so there
is no problem with that.

 From what I see, T5 sometimes maps a TML

 t:zone t:id="someZone"/t:zone

 as (seen by inspecting the DOM)

 div id="someZone:118c853e048" class="t-zone"/

 or as

 div id="someZone" class="t-zone"/

 And in the 1st case, clicking on the link refresh the page, with an error
message.
 When I try to narrow things, it seems to me that when you refresh a Zone A
that contains another zone B, then the id of B is added this hashCode like
stuff.

 I hope Howard could enlighten us on that point ?

 Thank you,

 Jos



 Ted Steen a crit :

 The error you get is probably due to the fact that it is not an ajax
request.
you can only return blocks from event methods when making ajax requests.

you have to make the request with Ajax.request(...) or by using
tapestry default ajax mechanism. (t:form t:zone=""...)

hope it helps!

2008/3/19, Martin Kersten [EMAIL PROTECTED]:


 I see. When I read the AJAX documentation correctly your code snippet
should be on the save side.
 Sorry but I can't see anything wrong.


 Cheers,

 Martin (Kersten)


 

 Von: Jos Paumard [mailto:[EMAIL PROTECTED]]

Gesendet: Mittwoch, 19. Mrz 2008 17:33
 An: Tapestry users
 Betreff: Re: AW: Component event handlers



 Code snippets are very basic :

 In the tml :

 t:eventLink t:event="someEvent" t:zone="someZone"click me/t:eventLink

 t:block t:id="someBlock"
 t:some.component/
 /t:block


 In the class :

 @Inject
 private Block someBlock ;

 @OnEvent(value="someEvent")
 Block clickMe() {
 return someBlock ;
 }

 What I would expect is to see the content of the block in the div
"someZone", but I have an exception instead.

 Jos

 Martin Kersten a crit :

 Sounds like onActivate? What do you try to do? Can you give us the exact
case (event type). Code Snippet?

 

 Von: Jos Paumard [mailto:[EMAIL PROTECTED]]
 Gesendet: Mittwoch, 19. Mrz 2008 17:18
 An: Tapestry users
 Betreff: Re: Component event handlers


 Hello Chris,

 Thank you for your fast answer.

 It is Block (not BlockImpl, this class is in the internals of T5, so using
it is not recommended). I switched to Object, but it didnt change anything.
Here is the exact error message :

 A component event handler method returned the value
[EMAIL PROTECTED] Return type
org.apache.tapestry.internal.structure.BlockImpl can not be handled.
Configured return types are java.lang.Class, java.lang.String, java.net.URL,
org.apache.tapestry.Link, org.apache.tapestry.StreamResponse,
org.apache.tapestry.runtime.Component.

 Chris Lewis a crit :

 What is the declared return type of your method? It should be Object,
 and not BlockImpl.

 Jos Paumard wrote:


 Hi all,

 Everytime I try to return an injected block in an event handler
 method, I get an error message, telling me that BlockImpl is not a
 valid returned value. From the nightly generated docs, this is
 supposed to work. Has anyone experienced this too ?

 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]



 - 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]



Stack trace on click on a EvenLink link

2008-03-19 Thread José Paumard




Hi all, 

I came across this stack trace while clicking on a EvenLink link with a
zone attribute. Can anyone tell me if it's a known issue or not ? If
it's not I'll try to isolate a simple use case to contribute it. 

Thank you, 

Jos

WARN - EXCEPTION 
java.io.IOException: Syntaxe du nom de fichier, de rpertoire ou de
volume incorrecte
 at java.io.WinNTFileSystem.canonicalize0(Native Method)
 at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:395)
 at java.io.File.getCanonicalPath(File.java:531)
 at org.mortbay.util.FileResource.getAlias(FileResource.java:176)
 at
org.mortbay.http.ResourceCache.getResource(ResourceCache.java:252)
 at org.mortbay.http.HttpContext.getResource(HttpContext.java:2118)
 at
org.mortbay.jetty.servlet.WebApplicationContext.getResource(WebApplicationContext.java:785)
 at
org.mortbay.jetty.servlet.ServletHandler.getResource(ServletHandler.java:735)
 at
org.mortbay.jetty.servlet.ServletHandler$Context.getResource(ServletHandler.java:1082)
 at
org.apache.tapestry.internal.services.ContextImpl.getResource(ContextImpl.java:43)
 at $Context_118c666a9d3.getResource($Context_118c666a9d3.java)
 at $Context_118c666a943.getResource($Context_118c666a943.java)
 at
org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:56)
 at
$RequestHandler_118c666a948.service($RequestHandler_118c666a948.java)
 at
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
 at
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
 at
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
 at
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
 at
$RequestHandler_118c666a948.service($RequestHandler_118c666a948.java)
 at
$RequestHandler_118c666a93f.service($RequestHandler_118c666a93f.java)
 at
org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:924)
 at
org.apache.tapestry.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:43)
 at
$HttpServletRequestHandler_118c666a940.service($HttpServletRequestHandler_118c666a940.java)
 at
org.apache.tapestry.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
 at
$HttpServletRequestFilter_118c666a93e.service($HttpServletRequestFilter_118c666a93e.java)
 at
$HttpServletRequestHandler_118c666a940.service($HttpServletRequestHandler_118c666a940.java)
 at
$HttpServletRequestHandler_118c666a93c.service($HttpServletRequestHandler_118c666a93c.java)
 at
org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:168)
 at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
 at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
 at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
 at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
 at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
 at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
 at org.mortbay.http.HttpServer.service(HttpServer.java:909)
 at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
 at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
 at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
 at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
 at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
 at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
WARN - Alias request of
'file:/D:/workspace-eclipse/webapp/src/main/webapp/start.login.work.menu:generalMenuAction'
for 'file:/D:/workspace-eclipse/webapp/src/main/webapp/start.login.work.menu:generalMenuAction'






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



Blocks Delegate : properties collisions

2008-03-19 Thread José Paumard




Hi all, 

I came across a strange behavior. I'm not sure it's a bug, since from
the docs I fully understand why I get this error, but still, I have the
feeling that something could be done here. 

Suppose we have a classical login / register zone, with a tml that
looks like that : 

t:delegate t:to="activeBlock"/

t:block t:id="login"
  t:form t:id="loginForm" t:zone="loginZone"
   t:errors/
   t:beaneditor t:id="loginBean" t:reorder="login,
password"
t:parameter t:name="password"
 t:label for=""/
 t:passwordfield value="loginBean.password"/
/t:parameter
   /t:beaneditor
   t:submit t:value="message:login"/
  /t:form
  [t:actionlink t:id="registerAction"
t:zone="loginZone"register/t:actionlink]
/t:block

t:block t:id="register"
  t:form t:id="registerForm" t:zone="loginZone"
   t:errors/
   t:beaneditor t:id="userBean"
t:parameter t:name="password"
 t:label for=""/
 t:passwordfield value="userBean.password"/
/t:parameter
   /t:beaneditor
   t:submit t:value="message:register"/
  /t:form
  [t:actionlink t:id="loginAction"
t:zone="loginZone"cancel/t:actionlink]
/t:block

I like this way of witing things : having blocks in my XML, then a
switch to decide which one is rendered. The problem is that the
t:passwordfield needs and id to work, and this id has to be "password",
since this is the name of the property of the bean I have in backup. If
I add t:id="password" to both of the t:passwordfield elements, T5 will
complains, telling me I cant have two ids with the same value. 

Of course there are several workarounds for that : in fact, all I need
is to name the password property differently in my userBean and my
loginBean. But still, I think that is not very natural to do that. 

In fact, in that case, what I would like to write is something like
this : 

  
t:beaneditor t:id="userBean"
t:parameter t:name="password" t:type="passwordfield"/
   /t:beaneditor

and that's all. If I need a more complex substitution, ok, I have to
write more XML.

Any thoughts or advice ? 

Jos





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



Component event handlers

2008-03-19 Thread José Paumard




Hi all, 

Everytime I try to return an injected block in an event handler method,
I get an error message, telling me that BlockImpl is not a valid
returned value. From the nightly generated docs, this is supposed to
work. Has anyone experienced this too ? 

Thank you, 

Jos





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



Re: Component event handlers

2008-03-19 Thread José Paumard




Hello Chris, 

Thank you for your fast answer. 

It is Block (not BlockImpl, this class is in the internals of T5, so
using it is not recommended). I switched to Object, but it didnt change
anything. Here is the exact error message : 

A component event handler method returned the value
[EMAIL PROTECTED] Return type
org.apache.tapestry.internal.structure.BlockImpl can not be handled.
Configured return types are java.lang.Class, java.lang.String,
java.net.URL, org.apache.tapestry.Link,
org.apache.tapestry.StreamResponse,
org.apache.tapestry.runtime.Component.

Chris Lewis a crit:

  What is the declared return type of your method? It should be Object,
and not BlockImpl.

Jos Paumard wrote:
  
  
Hi all,

Everytime I try to return an injected block in an event handler
method, I get an error message, telling me that BlockImpl is not a
valid returned value. From the nightly generated docs, this is
supposed to work. Has anyone experienced this too ?

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: AW: Component event handlers

2008-03-19 Thread José Paumard




Code snippets are very basic :

In the tml : 

t:eventLink t:event="someEvent" t:zone="someZone"click
me/t:eventLink

t:block t:id="someBlock"
 t:some.component/
/t:block


In the class : 

 @Inject
 private Block someBlock ;

 @OnEvent(value="someEvent")
 Block clickMe() {
  return someBlock
;
 }

What I would expect is to see the content of the block in the div
"someZone", but I have an exception instead. 

Jos

Martin Kersten a crit:

  Sounds like onActivate? What do you try to do? Can you give us the exact case (event type). Code Snippet?



Von: Jos Paumard [mailto:[EMAIL PROTECTED]] 
Gesendet: Mittwoch, 19. Mrz 2008 17:18
An: Tapestry users
Betreff: Re: Component event handlers


Hello Chris, 

Thank you for your fast answer. 

It is Block (not BlockImpl, this class is in the internals of T5, so using it is not recommended). I switched to Object, but it didnt change anything. Here is the exact error message : 

A component event handler method returned the value [EMAIL PROTECTED] Return type org.apache.tapestry.internal.structure.BlockImpl can not be handled. Configured return types are java.lang.Class, java.lang.String, java.net.URL, org.apache.tapestry.Link, org.apache.tapestry.StreamResponse, org.apache.tapestry.runtime.Component.

Chris Lewis a crit : 

	What is the declared return type of your method? It should be Object,
	and not BlockImpl.
	
	Jos Paumard wrote:
	  

		Hi all,
		
		Everytime I try to return an injected block in an event handler
		method, I get an error message, telling me that BlockImpl is not a
		valid returned value. From the nightly generated docs, this is
		supposed to work. Has anyone experienced this too ?
		
		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] 

  





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



Re: AW: Component event handlers

2008-03-19 Thread José Paumard




It is indeed an Ajax request, the
t:zone XML attribute is there, so there is no problem with that. 

>From what I see, T5 sometimes maps a TML

t:zone t:id="someZone"/t:zone

as (seen by inspecting the DOM)

div id="someZone:118c853e048" class="t-zone"/

or as 

div id="someZone"
class="t-zone"/

And in the 1st case, clicking on the link refresh the page, with an
error message. 
When I try to narrow things, it seems to me that when you refresh a
Zone A that contains another zone B, then the id of B is added this
hashCode like stuff.

I hope Howard could enlighten us on that point ? 

Thank you, 

Jos



Ted Steen a crit:

  The error you get is probably due to the fact that it is not an ajax request.
you can only return blocks from event methods when making ajax requests.

you have to make the request with Ajax.request(...) or by using
tapestry default ajax mechanism. (t:form t:zone=""...)

hope it helps!

2008/3/19, Martin Kersten [EMAIL PROTECTED]:
  
  
I see. When I read the AJAX documentation correctly your code snippet should be on the save side.
 Sorry but I can't see anything wrong.


 Cheers,

 Martin (Kersten)


 

 Von: Jos Paumard [mailto:[EMAIL PROTECTED]]

Gesendet: Mittwoch, 19. Mrz 2008 17:33
 An: Tapestry users
 Betreff: Re: AW: Component event handlers



 Code snippets are very basic :

 In the tml :

 t:eventLink t:event="someEvent" t:zone="someZone"click me/t:eventLink

 t:block t:id="someBlock"
t:some.component/
 /t:block


 In the class :

@Inject
private Block someBlock ;

@OnEvent(value="someEvent")
Block clickMe() {
return someBlock ;
}

 What I would expect is to see the content of the block in the div "someZone", but I have an exception instead.

 Jos

 Martin Kersten a crit :

Sounds like onActivate? What do you try to do? Can you give us the exact case (event type). Code Snippet?



Von: Jos Paumard [mailto:[EMAIL PROTECTED]]
Gesendet: Mittwoch, 19. Mrz 2008 17:18
An: Tapestry users
Betreff: Re: Component event handlers


Hello Chris,

Thank you for your fast answer.

It is Block (not BlockImpl, this class is in the internals of T5, so using it is not recommended). I switched to Object, but it didnt change anything. Here is the exact error message :

A component event handler method returned the value [EMAIL PROTECTED] Return type org.apache.tapestry.internal.structure.BlockImpl can not be handled. Configured return types are java.lang.Class, java.lang.String, java.net.URL, org.apache.tapestry.Link, org.apache.tapestry.StreamResponse, org.apache.tapestry.runtime.Component.

Chris Lewis a crit :

What is the declared return type of your method? It should be Object,
and not BlockImpl.

Jos Paumard wrote:


Hi all,

Everytime I try to return an injected block in an event handler
method, I get an error message, telling me that BlockImpl is not a
valid returned value. From the nightly generated docs, this is
supposed to work. Has anyone experienced this too ?

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]



 - 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]



EventLink strange behaviour (bug ?)

2008-03-19 Thread José Paumard




Hi all, 

Let's take the simple following case : 

Start.tml : 

t:eventlink t:event="refresh"refresh/t:eventlink
t:menu /

Menu.tml : 
t:eventlink
t:event="refresh"refresh/t:eventlink

Start.java :
 @OnEvent(value="refresh")
 Class refresh() {
  return Start.class ;
 }

Menu.java : 
 @OnEvent(value="refresh")
 Class refresh() {
  return Start.class ;
 }

The 1st link is start:refresh
The 2nd link is start.menu:refresh

Clicking on the 1st refresh link, refreshes the page normally. 

Clicking on the 2nd refresh link gives this stack trace. 

Any thoughts / comments / advice ? 

Thank you, 

Jos

WARN - EXCEPTION 
java.io.IOException: Syntaxe du nom de fichier, de rpertoire ou de
volume incorrecte
 at java.io.WinNTFileSystem.canonicalize0(Native Method)
 at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:395)
 at java.io.File.getCanonicalPath(File.java:531)
 at org.mortbay.util.FileResource.getAlias(FileResource.java:176)
 at
org.mortbay.http.ResourceCache.getResource(ResourceCache.java:252)
 at org.mortbay.http.HttpContext.getResource(HttpContext.java:2118)
 at
org.mortbay.jetty.servlet.WebApplicationContext.getResource(WebApplicationContext.java:785)
 at
org.mortbay.jetty.servlet.ServletHandler.getResource(ServletHandler.java:735)
 at
org.mortbay.jetty.servlet.ServletHandler$Context.getResource(ServletHandler.java:1082)
 at
org.apache.tapestry.internal.services.ContextImpl.getResource(ContextImpl.java:43)
 at $Context_118c8c11254.getResource($Context_118c8c11254.java)
 at $Context_118c8c111c0.getResource($Context_118c8c111c0.java)
 at
org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:56)
 at
$RequestHandler_118c8c111c5.service($RequestHandler_118c8c111c5.java)
 at
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
 at
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:1)
 at
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
 at
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
 at
$RequestHandler_118c8c111c5.service($RequestHandler_118c8c111c5.java)
 at
$RequestHandler_118c8c111bc.service($RequestHandler_118c8c111bc.java)
 at
org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:941)
 at
org.apache.tapestry.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
 at
$HttpServletRequestFilter_118c8c111bb.service($HttpServletRequestFilter_118c8c111bb.java)
 at
$HttpServletRequestHandler_118c8c111bd.service($HttpServletRequestHandler_118c8c111bd.java)
 at
$HttpServletRequestHandler_118c8c111ba.service($HttpServletRequestHandler_118c8c111ba.java)
 at
org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:168)
 at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
 at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
 at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
 at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
 at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
 at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
 at org.mortbay.http.HttpServer.service(HttpServer.java:909)
 at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
 at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
 at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
 at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
 at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
 at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
WARN - Alias request of
'file:/D:/workspace-eclipse/webapp-test/src/main/webapp/start.menu:refresh'
for
'file:/D:/workspace-eclipse/webapp-test/src/main/webapp/start.menu:refresh'






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



Re: EventLink strange behaviour (bug ?)

2008-03-19 Thread José Paumard




Nope, WinXP Pro and D: is NTFS. 

Yunhua Sang a crit:

  Are you using Vista and the D:\ is FAT32?

I saw strange behaviors on this combination some times ago.


On Wed, Mar 19, 2008 at 4:45 PM, Jos Paumard [EMAIL PROTECTED] wrote:
  
  
Hi all,

Let's take the simple following case :

Start.tml :

t:eventlink t:event="refresh"refresh/t:eventlink
t:menu /

Menu.tml :
t:eventlink t:event="refresh"refresh/t:eventlink

Start.java :
@OnEvent(value="refresh")
Class refresh() {
return Start.class ;
}

Menu.java :
@OnEvent(value="refresh")
Class refresh() {
return Start.class ;
}

The 1st link is start:refresh
The 2nd link is start.menu:refresh

Clicking on the 1st refresh link, refreshes the page normally.

Clicking on the 2nd refresh link gives this stack trace.

Any thoughts / comments / advice ?

Thank you,

Jos

 WARN - EXCEPTION
java.io.IOException: Syntaxe du nom de fichier, de rpertoire ou de volume
incorrecte
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:395)
at java.io.File.getCanonicalPath(File.java:531)
at org.mortbay.util.FileResource.getAlias(FileResource.java:176)
at org.mortbay.http.ResourceCache.getResource(ResourceCache.java:252)
at org.mortbay.http.HttpContext.getResource(HttpContext.java:2118)
at
org.mortbay.jetty.servlet.WebApplicationContext.getResource(WebApplicationContext.java:785)
at
org.mortbay.jetty.servlet.ServletHandler.getResource(ServletHandler.java:735)
at
org.mortbay.jetty.servlet.ServletHandler$Context.getResource(ServletHandler.java:1082)
at
org.apache.tapestry.internal.services.ContextImpl.getResource(ContextImpl.java:43)
at $Context_118c8c11254.getResource($Context_118c8c11254.java)
at $Context_118c8c111c0.getResource($Context_118c8c111c0.java)
at
org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:56)
at $RequestHandler_118c8c111c5.service($RequestHandler_118c8c111c5.java)
at
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
at
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:1)
at
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
at
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
at $RequestHandler_118c8c111c5.service($RequestHandler_118c8c111c5.java)
at $RequestHandler_118c8c111bc.service($RequestHandler_118c8c111bc.java)
at
org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:941)
at
org.apache.tapestry.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at
$HttpServletRequestFilter_118c8c111bb.service($HttpServletRequestFilter_118c8c111bb.java)
at
$HttpServletRequestHandler_118c8c111bd.service($HttpServletRequestHandler_118c8c111bd.java)
at
$HttpServletRequestHandler_118c8c111ba.service($HttpServletRequestHandler_118c8c111ba.java)
at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:168)
at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
WARN - Alias request of
'file:/D:/workspace-eclipse/webapp-test/src/main/webapp/start.menu:refresh'
for
'file:/D:/workspace-eclipse/webapp-test/src/main/webapp/start.menu:refresh'

- 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]



BeanEditForm Zones

2008-03-18 Thread José Paumard




Hi all, 

It seems to me that the BeanEditForm element could have a zone
attribute. Am I wrong on this point, or maybe blind ? 

Jos





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