[jira] Created: (TAP5-640) DOM manipulation no longer allowed during rendering

2009-04-09 Thread Dan Adams (JIRA)
DOM manipulation no longer allowed during rendering
---

 Key: TAP5-640
 URL: https://issues.apache.org/jira/browse/TAP5-640
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.1.0.2
Reporter: Dan Adams


We have a number of utilities that do DOM manipulation while the page is 
rendering. This is often a lot easier than doing it after render and results in 
more concise code. An example is if you have a list of elements:


  foo
  
  


After each LI renders, do something like this:

if (element.getChildren().isEmpty())
  element.remove();

It will work for the first empty LI and throw a NPE on the second empty LI 
because the container inside the element is null (which is odd since it just 
rendered into a container). But if you wait till after the LIs have all 
rendered you can loop back and do this safely. However, it's much less readable 
code and is a real bummer.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (TAP5-639) Inlcude a coercion from Hibernate's Criteria object to a GridDataSource

2009-04-09 Thread Robert Zeigler (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12697603#action_12697603
 ] 

Robert Zeigler commented on TAP5-639:
-

I did something like this for similar data structues in the tapestry5-cayenne 
library (they don't have a criteria query, but they have a SelectQuery, which 
is similar); came out pretty. :) 

> Inlcude a coercion from Hibernate's Criteria object to a GridDataSource
> ---
>
> Key: TAP5-639
> URL: https://issues.apache.org/jira/browse/TAP5-639
> Project: Tapestry 5
>  Issue Type: New Feature
>  Components: tapestry-hibernate
>Affects Versions: 5.1.0.4
>Reporter: Howard M. Lewis Ship
>
> Seems like a wrapper around a base Criteria could (form there) add in sorting 
> and pagination quite seamlessly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (TAP5-639) Inlcude a coercion from Hibernate's Criteria object to a GridDataSource

2009-04-09 Thread Howard M. Lewis Ship (JIRA)
Inlcude a coercion from Hibernate's Criteria object to a GridDataSource
---

 Key: TAP5-639
 URL: https://issues.apache.org/jira/browse/TAP5-639
 Project: Tapestry 5
  Issue Type: New Feature
  Components: tapestry-hibernate
Affects Versions: 5.1.0.4
Reporter: Howard M. Lewis Ship


Seems like a wrapper around a base Criteria could (form there) add in sorting 
and pagination quite seamlessly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (TAP5-621) When using PageTester, an exception in the page is hidden by an exception rendering the exception report page

2009-04-09 Thread Andy Blower (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12697596#action_12697596
 ] 

Andy Blower commented on TAP5-621:
--

This is still an issue, I now get this when using the PageTester. So the actual 
problem is still being hidden.

org.apache.tapestry5.internal.services.RenderQueueException: Render queue error 
in BeginRender[core/ExceptionReport:renderobject]: Request: method 
getHeaderNames() not yet implemented by TestableRequestImpl. [at 
classpath:org/apache/tapestry5/corelib/pages/ExceptionReport.tml, line 24]
at 
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:86)
at 
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:121)
at 
$PageRenderQueue_1208c28466c.render($PageRenderQueue_1208c28466c.java)
at 
$PageRenderQueue_1208c28466b.render($PageRenderQueue_1208c28466b.java)
at 
org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
at 
org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1752)
at 
$MarkupRenderer_1208c284670.renderMarkup($MarkupRenderer_1208c284670.java)
at 
org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1733)
at 
$MarkupRenderer_1208c284670.renderMarkup($MarkupRenderer_1208c284670.java)
at 
org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1715)
at 
$MarkupRenderer_1208c284670.renderMarkup($MarkupRenderer_1208c284670.java)
at 
org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:1701)
at 
$MarkupRenderer_1208c284670.renderMarkup($MarkupRenderer_1208c284670.java)
at 
org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1682)
at 
$MarkupRenderer_1208c284670.renderMarkup($MarkupRenderer_1208c284670.java)
at 
org.apache.tapestry5.services.TapestryModule$22.renderMarkup(TapestryModule.java:1663)
at 
$MarkupRenderer_1208c284670.renderMarkup($MarkupRenderer_1208c284670.java)
at 
org.apache.tapestry5.internal.test.CaptureRenderedDocument.renderMarkup(CaptureRenderedDocument.java:39)
at 
$MarkupRenderer_1208c284670.renderMarkup($MarkupRenderer_1208c284670.java)
at 
$MarkupRenderer_1208c28466a.renderMarkup($MarkupRenderer_1208c28466a.java)
at 
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64)
at 
$PageMarkupRenderer_1208c284666.renderPageMarkup($PageMarkupRenderer_1208c284666.java)
at 
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:61)
at 
$PageResponseRenderer_1208c28460b.renderPageResponse($PageResponseRenderer_1208c28460b.java)
at 
org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:77)
at 
$RequestExceptionHandler_1208c2845f5.handleRequestException($RequestExceptionHandler_1208c2845f5.java)
at 
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42)
at $RequestHandler_1208c2845f8.service($RequestHandler_1208c2845f8.java)
at 
org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:782)
at $RequestHandler_1208c2845f8.service($RequestHandler_1208c2845f8.java)
at 
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:771)
at $RequestHandler_1208c2845f8.service($RequestHandler_1208c2845f8.java)
at 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
at $RequestHandler_1208c2845f8.service($RequestHandler_1208c2845f8.java)
at 
com.proquest.apps.corelib.AppCoreLibModule$4.service(AppCoreLibModule.java:209)
at $RequestFilter_1208c2845ef.service($RequestFilter_1208c2845ef.java)
at $RequestHandler_1208c2845f8.service($RequestHandler_1208c2845f8.java)
at 
org.apache.tapestry5.internal.test.EndOfRequestCleanupFilter.service(EndOfRequestCleanupFilter.java:42)
at $RequestHandler_1208c2845f8.service($RequestHandler_1208c2845f8.java)
at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81)
at 
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
at $RequestHandler_1208c2845f8.service($RequestHandler_1208c2845f8.java)
at $RequestHandler_1208c2845e3.servic

[jira] Commented: (TAP5-633) Allow page classes to have a "Page" suffix that is not included in the URL

2009-04-09 Thread Paul Field (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12697561#action_12697561
 ] 

Paul Field commented on TAP5-633:
-

Nice idea but unfortunately, then I will have a lot of packages that contain 
just one class. The core part of our app is primarily a collection of read-only 
pages centred on the domain objects: Company, Analyst, Region, Sector, 
Statistics and so on. As I say, the business naturally refer to these as the 
"Company Page" and "Analyst Page" etc... From a Domain Driven Design 
point-of-view I like the idea that the Java classes are named after the 
business domain terms.

Interestingly as we write financial applications "Index" has a very specific 
meaning so a "Company Index" means something to the business and IndexIndex 
would be really confusing :-) One of our other apps does have an Index Page (in 
the business sense).



> Allow page classes to have a "Page" suffix that is not included in the URL
> --
>
> Key: TAP5-633
> URL: https://issues.apache.org/jira/browse/TAP5-633
> Project: Tapestry 5
>  Issue Type: Improvement
>  Components: tapestry-core
>Affects Versions: 5.1.0.2
>Reporter: Paul Field
>Priority: Minor
>
> I have an application with a lot of read-only pages. For example, I have a 
> page that shows a company and I would like a URI such as:  /company/1234
> However, if I name the page class "Company" then I get a naming clash with 
> the domain object "Company". What I would like to do is call the Tapestry 5 
> class "CompanyPage" - after all, that is what the class represents and it's 
> certainly how the team refers to that thing internally and with our business 
> (i.e. "Have you seen the new company page?").
> So, please could the ComponentClassResolverImpl remove the suffix "Page" (if 
> it exists) from the class name when it constructs the logical page name?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (TAP5-633) Allow page classes to have a "Page" suffix that is not included in the URL

2009-04-09 Thread Howard M. Lewis Ship (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12697535#action_12697535
 ] 

Howard M. Lewis Ship commented on TAP5-633:
---

Create a package named company and create a class CompanyIndex.

Tapestry will strip off "Company" because it matches the package name, and 
"Index" because its by itself, resulting in a base URL of "/company" to which 
the page activation context will be added.

> Allow page classes to have a "Page" suffix that is not included in the URL
> --
>
> Key: TAP5-633
> URL: https://issues.apache.org/jira/browse/TAP5-633
> Project: Tapestry 5
>  Issue Type: Improvement
>  Components: tapestry-core
>Affects Versions: 5.1.0.2
>Reporter: Paul Field
>Priority: Minor
>
> I have an application with a lot of read-only pages. For example, I have a 
> page that shows a company and I would like a URI such as:  /company/1234
> However, if I name the page class "Company" then I get a naming clash with 
> the domain object "Company". What I would like to do is call the Tapestry 5 
> class "CompanyPage" - after all, that is what the class represents and it's 
> certainly how the team refers to that thing internally and with our business 
> (i.e. "Have you seen the new company page?").
> So, please could the ComponentClassResolverImpl remove the suffix "Page" (if 
> it exists) from the class name when it constructs the logical page name?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (TAP5-638) Support for uploading files using AJAX

2009-04-09 Thread Hugo Palma (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-638?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hugo Palma updated TAP5-638:


Summary: Support for uploading files using AJAX  (was: Support for ajax 
requests)

> Support for uploading files using AJAX
> --
>
> Key: TAP5-638
> URL: https://issues.apache.org/jira/browse/TAP5-638
> Project: Tapestry 5
>  Issue Type: Improvement
>  Components: tapestry-upload
>Reporter: Hugo Palma
>
> If the upload component is included on a form that does a partial update(has 
> the zone parameter set) the value property isn't updated with the 
> UploadedFile instance.
> So it seems that this component upload doesn't support ajax. It would be 
> great if it was possible to upload a file using AJAX.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (TAP5-638) Support for ajax requests

2009-04-09 Thread Hugo Palma (JIRA)
Support for ajax requests
-

 Key: TAP5-638
 URL: https://issues.apache.org/jira/browse/TAP5-638
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-upload
Reporter: Hugo Palma


If the upload component is included on a form that does a partial update(has 
the zone parameter set) the value property isn't updated with the UploadedFile 
instance.

So it seems that this component upload doesn't support ajax. It would be great 
if it was possible to upload a file using AJAX.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (TAP5-577) TAP5-422 changes break persistent locale backwards compatibility.

2009-04-09 Thread Andy Blower (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy Blower updated TAP5-577:
-

Attachment: T5.1persistentLocale.txt

It looks rather like no one else is bothered by this, so I've gone ahead and 
converted my app's locale persistence to work in T5.1 and I'm attaching the 
changes I made to our module to support custom implementations of the 
PersistentLocale service.

Howard, can you check that I've not missed a trick here please? 

Also, I was wondering if having a method in LocalizationSetter that allows a 
Locale to be passed would be a good idea. (to remove the conversion to String 
and back again which occurs for every request)

The only  other slight annoyance I have with this is PersistentLocale.set() 
being constantly called by the LocalizationSetter for each request, this 
doesn't fit in with the old way that the PersistentLocale service was used. I 
think that only executing persistentLocale.set(locale); (line 113) if 
ENCODE_LOCALE_INTO_PATH is true would be a nice little improvement.

> TAP5-422 changes break persistent locale backwards compatibility.
> -
>
> Key: TAP5-577
> URL: https://issues.apache.org/jira/browse/TAP5-577
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Affects Versions: 5.1.0.0, 5.1.0.1
>Reporter: Andy Blower
>Priority: Critical
> Attachments: T5.1persistentLocale.txt
>
>
> I think that the changes made in T5.1 for TAP5-422 break backwards 
> compatibility with T5.0's locale persistence. In T5.0 it was a simple matter 
> to override the default cookie persistence by creating a custom 
> implementation of the PersistentLocale service and contributing it to be used 
> instead of the standard internal T5 implementation.
> The TAP5-422 changes broke backwards compatibility because anyone who's 
> created their own implementation of PersistentLocale, or just wants the 5.0 
> cookie persistence behaviour, would have found that it's a lot more work and 
> involves some heavy changes to Tapestry internals. Now with the recent 
> changes for TAP5-418 (committed yesterday), the situation had been alleviated 
> somewhat by allowing the the hard-wired URl locale persistence to be switched 
> off using a new symbol.
> However, I still think that this breaks backwards compatibility in two ways:
> 1) By changing the default behaviour of locale persistence so that anyone 
> relying on the locale persistence behaviour of 5.0 will have to make 
> non-trivial changes when they upgrade to 5.1 to keep the same operation.
> 2) By requiring so much work for anyone wanting to keep the 5.0 cookie 
> persistence behaviour or define their own custom locale persistence. (In 5.0 
> it was easy to figure out and implement a custom locale persistence method)
> From my analysis of the changes made by TAP5-422 & TAP5-418, I think anyone 
> wanting non-URL based locale persistence will need to do the following when 
> upgrading from 5.0 to 5.1:
> 1) Set the ENCODE_LOCALE_INTO_PATH symbol to false.
> 2) Create an implementation of PersistentLocale and contribute it to the IOC. 
> (copied from the standard 5.0 code if the old default cookie persistence is 
> desired)
> 3) Create a custom filter written and created to do the same job as the 5.0 
> LocalizationFilter and contribute it to the IOC RequestHandler. This filter 
> will need to call the LocalizationSetter setLocaleFromLocaleName() method 
> instead of the old setThreadLocale() method. 
> My suggested resolution would be to re-instate the 5.0 cookie persistence 
> (LocalizationFilter & PersistentLocaleImpl) and have the new 
> ENCODE_LOCALE_INTO_PATH symbol default to false allowing 5.1 to work the same 
> way as 5.0 out of the box. If the symbol is set to true, then the 
> LocalizationFilter is disabled (not contributed to RequestHandler) and the 
> PersistentLocale service will need to just store the locale (not set it in a 
> cookie) for later use by LinkSourceImpl. 
> LocalizationSetterImpl.setLocaleFromLocaleName(String localeName) would also 
> need changing back to overriding the passed localeName if a persistent one 
> had been set into the PersistentLocale service. There may by a much better 
> solution than this as I've not spent much time on it, but I though I should 
> try to be helpful as possible.
> (It should be noted that this is purely a product of my analysis of the 5.1 
> code, I have not found the time to actually run T5.1 and test this out - I 
> should be able to do this in about a week and a half, but I'm currently 
> approaching a major milestone deadline. Hopefully someone else will find the 
> time to prove or disprove my hypothesis.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to 

[jira] Updated: (TAP5-637) There should be a javascript counterpart for the URLEncoder service

2009-04-09 Thread Hugo Palma (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hugo Palma updated TAP5-637:


Component/s: tapestry-core
   Priority: Minor  (was: Major)
Description: This is very useful if you want to build event urls in 
javascript.
Summary: There should be a javascript counterpart for the URLEncoder 
service  (was: There should be a javascript counterpart for the URLE)

> There should be a javascript counterpart for the URLEncoder service
> ---
>
> Key: TAP5-637
> URL: https://issues.apache.org/jira/browse/TAP5-637
> Project: Tapestry 5
>  Issue Type: New Feature
>  Components: tapestry-core
>Reporter: Hugo Palma
>Priority: Minor
> Attachments: url-encoder.js
>
>
> This is very useful if you want to build event urls in javascript.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (TAP5-637) There should be a javascript counterpart for the URLEncoder service

2009-04-09 Thread Hugo Palma (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hugo Palma updated TAP5-637:


Attachment: url-encoder.js

This is my implementation of the URLEncoder service. Feel free to use and/or 
change it and incorporate in the framework.

> There should be a javascript counterpart for the URLEncoder service
> ---
>
> Key: TAP5-637
> URL: https://issues.apache.org/jira/browse/TAP5-637
> Project: Tapestry 5
>  Issue Type: New Feature
>  Components: tapestry-core
>Reporter: Hugo Palma
>Priority: Minor
> Attachments: url-encoder.js
>
>
> This is very useful if you want to build event urls in javascript.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (TAP5-637) There should be a javascript counterpart for the URLE

2009-04-09 Thread Hugo Palma (JIRA)
There should be a javascript counterpart for the URLE
-

 Key: TAP5-637
 URL: https://issues.apache.org/jira/browse/TAP5-637
 Project: Tapestry 5
  Issue Type: New Feature
Reporter: Hugo Palma




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (TAP5-469) ResponseCompressionAnalyzer: application/json responses should be uncompressable by default

2009-04-09 Thread Paudi Moriarty (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12697421#action_12697421
 ] 

Paudi Moriarty commented on TAP5-469:
-

I agree.  I spent as much time as I could on it and had to move on.  Let us 
know if you find out more.

> ResponseCompressionAnalyzer: application/json responses should be 
> uncompressable by default
> ---
>
> Key: TAP5-469
> URL: https://issues.apache.org/jira/browse/TAP5-469
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Affects Versions: 5.1.0.0
>Reporter: Paudi Moriarty
>Assignee: Howard M. Lewis Ship
> Fix For: 5.1.0.3
>
>
> GZip compressed responses with Content-Type: application/json are not handled 
> correctly by at least Firefox or IE and should be configured as 
> uncompressable by default
> When the response is received in prototype's Ajax.Request 
> response.responseText is "".

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.