Re: [ANNOUNCE] Tapestry 5.1.0.4 (beta release)
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()
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?
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
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
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
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
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
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
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
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 ?
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
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
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
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
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
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
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
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?
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
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
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
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
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
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.
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
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
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 ?
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 ?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 ?)
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 ?)
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
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]