<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.java.tapestry.user">
    <title>gmane.comp.java.tapestry.user</title>
    <link>http://blog.gmane.org/gmane.comp.java.tapestry.user</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98353"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98349"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98348"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98347"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98344"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98339"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98337"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98331"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98318"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98316"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98315"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98311"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98308"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98307"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98298"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98295"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98291"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98284"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98270"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.tapestry.user/98266"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98353">
    <title>Building object through wizard.</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98353</link>
    <description>&lt;pre&gt;Hello, I'm building a small little wizard that consist of a few pages. The
wizard allows for updates as well. I'm a hibernate user with a fairly
complex data structure consisting of many joined entities. I do not want to
save/update the data until the last page of the wizard which has caused me
to lose my data from one page to the next. I thought there was a way to
persist it with hibernate and retrieve it on the next page, but I've failed
miserably with that. "Maybe I'm missing something". So my question is there
a alternative solution such as SessionState or Persist where I could store
the object in memory and then later save?

--
View this message in context: http://tapestry.1045711.n5.nabble.com/Building-object-through-wizard-tp5713417.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>George Christman</dc:creator>
    <dc:date>2012-05-25T14:02:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98349">
    <title>T5.3 customizing BeanEditForm's cancel button label</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98349</link>
    <description>&lt;pre&gt;Guys, this might be a silly question but I'm trying to figure out how to
customize the text of the Cancel button within a BeanEditForm. I believe
the "cancel" boolean attribute was introduced in T5.2 but unlike
"submitLabel" there's no "cancelLabel" property to override the default
text.

This also leads me to another question. Is it possible to override the
submit and cancel labels implicitly by including a special-formatted string
in the application message catalog? Using "submit-label" or "cancel-label"
in app.properties seems to have no effect (unless you specify
submitLabel="message:submit-label" for the submit button of course, but I
don't see a way to do this for the cancel button).

I may be overlooking something obvious (I googled for quite a while...) so
sorry if my question is silly and thanks for guidance in advance!

Rado
&lt;/pre&gt;</description>
    <dc:creator>Immutability</dc:creator>
    <dc:date>2012-05-25T11:06:48</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98348">
    <title>How to get a service whithout using &lt; at &gt;Inject</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98348</link>
    <description>&lt;pre&gt;Hello,

I need to use a Tapestry service outside of the Tapestry scope (in 
another servlet of the same web app) and would like to know what is the 
cleanest way to achieve this.

Thanks,
Thim.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>Thim Anneessens</dc:creator>
    <dc:date>2012-05-25T10:18:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98347">
    <title>&lt; at &gt;Inject vs &lt; at &gt;InjectResource in 5.3</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98347</link>
    <description>&lt;pre&gt;Hi

I tried to &amp;lt; at &amp;gt;Inject a Logger into a service (a tapestry-resteasy resource if that matters) and got an exception:
oejs.ServletHandler:/intern/
java.lang.RuntimeException: Exception constructing service 'ResteasyRequestFilter': Error building service proxy for service 'Application' (at org.tynamo.resteasy.Application(Collection) (at Application.java:14) via org.tynamo.resteasy.ResteasyModule.bind(ServiceBinder) (at ResteasyModule.java:31)): Error invoking service contribution method org.tynamo.resteasy.ResteasyModule.javaxWsRsCoreApplication(Configuration, ObjectLocator, ResteasyPackageManager, ClassNameLocator): No service implements the interface org.slf4j.Logger.
at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:75)
...

Google quickly brought up the solution to use &amp;lt; at &amp;gt;InjectResource instead, and that works perfectly fine.
But &amp;lt; at &amp;gt;InjectResource shows up as deprecated and the documentation states it should behave identical to &amp;lt; at &amp;gt;Inject.
It doesn't in my case. Should I raise a issue?

Sebastian
&lt;/pre&gt;</description>
    <dc:creator>Arming, Sebastian</dc:creator>
    <dc:date>2012-05-25T10:13:22</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98344">
    <title>Component cannot be cast to Page?</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98344</link>
    <description>&lt;pre&gt;Hi,

I have an AuthenticationFilter Class with the following code snippet:

    private boolean dispatchedToLoginPage(String pageName) throws
IOException {

        Component page = componentSource.getPage(pageName);
    
        if (loginPage.equalsIgnoreCase(pageName)) {
            
            URL lastPage = urlHelperService.getUrl(((Login)
page).getLastPage());

The page component is my Login page and I want to access the getLastPage
method of this class but I get the following exception:

25.05.2012 11:24:02 (DefaultRequestExceptionHandler.java          :  63) 
ERROR  - Processing of request failed with uncaught exception:
com.example.pages.Login cannot be cast to com.example.pages.Login
java.lang.ClassCastException: com.example.pages.Login cannot be cast to
com.example.pages.Login
at
com.example.security.AuthenticationFilter.dispatchedToLoginPage(AuthenticationFilter.java:87)
at
com.example.security.AuthenticationFilter.handleComponentEvent(AuthenticationFilter.java:55)
at $ComponentRequestFilter_a6e3835436d4.handleComponentEvent(Unknown
Source)
at $ComponentRequestHandler_a6e3835436d7.handleComponentEvent(Unknown
Source)
at
org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
at $ComponentRequestHandler_a6e3835436d7.handleComponentEvent(Unknown
Source)
at $ComponentRequestHandler_a6e3835436a1.handleComponentEvent(Unknown
Source)
at
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46)
at $Dispatcher_a6e3835436a4.dispatch(Unknown Source)
at $Dispatcher_a6e38354369e.dispatch(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_a6e38354369f.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
at $RequestHandler_a6e38354369f.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
at $RequestHandler_a6e38354369f.service(Unknown Source)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_a6e38354369f.service(Unknown Source)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
at $RequestHandler_a6e38354369f.service(Unknown Source)
at $RequestHandler_a6e383543692.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
at
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
at $HttpServletRequestHandler_a6e383543694.service(Unknown Source)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_a6e383543690.service(Unknown Source)
at $HttpServletRequestHandler_a6e383543694.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
at $HttpServletRequestHandler_a6e383543694.service(Unknown Source)
at $HttpServletRequestHandler_a6e38354368f.service(Unknown Source)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)


What is going on? How can I access this method?

Thanks,
sub

--
View this message in context: http://tapestry.1045711.n5.nabble.com/Component-cannot-be-cast-to-Page-tp5713408.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>sub</dc:creator>
    <dc:date>2012-05-25T09:39:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98339">
    <title>null value in Boolean</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98339</link>
    <description>&lt;pre&gt;I'm writing a web application with Apache Tapestry 5.3.

I use in my web application a radio group (2 radio button) which saves in a
java.lang.Boolean object. I have some problems when saving the data.

Test.java
______
&amp;lt; at &amp;gt;Property
private Boolean surgery;

.....

&amp;lt; at &amp;gt;CommitAfter

public Object onSuccess()

{
if(surgery!=null){
    //do something
}

}
______

Test.tml
______
&amp;lt;t:radiogroup value="surgery"&amp;gt;

&amp;lt;t:radio autocomplete="off" label="message:yes" t:id="yes" value="true"/&amp;gt;

&amp;lt;t:label for="yes"/&amp;gt;

&amp;lt;t:radio autocomplete="off" label="message:no" t:id="no" value="false"/&amp;gt;

&amp;lt;t:label for="no"/&amp;gt;

&amp;lt;/t:radiogroup&amp;gt;
______
 

When I use the Boolean in the tml, it is a null value and so no radio button 
will be selected.  
if onSuccess() will activated (and no button is selected) and i make a check
if the value is null, as it should be - it isn't. Instead its initialized
Boolean with false.

Can i change this behavior, so that Boolean surgery is null, if nothing
clicked?

Thanks for reading

Patrick


--
View this message in context: http://tapestry.1045711.n5.nabble.com/null-value-in-Boolean-tp5713346.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>Lodorvonhal</dc:creator>
    <dc:date>2012-05-23T12:17:17</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98337">
    <title>[OT] J2EE write to filesystem &amp; JEE6</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98337</link>
    <description>&lt;pre&gt;Hi Tapestry Users,

In April there was a thread about AssetFactory help [1] and it mentioned that the J2EE spec states that you should not read or write to the file system.
Reading up on the collapsed ear from openejb's website [2] they say (sic) "not quite j2ee but truly jee6".

Although openejb is referencing class loading, where would I find info about whether jee6 allows reading/writing to local filesystem?
It's a handy bad habit I'd like to be able to access - I know it's something I was doing back in early 2000s with tomcat 5 unknowingly being a badass.

Any help would be greatly appreciated,
Chris



[1] = http://tapestry.1045711.n5.nabble.com/File-System-Asset-Factory-help-needed-and-petition-wanted-td5641308.html
[2] = https://openejb.apache.org/collapsed-ear.html&lt;/pre&gt;</description>
    <dc:creator>Chris Mylonas</dc:creator>
    <dc:date>2012-05-25T01:23:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98331">
    <title>Tapestry Testify and  chenillekit captcha</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98331</link>
    <description>&lt;pre&gt;Hi,

I'm trying to test a page that has a chenille kit Kaptcha component. The issue I'm having is that when testing the page with TapestryTestify, the event ("kaptchaEvent")  that generate the image and set kaptchaValue field inside the component is never being called. So I get null pointer exception when the form is being process, regardless to what value I put in for  Kaptcha text field.
Is there a way to  enforce the event call maybe form inside of my test code.

Thanks,
Simon

&lt;/pre&gt;</description>
    <dc:creator>Simon Raveh</dc:creator>
    <dc:date>2012-05-24T20:22:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98318">
    <title>Server side or timed update of a zone</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98318</link>
    <description>&lt;pre&gt;Hi there,

 

I have a html table (i.e. tapestry grid component) with some data coming
from tapestry to the client. Whenever the server has new data for the
table I want the table to update automatically without the user to
reload the page.

 

I understand that this is not possible in general with the
request/response pattern in http. However, with Ajax, there should be
some way, e.g. by triggering the client to regularly (e.g. every 10s)
execute an ajax request for new data. 

 

Is there support in Tapestry for such pattern? 

I understand that zones in tapestry can be updated by certain events
like clicking on some link. However, is there a timer event that could
also trigger such update?

Is this even possible? Do I have to implement it manually by Javascript?

 

Cheers,

Hauke

 

 


&lt;/pre&gt;</description>
    <dc:creator>Fuhrmann, Hauke</dc:creator>
    <dc:date>2012-05-24T09:45:07</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98316">
    <title>How can I create a component that generates unique ids?</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98316</link>
    <description>&lt;pre&gt;Hi tapestry members:

How can I create a component that generates unique ids?

For example:

PAGE
---------------------------------
1 &amp;lt;t:component1/&amp;gt;
2 &amp;lt;t:component1/&amp;gt;
---------------------------------

I need component1 of line 1 has for example unique generated
t:id="component1_0" and
component1 of line 2 has for example unique generated t:id="component1_1"

Thanks in advance

--
View this message in context: http://tapestry.1045711.n5.nabble.com/How-can-I-create-a-component-that-generates-unique-ids-tp5713377.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>iberck</dc:creator>
    <dc:date>2012-05-24T09:27:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98315">
    <title>Variable number of text fields</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98315</link>
    <description>&lt;pre&gt;I'm trying to figure out if there is a way to create a variable number 
of text fields in a form that are backed by normal strings. I've seen 
the AJAXFormLoop stuff, and it's close to what I think I'm after, but 
not quite there. The appears to require a mutable object returned fron 
onAddRow(). I just really want straight Strings. Is there an easy way to 
use Javascript to add a variable number of fields that doesn't require 
wrapping a String in some sort of mutable object, and that doesn't 
require a lot of manipulation of the form models?

Thanks,
Richard

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>Richard Frovarp</dc:creator>
    <dc:date>2012-05-24T04:17:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98311">
    <title>T5 How can I pass a block to a component?</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98311</link>
    <description>&lt;pre&gt;I need a component "component1" that receives a block, for example:

&amp;lt;t:component1&amp;gt;
   &amp;lt;p:block1&amp;gt;
        block1's body
    &amp;lt;/p:block1&amp;gt;
&amp;lt;/t:component1&amp;gt;

How can I define the component1 to receive the "block1" block?
Thanks in advance


--
View this message in context: http://tapestry.1045711.n5.nabble.com/T5-How-can-I-pass-a-block-to-a-component-tp5713371.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>iberck</dc:creator>
    <dc:date>2012-05-23T23:35:49</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98308">
    <title>java.util.ConcurrentModificationException in tapestry 5.3.3 under stress</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98308</link>
    <description>&lt;pre&gt;Hi,

I recently upgraded to tapestry 5.3.3 from 5.0.1.x, and while running some
load tests using jmeter, I saw some new ConcurrentModificationException
errors. The test is simple, it just selects the first checkbox on the form,
then submits it.

It looks to me like there's a race condition in the new singleton page
handling. I don't think this problem is specific to my code because I've
seen this error in stack traces that don't include my compononets as well
when under significant load. (That stack trace is attached at the bottom,
below the logs produced by my code).

This might be related to
http://tapestry.1045711.n5.nabble.com/Rather-worrying-exception-with-5-2-4-java-util-ConcurrentModificationException-td3370588.html,
but my stack trace doesn't contain the method where the proposed patch would
be.

Here's my code:

&amp;lt;t:form id="RenewCheckoutsForm" context="context"&amp;gt;
...
&amp;lt;t:loop source="currentCheckouts" encoder="checkoutsEncoder" value="item"
index="index"&amp;gt;
...
&amp;lt;t:checkbox t:value="currentCheckout" class="checkoutsCheckbox"/&amp;gt;
...
&amp;lt;/t:loop&amp;gt;
...
&amp;lt;t:submit t:id="myCheckouts_checkoutslist_submit" class="hidden"
value="submit"/&amp;gt;
&amp;lt;/t:form&amp;gt;


public class CheckoutsList {
    &amp;lt; at &amp;gt;Property
    private List&amp;lt;CheckoutsInfoType&amp;gt; currentCheckouts;
    &amp;lt; at &amp;gt;Property
    private CheckoutsInfoType item;

    private List&amp;lt;String&amp;gt; selected = new ArrayList&amp;lt;String&amp;gt;();

...

    boolean setupRender(){
        log.info("CheckoutsList setuprender");
...
    }

    Object onSubmit(String friendlyUrl, SearchSession session){
        log.info("Submitted the form: selected.length = " +
selected.size());
        try
        {
            for(String id: selected){
                ...
            }
        }
        catch(ConcurrentModificationException e)
        {
            log.info("caught ConcurrentModificationException:
selected.length = " + selected.size(), e);
        }
        selected.clear();
        log.info("cleared out selected");
        return pageLinkSource.createPageRenderLinkWithContext(Account.class,
1, friendlyUrl, session);
    }

    public boolean getCurrentCheckout(){
        return selected.contains(item.getItemId());
    }

    /** set the selected value for the current checkout */
    public void setCurrentCheckout(final boolean val){
        if(item != null){
            if(val){
                log.info("adding to selected " + item.getItemId());
                selected.add(item.getItemId());
            }
            else {
                log.info("removing from selected " + item.getItemId());
                selected.remove(item.getItemId());
            }
        }
    }

...
}

Here in an excerpt from the logs under a significant load:

...
2012-05-23 17:08:28,261 [TP-Processor15] INFO  adding to selected 310000005
- com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,261 [TP-Processor15] INFO  Submitted the form:
selected.length = 1 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,282 [TP-Processor63] INFO  CheckoutsList setuprender -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,284 [TP-Processor23] INFO  adding to selected 310000028
- com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,284 [TP-Processor23] INFO  Submitted the form:
selected.length = 2 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,285 [TP-Processor83] INFO  CheckoutsList setuprender -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,307 [TP-Processor15] INFO  caught
ConcurrentModificationException: selected.length = 2 -
com.mycompany.product.module.components.search.account.CheckoutsList
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at
com.mycompany.product.module.components.search.account.CheckoutsList.onSubmit(CheckoutsList.java:314)
at
com.mycompany.product.module.components.search.account.CheckoutsList.dispatchComponentEvent(CheckoutsList.java)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:923)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1106)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3200(ComponentPageElementImpl.java:61)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1051)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1048)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
at
org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:146)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1047)
at
org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:302)
at
org.apache.tapestry5.corelib.components.Form.advised$onAction_2290e07ed7404(Form.java:554)
at
org.apache.tapestry5.corelib.components.Form$Invocation_onAction_2290e07ed7403.proceedToAdvisedMethod(Unknown
Source)
at
org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:84)
at
org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37)
at
org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
at org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
at
org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:923)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1106)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3200(ComponentPageElementImpl.java:61)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1051)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1048)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
at
org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:146)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1047)
at
org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler.handle(AjaxComponentEventRequestHandler.java:110)
at
org.apache.tapestry5.internal.services.ajax.AjaxFormUpdateFilter.handle(AjaxFormUpdateFilter.java:56)
at $ComponentEventRequestHandler_2290e07ed76b6.handle(Unknown Source)
at $ComponentEventRequestHandler_2290e07ed76ae.handle(Unknown Source)
at
org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
at $ComponentEventRequestHandler_2290e07ed76b0.handle(Unknown Source)
at
org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:75)
at $ComponentEventRequestHandler_2290e07ed76b0.handle(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$40.handle(TapestryModule.java:2456)
at $ComponentEventRequestHandler_2290e07ed76b0.handle(Unknown Source)
at $ComponentEventRequestHandler_2290e07ed7366.handle(Unknown Source)
at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
at
org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
at $ComponentRequestHandler_2290e07ed7368.handleComponentEvent(Unknown
Source)
at $ComponentRequestHandler_2290e07ed732f.handleComponentEvent(Unknown
Source)
at
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46)
at $Dispatcher_2290e07ed7332.dispatch(Unknown Source)
at $Dispatcher_2290e07ed7204.dispatch(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
at
nu.localhost.tapestry5.springsecurity.services.internal.RequestFilterWrapper$1.doFilter(RequestFilterWrapper.java:60)
at
nu.localhost.tapestry5.springsecurity.services.internal.SpringSecurityExceptionTranslationFilter.doFilter(SpringSecurityExceptionTranslationFilter.java:89)
at
nu.localhost.tapestry5.springsecurity.services.internal.RequestFilterWrapper.service(RequestFilterWrapper.java:55)
at $RequestHandler_2290e07ed7205.service(Unknown Source)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_2290e07ed7205.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
at $RequestHandler_2290e07ed7205.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
at $RequestHandler_2290e07ed7205.service(Unknown Source)
at
com.mycompany.product.module.framework.SecurityFilter.service(SecurityFilter.java:65)
at $RequestHandler_2290e07ed7205.service(Unknown Source)
at
com.mycompany.product.module.framework.ProfileFilter.service(ProfileFilter.java:148)
at $RequestHandler_2290e07ed7205.service(Unknown Source)
at
com.mycompany.product.module.framework.WebResourceFilter.service(WebResourceFilter.java:39)
at $RequestHandler_2290e07ed7205.service(Unknown Source)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_2290e07ed7205.service(Unknown Source)
at
com.mycompany.product.module.services.AppModule$4.service(AppModule.java:959)
at $RequestFilter_2290e07ed71f9.service(Unknown Source)
at $RequestHandler_2290e07ed7205.service(Unknown Source)
at $RequestHandler_2290e07ed71f1.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestFilter_2290e07ed71ef.service(Unknown Source)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
nu.localhost.tapestry5.springsecurity.services.internal.SpringSecurityExceptionTranslationFilter.doFilter(SpringSecurityExceptionTranslationFilter.java:89)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestFilter_2290e07ed71ee.service(Unknown Source)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestFilter_2290e07ed71ed.service(Unknown Source)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestFilter_2290e07ed71ec.service(Unknown Source)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestFilter_2290e07ed71eb.service(Unknown Source)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestFilter_2290e07ed71ea.service(Unknown Source)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
com.mycompany.product.module.framework.EmbeddedSearchBoxFilter.service(EmbeddedSearchBoxFilter.java:79)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
com.mycompany.product.module.framework.IpnListener.service(IpnListener.java:93)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
com.mycompany.product.module.framework.ExternalResourceFilter.service(ExternalResourceFilter.java:61)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
com.mycompany.product.module.framework.AbsolutePathFilter.service(AbsolutePathFilter.java:43)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
com.mycompany.product.module.framework.IpAddressFilter.service(IpAddressFilter.java:36)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_2290e07ed71e8.service(Unknown Source)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
at $HttpServletRequestHandler_2290e07ed71f3.service(Unknown Source)
at $HttpServletRequestHandler_2290e07ed71df.service(Unknown Source)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:495)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:744)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:674)
at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:866)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:662)
2012-05-23 17:08:28,311 [TP-Processor15] INFO  cleared out selected -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,320 [TP-Processor23] INFO  caught
ConcurrentModificationException: selected.length = 0 -
com.mycompany.product.module.components.search.account.CheckoutsList
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at
com.mycompany.product.module.components.search.account.CheckoutsList.onSubmit(CheckoutsList.java:314)
...
2012-05-23 17:08:28,321 [TP-Processor23] INFO  cleared out selected -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,354 [TP-Processor38] INFO  adding to selected
31070000112090 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,354 [TP-Processor38] INFO  Submitted the form:
selected.length = 1 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,392 [TP-Processor38] INFO  cleared out selected -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,396 [TP-Processor83] INFO  adding to selected
31070000341749 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,397 [TP-Processor83] INFO  Submitted the form:
selected.length = 1 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,412 [TP-Processor63] INFO  adding to selected 310000008
- com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,413 [TP-Processor63] INFO  Submitted the form:
selected.length = 2 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,439 [TP-Processor83] INFO  caught
ConcurrentModificationException: selected.length = 2 -
com.mycompany.product.module.components.search.account.CheckoutsList
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at
com.mycompany.product.module.components.search.account.CheckoutsList.onSubmit(CheckoutsList.java:314)
...
2012-05-23 17:08:28,440 [TP-Processor83] INFO  cleared out selected -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,450 [TP-Processor63] INFO  caught
ConcurrentModificationException: selected.length = 0 -
com.mycompany.product.module.components.search.account.CheckoutsList
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at
com.mycompany.product.module.components.search.account.CheckoutsList.onSubmit(CheckoutsList.java:314)
...
2012-05-23 17:08:28,451 [TP-Processor63] INFO  cleared out selected -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,756 [TP-Processor24] INFO  CheckoutsList setuprender -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,898 [TP-Processor10] INFO  adding to selected
31070000524179 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,898 [TP-Processor10] INFO  Submitted the form:
selected.length = 1 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,915 [TP-Processor29] INFO  CheckoutsList setuprender -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:28,943 [TP-Processor10] INFO  cleared out selected -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,034 [TP-Processor29] INFO  adding to selected
0107100050460 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,034 [TP-Processor29] INFO  Submitted the form:
selected.length = 1 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,082 [TP-Processor29] INFO  cleared out selected -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,110 [TP-Processor38] INFO  CheckoutsList setuprender -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,209 [TP-Processor83] INFO  CheckoutsList setuprender -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,222 [TP-Processor10] INFO  Submitted the form:
selected.length = 0 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,222 [TP-Processor10] INFO  cleared out selected -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,272 [TP-Processor73] INFO  CheckoutsList setuprender -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,284 [TP-Processor30] INFO  CheckoutsList setuprender -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,288 [TP-Processor24] INFO  CheckoutsList setuprender -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,350 [TP-Processor83] INFO  adding to selected
31070000335402 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,351 [TP-Processor83] INFO  Submitted the form:
selected.length = 1 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,429 [TP-Processor83] INFO  cleared out selected -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,437 [TP-Processor73] INFO  adding to selected
0107100184905 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,438 [TP-Processor73] INFO  Submitted the form:
selected.length = 1 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,451 [TP-Processor30] INFO  adding to selected
31070000162012 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,451 [TP-Processor30] INFO  Submitted the form:
selected.length = 2 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,454 [TP-Processor28] INFO  adding to selected 310000557
- com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,455 [TP-Processor28] INFO  Submitted the form:
selected.length = 3 -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,502 [TP-Processor73] INFO  caught
ConcurrentModificationException: selected.length = 3 -
com.mycompany.product.module.components.search.account.CheckoutsList
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at
com.mycompany.product.module.components.search.account.CheckoutsList.onSubmit(CheckoutsList.java:314)
...
2012-05-23 17:08:29,502 [TP-Processor73] INFO  cleared out selected -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,515 [TP-Processor30] INFO  caught
ConcurrentModificationException: selected.length = 0 -
com.mycompany.product.module.components.search.account.CheckoutsList
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at
com.mycompany.product.module.components.search.account.CheckoutsList.onSubmit(CheckoutsList.java:314)
...
2012-05-23 17:08:29,516 [TP-Processor30] INFO  cleared out selected -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,523 [TP-Processor28] INFO  caught
ConcurrentModificationException: selected.length = 0 -
com.mycompany.product.module.components.search.account.CheckoutsList
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at
com.mycompany.product.module.components.search.account.CheckoutsList.onSubmit(CheckoutsList.java:314)
...
2012-05-23 17:08:29,523 [TP-Processor28] INFO  cleared out selected -
com.mycompany.product.module.components.search.account.CheckoutsList
2012-05-23 17:08:29,543 [TP-Processor15] INFO  CheckoutsList setuprender -
com.mycompany.product.module.components.search.account.CheckoutsList
...


And here is the stack trace not originating directly from my code:

2012-05-23 13:34:32,890 [TP-Processor19] ERROR Render queue error in
BeginRender[search/Results:limitcolumn.loop]:
org.apache.tapestry5.ioc.internal.util.TapestryException -
tapestry.render.com.mycompany.product.module.pages.search.Results
org.apache.tapestry5.ioc.internal.util.TapestryException [at
classpath:com/mycompany/mycompany/module/components/search/LimitColumn.tml,
line 71]
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:153)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:124)
at $PageRenderQueue_21c3877bae5e7.render(Unknown Source)
at $PageRenderQueue_21c3877bae5e6.render(Unknown Source)
at
org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
at
org.apache.tapestry5.services.TapestryModule$30.renderMarkup(TapestryModule.java:1979)
at $MarkupRenderer_21c3877bae5ea.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:1963)
at $MarkupRenderer_21c3877bae5ea.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:1945)
at $MarkupRenderer_21c3877bae5ea.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1930)
at $MarkupRenderer_21c3877bae5ea.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1916)
at $MarkupRenderer_21c3877bae5ea.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1898)
at $MarkupRenderer_21c3877bae5ea.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:1879)
at $MarkupRenderer_21c3877bae5ea.renderMarkup(Unknown Source)
at $MarkupRenderer_21c3877bae5e5.renderMarkup(Unknown Source)
at
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47)
at $PageMarkupRenderer_21c3877bae5e3.renderPageMarkup(Unknown Source)
at
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:67)
at $PageResponseRenderer_21c3877bae41e.renderPageResponse(Unknown Source)
at
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:64)
at
org.apache.tapestry5.services.TapestryModule$37.handle(TapestryModule.java:2207)
at $PageRenderRequestHandler_21c3877bae420.handle(Unknown Source)
at $PageRenderRequestHandler_21c3877bae41a.handle(Unknown Source)
at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
at
org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
at $ComponentRequestHandler_21c3877bae41b.handlePageRender(Unknown Source)
at $ComponentRequestHandler_21c3877bae3e2.handlePageRender(Unknown Source)
at
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
at $Dispatcher_21c3877bae3e5.dispatch(Unknown Source)
at $Dispatcher_21c3877bae2b7.dispatch(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
at
com.mycompany.product.module.framework.SecurityFilter.service(SecurityFilter.java:65)
at $RequestHandler_21c3877bae2b8.service(Unknown Source)
at
com.mycompany.product.module.framework.ProfileFilter.service(ProfileFilter.java:148)
at $RequestHandler_21c3877bae2b8.service(Unknown Source)
at
com.mycompany.product.module.framework.WebResourceFilter.service(WebResourceFilter.java:39)
at $RequestHandler_21c3877bae2b8.service(Unknown Source)
at
com.mycompany.product.module.services.AppModule$4.service(AppModule.java:959)
at $RequestFilter_21c3877bae2ac.service(Unknown Source)
at $RequestHandler_21c3877bae2b8.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.RequestFilterWrapper$1.doFilter(RequestFilterWrapper.java:60)
at
nu.localhost.tapestry5.springsecurity.services.internal.SpringSecurityExceptionTranslationFilter.doFilter(SpringSecurityExceptionTranslationFilter.java:89)
at
nu.localhost.tapestry5.springsecurity.services.internal.RequestFilterWrapper.service(RequestFilterWrapper.java:55)
at $RequestHandler_21c3877bae2b8.service(Unknown Source)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_21c3877bae2b8.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
at $RequestHandler_21c3877bae2b8.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
at $RequestHandler_21c3877bae2b8.service(Unknown Source)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_21c3877bae2b8.service(Unknown Source)
at $RequestHandler_21c3877bae2a4.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
at
com.mycompany.product.module.framework.EmbeddedSearchBoxFilter.service(EmbeddedSearchBoxFilter.java:79)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
com.mycompany.product.module.framework.IpnListener.service(IpnListener.java:93)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
com.mycompany.product.module.framework.ExternalResourceFilter.service(ExternalResourceFilter.java:61)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
com.mycompany.product.module.framework.AbsolutePathFilter.service(AbsolutePathFilter.java:43)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
com.mycompany.product.module.framework.IpAddressFilter.service(IpAddressFilter.java:36)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestFilter_21c3877bae299.service(Unknown Source)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
nu.localhost.tapestry5.springsecurity.services.internal.SpringSecurityExceptionTranslationFilter.doFilter(SpringSecurityExceptionTranslationFilter.java:89)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestFilter_21c3877bae298.service(Unknown Source)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestFilter_21c3877bae297.service(Unknown Source)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestFilter_21c3877bae296.service(Unknown Source)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestFilter_21c3877bae295.service(Unknown Source)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at
nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52)
at $HttpServletRequestFilter_21c3877bae294.service(Unknown Source)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_21c3877bae2a2.service(Unknown Source)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
at $HttpServletRequestHandler_21c3877bae2a6.service(Unknown Source)
at $HttpServletRequestHandler_21c3877bae292.service(Unknown Source)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:495)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:744)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:674)
at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:866)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at org.apache.tapestry5.corelib.components.Loop.begin(Loop.java:386)
at org.apache.tapestry5.corelib.components.Loop.beginRender(Loop.java)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
... 130 more

Thanks in advance,
Sean

--
View this message in context: http://tapestry.1045711.n5.nabble.com/java-util-ConcurrentModificationException-in-tapestry-5-3-3-under-stress-tp5713368.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>Sean</dc:creator>
    <dc:date>2012-05-23T21:28:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98307">
    <title>My dynamic tree component - feedback invited</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98307</link>
    <description>&lt;pre&gt;-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,

Tapestry has a tree component, but it focuses on one specific way of
using trees.

In the project I am currently working on, we would like to use trees
in a different way. So I got down and started creating a tree
component, open sourcing it:

http://github.com/arnohaase/t5-tree.git

It is far from finished, but since I am fairly new to both Tapestry,
JavaScript and web programming in general, I would much appreciate all
kinds of feedback.

So, here is a short overview of what the component library (currently)
offers:

* an explicit hierarchy of tree nodes as separate elements in the .tml
file
  * works with or without integration into a form
* native tri-state checkboxes at every level, higher levels being
automatically updated when lower levels are changed

* A recursively ("true") tree component that takes a slightly
different approach from the standard tree component, allowing client
code to specify which parts of the tree are transferred to the browser
"eagerly" and which parts are only transferred via AJAX when the
respective node is opened.

The components are stylable via CSS (did I strike a good balance here?
This is something I am particularly keen on getting feedback on!).
They are built on top of jQuery (with tapestry5-jquery).

There are plenty of rough edges. One especially rough edge I am aware
of is the verbose usage of JavaScript - I plan on cleaning that up.

So - does this approach look helpful to others? Are there any
suggestions for doing things differently? Efficiency concerns?

Thank you for taking the time to read this verbose mail, and if you
take the time to look at the code, thank you very very much!



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk+9VY8ACgkQbmZsMyUPuXQP9QCfRjMm1UV3pplkaWfnsXCA/lwj
cm4AoL40N4EcSthiIe0VG9HDWqYSl7Nu
=Ew5e
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>Arno Haase</dc:creator>
    <dc:date>2012-05-23T21:24:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98298">
    <title>how to add onClose event on tapx-datefield</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98298</link>
    <description>&lt;pre&gt;Hi..

I'm using T 5.3.2 and tapx-datefield 1.2-SNAPSHOT.
I'm looking for a way to set focus on inputfield after tapx-calendar
closed (after user pick a date).

After reading the source code, I've found that calendar-setup.js have
onClose property.
However, I'm having difficulties adding onClose event. Where should I
put onClose ?
How to add onClose into tapx-datefield.js without extracting the jar
and repackage manually with modified tapx-datefield.js?

Thanks..

Best regards,
Yohan Yudanara

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>Yohan Yudanara</dc:creator>
    <dc:date>2012-05-23T15:16:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98295">
    <title>[T5] Dynamic Graphics</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98295</link>
    <description>&lt;pre&gt;Hi there,

 

is there any support to draw graphics in Tapestry?

 

I'm looking for some component that offers some standard Java Graphics2D
object and renders this as some possible web-graphics at the client,
e.g. HTML5 canvas with Javascript. Is there any such support?

 

Additionally I'd like to be able to update the graphics via Ajax.

 

Any hints?

 

Cheers,

Hauke


&lt;/pre&gt;</description>
    <dc:creator>Fuhrmann, Hauke</dc:creator>
    <dc:date>2012-05-23T14:29:27</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98291">
    <title>T5.3 's Tree in a Loop</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98291</link>
    <description>&lt;pre&gt;Hi,

I got the need to show a dynamic number of tree components in a page, I
thought about using a loop around a tree component but I 've bumped with
the problem that I 'll need to
set the Tree's model property with something variable.

I 've already tried this:

    &amp;lt;t:loop t:source="loopData" t:value="loopValue"&amp;gt;

        &amp;lt;t:tree t:model="getTreeModel(loopValue)"

and I could render two trees but when I tried to expand one branch of a
tree it executed again the getTreeModel but with a null parameter so
it finally didn't work as I expected.

can anyone give me a hint on how could this be accomplished?

cheers and thanks...

Nicolás.-
&lt;/pre&gt;</description>
    <dc:creator>Nicolas Barrera</dc:creator>
    <dc:date>2012-05-23T13:09:41</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98284">
    <title>[ANN] JumpStart upgraded to Tomcat 7, JBoss 7, and Glassfish 3</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98284</link>
    <description>&lt;pre&gt;Hi all,

JumpStart 6.1 has been released. You can still test in Jetty and now you can deploy to:

* JBoss 7.1.1
* Tomcat 7.0
* Glassfish 3.1.2

That's because it now works with:

* Hibernate 4.1 (upgraded from 3.3)
* Java EE 6 (upgraded from 5)
* OpenEJB 4.0.0 (upgraded from 3.1.4).

Incidentally, the newly released OpenEJB and TomEE are very cool. Have a look at http://openejb.apache.org/ .

JumpStart is running in the usual place…

http://jumpstart.doublenegative.com.au/jumpstart/

...and of course comments and critiques are always welcome.

Cheers,

Geoff


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>Geoff Callender</dc:creator>
    <dc:date>2012-05-22T20:58:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98270">
    <title>Tapestry JPA Bug</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98270</link>
    <description>&lt;pre&gt;Hi guys i think there is a bug in tapestry-jpa and value encoder

In a discussion i was reading, Howard changed valueEncoder of
tapestry-hibernate to return null in toClient if the id of the object
was null.That was use full in cases where we wanted to have the same
page for save/edit.

Quote from Howard
"I recently changed Tapestry 5.3 so that the Hibernate ValueEncoder
(used implicitly by &amp;lt; at &amp;gt;PageActivationContext) will encode a transient
entity as null.  This makes it possible to use the same page for add
and edit, with a bit of smart logic in your onActivate() event handler
method.
"

Unfortunately the same doesn't happen in Tapestry-jpa.Is this a real
bug or there should be another way to have same page for save/edit.

To Client of tapestry-jpa
    public String toClient(final E value)
    {
        if (value == null)
            return null;

        final Object id = propertyAdapter.get(value);

        if (id == null)
            throw new IllegalStateException(
                    String.format(
                            "Entity %s has an %s property of null;
this probably means that it has not been persisted yet.",
                            value, idPropertyName));

        return typeCoercer.coerce(id, String.class);
    }


To client of tapestry-hibernate
    public String toClient(E value)
    {
        if (value == null)
            return null;

        Object id = propertyAdapter.get(value);

        if (id == null)
        {
            return null;
        }

        return typeCoercer.coerce(id, String.class);
    }

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>Dimitris Zenios</dc:creator>
    <dc:date>2012-05-22T15:43:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98266">
    <title>Two arguements in validate parameter</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98266</link>
    <description>&lt;pre&gt;Hello, I'm trying add the following arguments to the tapestry validate
parameter. The first one being tapestry's built in email validator and the
second being my custom validator. 

t:validate="email, prop:getFieldValidator('shiptoContactEmail')"

which results in this exception. 

java.lang.RuntimeException
Unexpected character ':' at position 12 of input string: email,
prop:getFieldValidator('shiptoContactEmail')

In a previous post, Robert said 

"Specifying the property prefix (eg: prop:, component:, validate:, etc.)
only
works at the beginning of the expression, and it is applied to the entire
expression. "

which would explain the exception, however I'm wondering how this should be
done. Should I pass back email in the fieldValidator and handle it on the
backend or is there another way to handle this on the frontend. 

Thanks,

--
View this message in context: http://tapestry.1045711.n5.nabble.com/Two-arguements-in-validate-parameter-tp5713312.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>George Christman</dc:creator>
    <dc:date>2012-05-22T13:51:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.tapestry.user/98258">
    <title>Tapestry Transactions</title>
    <link>http://comments.gmane.org/gmane.comp.java.tapestry.user/98258</link>
    <description>&lt;pre&gt;What is the best way to handle complex transaction in Tapestry?

Up to this point I had a bunch of services that have &amp;lt; at &amp;gt;CommitAfter annotation
on them, and then I have a method say addNewSomething() in which I call a
create a bunch of objects all conected to each other and then call
appropriate services to persist them. The obvious problem is that each
persist is not depended on the next one as it should be. 

So now I am trying to put &amp;lt; at &amp;gt;CommitAfter anotation on the method
addNewSomething and this works in some cases (for adding for example, but
not for deleting - when I have to delete some object/objects from DB). Not
really sure why is that

Anyway what whould be the best way to handle this? Should I maybe consider
spring and &amp;lt; at &amp;gt;Transactional annotation. 

Also is OpenSessionInViewFilter something that should be used in tapestry?
It is my understanding that this is used because we first load an object and
then when in the tml we have a call to list of objects that are not loaded
it will throw an exception. However this does not happen for me. What it
does happen is that if I load an object but in some method that is called on
say form submit I need a list it will then throw an exception, but
OpenSessionInViewFilter does not help with that, right? So I am right to
assume that tapestry-hibernate has its own version of
OpenSessionInViewFilter?

Cheers

--
View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-Transactions-tp5713299.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe&amp;lt; at &amp;gt;tapestry.apache.org
For additional commands, e-mail: users-help&amp;lt; at &amp;gt;tapestry.apache.org


&lt;/pre&gt;</description>
    <dc:creator>bhorvat</dc:creator>
    <dc:date>2012-05-22T10:42:08</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.java.tapestry.user">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.java.tapestry.user</link>
  </textinput>
</rdf:RDF>

