Modified: tapestry/tapestry4/trunk/src/site/xdoc/release-notes.xml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/release-notes.xml?view=diff&rev=550229&r1=550228&r2=550229
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/release-notes.xml (original)
+++ tapestry/tapestry4/trunk/src/site/xdoc/release-notes.xml Sun Jun 24 
06:48:45 2007
@@ -10,6 +10,369 @@
 
         <section name="Tapestry 4 Releases">
 
+            <subsection name="Release Notes - Tapestry - Version 4.1.2">
+                <h2>        Sub-task
+                </h2>
+                <ul>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1231'>TAPESTRY-1231</a>] - 
        org.apache.tapestry.form.ImageSubmit renders invalid XHTML attribute 
'border=&quot;0&quot;'
+                    </li>
+                </ul>
+
+                <h2>        Bug
+                </h2>
+                <ul>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/HIVEMIND-206'>HIVEMIND-206</a>] -   
      registryDidShutdown not called on Hivemind services on undeploy
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-403'>TAPESTRY-403</a>] -   
      Bean binding with contrib:tablerows
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-415'>TAPESTRY-415</a>] -   
      For component should use line precise error reporting for data conversions
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-572'>TAPESTRY-572</a>] -   
      NumberValidator should accept Strings
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-633'>TAPESTRY-633</a>] -   
      Default behavior of NumberTranslator treats zeros asymmetrically.
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-638'>TAPESTRY-638</a>] -   
      Recursive components result in a StackOverflowError
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-695'>TAPESTRY-695</a>] -   
      WebRequestServicerFilter lacks support for tapestry.globals.*
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-825'>TAPESTRY-825</a>] -   
      Cookies failing due to improper timing on flush() method
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-851'>TAPESTRY-851</a>] -   
      DatePicker does not error when bound to values of wrong type
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-853'>TAPESTRY-853</a>] -   
      Palette silently fails when bound to wrong collection type
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-872'>TAPESTRY-872</a>] -   
      Persitent page properties are not set before 
PageAttachListener#pageAttached method is fired
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-873'>TAPESTRY-873</a>] -   
      Minor XHTML 1.0 Strict compliance issues
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-881'>TAPESTRY-881</a>] -   
      Allow global i18n bundle location to be customized
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-907'>TAPESTRY-907</a>] -   
      overridden parameter problem
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-937'>TAPESTRY-937</a>] -   
      Custom binding prefixes shorter than 2 characters fail without useful 
diagnostics
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-954'>TAPESTRY-954</a>] -   
      Session lost when PageLInk inside a form
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-958'>TAPESTRY-958</a>] -   
      Table column headers with a custom render block cannot be sorted
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-988'>TAPESTRY-988</a>] -   
      Function mismatch with description in document:  Form.jwc and 
tapestry.request.xml
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1014'>TAPESTRY-1014</a>] - 
        java.util.ConcurrentModificationException in portlet when trying to 
show ArrayList
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1026'>TAPESTRY-1026</a>] - 
        PageSpecificationResolverImpl doesn't search &quot;implict&quot; page 
specifications/templates in all the right places.
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1065'>TAPESTRY-1065</a>] - 
        TreeDataView.renderComponent() and TreeTableDataView.generateNodeList() 
 cause ClassCastException in ITreeDataModel.getUniqueKey()
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1071'>TAPESTRY-1071</a>] - 
        Client-side number validation does not work
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1091'>TAPESTRY-1091</a>] - 
        Invalid URL for injected using annotation assets
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1101'>TAPESTRY-1101</a>] - 
        @Persist(&quot;session&quot;) does not make the accessor fetch from 
session everytime
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1120'>TAPESTRY-1120</a>] - 
        UploadPart / getFileName() doesn't work cross-platform
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1145'>TAPESTRY-1145</a>] - 
        Unable to trigger EventListener when it is inside a block
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1151'>TAPESTRY-1151</a>] - 
        PagePool doesnt remove idle pages, heap memory doens't get reallocated
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1179'>TAPESTRY-1179</a>] - 
        practical component class naming for For, If and Else
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1193'>TAPESTRY-1193</a>] - 
        .script files: &quot;index&quot; property of &quot;foreach&quot; tag is 
stored as a String, not an integer
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1198'>TAPESTRY-1198</a>] - 
        problem with Checkbox + custom validators
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1199'>TAPESTRY-1199</a>] - 
        multiple Autocompleters on the same page b0rken
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1203'>TAPESTRY-1203</a>] - 
        boolean.getBoolean doesn't work as expected in InjectMetaWorker
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1204'>TAPESTRY-1204</a>] - 
        boolean meta values in the component descriptor does not work
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1205'>TAPESTRY-1205</a>] - 
        bad links in &quot;Defining new Application State Objects&quot; doc's 
chapter
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1206'>TAPESTRY-1206</a>] - 
        Asynchronous Selection Boxes work with Firefox 2.0 but not with 
Internet Explorer 6/7
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1208'>TAPESTRY-1208</a>] - 
        bad links in &quot;Determining the Page Class&quot;
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1210'>TAPESTRY-1210</a>] - 
        Problem with InlineEditBox on persisted page property
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1212'>TAPESTRY-1212</a>] - 
        AlertDialog widget button text should be &quot;OK&quot;
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1214'>TAPESTRY-1214</a>] - 
        @Submit with submitType=&quot;refresh&quot; : JavaScript syntax error
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1215'>TAPESTRY-1215</a>] - 
        Autocomplete triggers a syntax error in dojo.js when getValues() 
returns an empty list
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1216'>TAPESTRY-1216</a>] - 
        async Submit won't skip client side validation
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1217'>TAPESTRY-1217</a>] - 
        IE watchInFlight Error when receiving a &lt;tr&gt;
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1218'>TAPESTRY-1218</a>] - 
        URL to dojo.js is not escaped
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1222'>TAPESTRY-1222</a>] - 
        HTTP headers setting through WebResponse is ignored
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1227'>TAPESTRY-1227</a>] - 
        IUploadFile implementations should be prepared for &quot;all&quot; file 
name-separator characters in getFileName()
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1228'>TAPESTRY-1228</a>] - 
        core.js doesn't process embedded &lt;script&gt;&lt;/script&gt; elements 
in ajax fragments
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1229'>TAPESTRY-1229</a>] - 
        AssetService not thread safe
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1234'>TAPESTRY-1234</a>] - 
        ResourceMatcherImpl not thread safe on multi-CPU system
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1240'>TAPESTRY-1240</a>] - 
        LinkSubmit with parameters causes exception although it has validators 
attached
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1241'>TAPESTRY-1241</a>] - 
        @EventListener produces multiple events
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1242'>TAPESTRY-1242</a>] - 
        Typing in autocompleter does not display dropdown values
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1247'>TAPESTRY-1247</a>] - 
        When a div containing a DirectLink using a PopupLinkRenderer is updated 
asynchronously, the attached javascript portion of the ajax response is ignored.
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1248'>TAPESTRY-1248</a>] - 
        Localization Problem when using Min Max Validator
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1249'>TAPESTRY-1249</a>] - 
        4.1.1 binary downloads include non-Apache modules (including OGNL and 
Javassist).
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1253'>TAPESTRY-1253</a>] - 
        Meta injection throws exception unless property accessor is defined
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1254'>TAPESTRY-1254</a>] - 
        IE7 mixed secure/nonsecure SSL warning on https using dojo dialog 
component
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1256'>TAPESTRY-1256</a>] - 
        IllegalStateException if you try to access an ASO with OGNL, before 
accessing it in code
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1259'>TAPESTRY-1259</a>] - 
        EventListener generates duplicate javascript with page caching on
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1261'>TAPESTRY-1261</a>] - 
        need default styling on async exception responses somehow
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1268'>TAPESTRY-1268</a>] - 
        setting focus=false on EventListener doesn't prevent focus from being 
claimed on form elements
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1273'>TAPESTRY-1273</a>] - 
        ValidationStrings_de.properties is incomplete
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1280'>TAPESTRY-1280</a>] - 
        add exclusion filter for Generic persistent types
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1288'>TAPESTRY-1288</a>] - 
        Incorrect link in documentation
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1301'>TAPESTRY-1301</a>] - 
        Class not found with cglib loaded in a parent (non-webapp) classloader. 
(CglibProxiedPropertyChangeObserverImpl)
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1309'>TAPESTRY-1309</a>] - 
        clearValidationDecorations in validation.js has huge performance issues 
with many form elements
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1312'>TAPESTRY-1312</a>] - 
        When an EventListener updates a datepicker, the new date is not 
rendered to the user
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1313'>TAPESTRY-1313</a>] - 
        css classes fieldMissing/fieldInvalid not written in default 
ValidationDelegate
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1347'>TAPESTRY-1347</a>] - 
        Shell refresh tag incorrectly encoded with cookies disabled
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1366'>TAPESTRY-1366</a>] - 
        calling IRequestCycle.redirect() and then setting page properties 
causes property changes to be lost
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1374'>TAPESTRY-1374</a>] - 
        GenericsMethodSignatureImpl throw exception!
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1376'>TAPESTRY-1376</a>] - 
        can't find page if template has parse error
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1380'>TAPESTRY-1380</a>] - 
        Page name validation regex is incorrect.
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1383'>TAPESTRY-1383</a>] - 
        number translator
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1390'>TAPESTRY-1390</a>] - 
        DatePicker component doesn't work in IE
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1391'>TAPESTRY-1391</a>] - 
        @EventListener method in component doesn't rewind the containing page's 
client-persistent properties
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1396'>TAPESTRY-1396</a>] - 
        Specless components in libraries don't get their assets properly 
resolved
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1398'>TAPESTRY-1398</a>] - 
        @EventListener in any component doesn't get called
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1399'>TAPESTRY-1399</a>] - 
        NumberTranslator omitZero attribute doesn't default to true like docs 
say
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1402'>TAPESTRY-1402</a>] - 
        OGNL Workaround doesn't work
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1407'>TAPESTRY-1407</a>] - 
        XHR Exception page renders exception page &amp;&amp; partial content
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1410'>TAPESTRY-1410</a>] - 
        fail to test GenericsMethodSignatureImpl class.
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1413'>TAPESTRY-1413</a>] - 
        absolute classpath asset paths not found when no &quot;classpath&quot; 
specifier used
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1415'>TAPESTRY-1415</a>] - 
        A page with a form and a getOrg() method will crash on retrieval
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1418'>TAPESTRY-1418</a>] - 
        ComponentEventInvoker sometimes throws a NPE
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1419'>TAPESTRY-1419</a>] - 
        Bracket notation with addition in OGNL expression causes failure to 
find appropriate listener
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1420'>TAPESTRY-1420</a>] - 
        ognl string concatenation + static syntax does not render properly
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1426'>TAPESTRY-1426</a>] - 
        Style component bug
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1428'>TAPESTRY-1428</a>] - 
        Validators contribution fails regexp match
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1432'>TAPESTRY-1432</a>] - 
        Regression in the AssetFactory().createAsset()
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1437'>TAPESTRY-1437</a>] - 
        Unnecessary logging of MalformedURLException while searching for 
component templates
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1452'>TAPESTRY-1452</a>] - 
        RedirectException does not work on Safari
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1459'>TAPESTRY-1459</a>] - 
        Can't use dojo Editor
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1462'>TAPESTRY-1462</a>] - 
        LinkFactoryImpl caches context path and servlet path
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1468'>TAPESTRY-1468</a>] - 
        dojo.i18n.number needs explicit groupSize parameter of 0 for patterns 
with no grouping separator
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1477'>TAPESTRY-1477</a>] - 
        IF component's condition expression get evaluated 3 or more times when 
it should only be evaluated once.
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1496'>TAPESTRY-1496</a>] - 
        getTableRow() returns incorrect Class
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1512'>TAPESTRY-1512</a>] - 
        someone added local parameter to Autocompleter but didn't document it
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1517'>TAPESTRY-1517</a>] - 
        form submitAsync doesn't set a JSON load handler
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1520'>TAPESTRY-1520</a>] - 
        Tapestry 4.1 is no longer jdk 1.4 compatible - compiled by java 5
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1527'>TAPESTRY-1527</a>] - 
        @Dialog component triggers a lot a javascript errors on scroll after 
show/hide by EventListener
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1534'>TAPESTRY-1534</a>] - 
        Fix of Bug TAPESTRY-988 results in java.lang.IllegalArgumentException 
at hivemind.util.PropertyAdaptor.write trying to set the 
&quot;org.apache.tapestry.default-cookie-max-age&quot;
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1535'>TAPESTRY-1535</a>] - 
        Suggest component doesn't work in a loop
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1536'>TAPESTRY-1536</a>] - 
        LinkSubmit creates duplicate onclick event listener when combined with 
submitBindings() superclass method
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1548'>TAPESTRY-1548</a>] - 
        tapestry.form.focusField on non displayed field
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1549'>TAPESTRY-1549</a>] - 
        event connection evaluations via XHR
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1552'>TAPESTRY-1552</a>] - 
        @Any divs with no body content render &lt;div /&gt; shorthand form
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1553'>TAPESTRY-1553</a>] - 
        ETag header incorrect format
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1563'>TAPESTRY-1563</a>] - 
        LinkSubmit async broken with new href javascript event change
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1569'>TAPESTRY-1569</a>] - 
        If component doesn't render client id
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1574'>TAPESTRY-1574</a>] - 
        cyclic page rendering of exception pages not detected in 
DojoAjaxResponseBuilder
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1577'>TAPESTRY-1577</a>] - 
        optionRenderer not documented in PropertySelection
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1578'>TAPESTRY-1578</a>] - 
        ParseException in AssetService
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1582'>TAPESTRY-1582</a>] - 
        whole shadow foreground color not supported
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1587'>TAPESTRY-1587</a>] - 
        Script assets without a DTD result in a Server Error 500
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1591'>TAPESTRY-1591</a>] - 
        Encoding for Ajax Request is always UTF-8
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1592'>TAPESTRY-1592</a>] - 
        TemplateParser converts &lt;div ...&gt;&lt;/div&gt; structures into 
&lt;div ... /&gt; structures
+                    </li>
+                </ul>
+
+                <h2>        Improvement
+                </h2>
+                <ul>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-410'>TAPESTRY-410</a>] -   
      IdentityValidator
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-550'>TAPESTRY-550</a>] -   
      IMarkupWriter should automatically filter out duplicate attributes when 
rendering an element
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-573'>TAPESTRY-573</a>] -   
      would like InjectStateWorker to add an &quot;exists&quot; method
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-697'>TAPESTRY-697</a>] -   
      Add getters for validators properties.
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-717'>TAPESTRY-717</a>] -   
      Easier accessing the hivemind registry
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-738'>TAPESTRY-738</a>] -   
      Create ability to use SqueezeAdaptors for @Persist(&quot;client:app&quot;)
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-792'>TAPESTRY-792</a>] -   
      Defining page property in definition file versus using implemented methods
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-856'>TAPESTRY-856</a>] -   
      lazy initialization of abstract properties
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-867'>TAPESTRY-867</a>] -   
      Do not display errors or errored field decoration on form refresh
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-933'>TAPESTRY-933</a>] -   
      Add getRowCount() to ITableModel interface
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-962'>TAPESTRY-962</a>] -   
      enhance ExpressionEvaluator
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-989'>TAPESTRY-989</a>] -   
      Improve @PropertySelection
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-996'>TAPESTRY-996</a>] -   
      Better locale detection for fully localized applications
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1035'>TAPESTRY-1035</a>] - 
        Allow common stylesheets/favicon/geoinfo/doctype settings across 
pages/requests
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1068'>TAPESTRY-1068</a>] - 
        allow throwing of RenderRewoundException from (submit) listeners
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1088'>TAPESTRY-1088</a>] - 
        Exception page should have a &quot;reset&quot; ServiceLink
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1182'>TAPESTRY-1182</a>] - 
        make ComponentAnnotationWorker extensible
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1183'>TAPESTRY-1183</a>] - 
        @InjectParameterFlag annotation
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1184'>TAPESTRY-1184</a>] - 
        @InjectPageLink and @InjectExternalLink annotations
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1196'>TAPESTRY-1196</a>] - 
        When &lt;let unique=&quot;true&quot; ..&gt; is used, make sure the 
output string is a valid js identifier
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1201'>TAPESTRY-1201</a>] - 
        tapestry-contrib depends on jboss-j2ee
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1245'>TAPESTRY-1245</a>] - 
        Alter LinkSubmit to output javascript in onclick (instead of in href)
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1260'>TAPESTRY-1260</a>] - 
        add logging interceptor to ResponseBuilder services as well as logging 
of ajax xml response output / etc
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1266'>TAPESTRY-1266</a>] - 
        Style should not render anything if href is null and no body present
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1305'>TAPESTRY-1305</a>] - 
        ServiceEncoding needs ability to set the PathInfo variable
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1350'>TAPESTRY-1350</a>] - 
        add Shell component parameter to disable Tapestry meta runtime info
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1378'>TAPESTRY-1378</a>] - 
        Make Dropdown date/time pickers capable of taking a generic object - so 
that things like Joda time can be used as well
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1449'>TAPESTRY-1449</a>] - 
        Leave off port 443 when generating https URLs
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1453'>TAPESTRY-1453</a>] - 
        upgrade dojo to 0.4.2 version
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1474'>TAPESTRY-1474</a>] - 
        autowiring of generic service properties
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1489'>TAPESTRY-1489</a>] - 
        ValidationStrings for de and ru
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1513'>TAPESTRY-1513</a>] - 
        convert StringToListConverter strings going to a binding property of 
updateComponents to their component clientId equivalents
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1550'>TAPESTRY-1550</a>] - 
        don't log exceptions when browser IO connections close serving asset 
resources
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1554'>TAPESTRY-1554</a>] - 
        remove description from AbstractBinding
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1561'>TAPESTRY-1561</a>] - 
        improve the user experience of javascript-based links
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1589'>TAPESTRY-1589</a>] - 
        have debugEnabled=false by default for @Shell component
+                    </li>
+                </ul>
+
+                <h2>        New Feature
+                </h2>
+                <ul>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-330'>TAPESTRY-330</a>] -   
      Add uninitialization tag to Script specification and component
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-817'>TAPESTRY-817</a>] -   
      Translator for BigDecimal values
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1414'>TAPESTRY-1414</a>] - 
        I am new about tapestry pls send me user friendly document
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1531'>TAPESTRY-1531</a>] - 
        Integrate prototype and provide alternative @Suggest component for 
Autocompleter that uses the more robust scriptaculous version
+                    </li>
+                </ul>
+
+                <h2>        Task
+                </h2>
+                <ul>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-659'>TAPESTRY-659</a>] -   
      Document available services
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1285'>TAPESTRY-1285</a>] - 
        Upload http://tapestry.apache.org/dtd/Script_4_0.dtd
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1392'>TAPESTRY-1392</a>] - 
        Update validation strings for locale pt
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1519'>TAPESTRY-1519</a>] - 
        upgrade dojo to 0.4.3 release
+                    </li>
+                </ul>
+
+                <h2>        Wish
+                </h2>
+                <ul>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-396'>TAPESTRY-396</a>] -   
      RequestLocaleManagerImpl: Change private members to protected, to enable 
overriding implementation
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-765'>TAPESTRY-765</a>] -   
      Create testing guide
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-838'>TAPESTRY-838</a>] -   
      ListenerInvokerFilter provides no way to find out what listener method is 
being invoked
+                    </li>
+                    <li>[<a 
href='https://issues.apache.org/jira/browse/TAPESTRY-1454'>TAPESTRY-1454</a>] - 
        isDisabledDate() in DatePicker in Dojo4.1
+                    </li>
+                </ul>
+
+            </subsection>
+
             <subsection name="Release Notes - Tapestry - Version 4.1.1">
                 <h2>        Sub-task
                 </h2>

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/util/PageRenderSupportImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/util/PageRenderSupportImpl.java?view=diff&rev=550229&r1=550228&r2=550229
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/util/PageRenderSupportImpl.java
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/util/PageRenderSupportImpl.java
 Sun Jun 24 06:48:45 2007
@@ -14,31 +14,24 @@
 
 package org.apache.tapestry.util;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hivemind.Locatable;
 import org.apache.hivemind.Location;
 import org.apache.hivemind.Resource;
 import org.apache.hivemind.util.Defense;
-import org.apache.tapestry.IAsset;
-import org.apache.tapestry.IComponent;
-import org.apache.tapestry.IMarkupWriter;
-import org.apache.tapestry.IRequestCycle;
-import org.apache.tapestry.PageRenderSupport;
-import org.apache.tapestry.Tapestry;
+import org.apache.tapestry.*;
 import org.apache.tapestry.asset.AssetFactory;
 import org.apache.tapestry.services.ResponseBuilder;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Implementation of [EMAIL PROTECTED] org.apache.tapestry.PageRenderSupport}. 
The
  * [EMAIL PROTECTED] org.apache.tapestry.html.Body}&nbsp;component uses an 
instance of this class.
- * 
+ *
  * @author Howard M. Lewis Ship
  * @since 4.0
  */
@@ -49,7 +42,7 @@
     private final Location _location;
 
     private final ResponseBuilder _builder;
-    
+
     // Lines that belong inside the onLoad event handler for the <body> tag.
     private StringBuffer _initializationScript;
 
@@ -69,7 +62,7 @@
 
     /**
      * List of included scripts. Values are Strings.
-     * 
+     *
      * @since 1.0.5
      */
 
@@ -78,22 +71,22 @@
     private final IdAllocator _idAllocator;
 
     private final String _preloadName;
-    
+
     private final Map _requires = new HashMap();
-    
-    public PageRenderSupportImpl(AssetFactory assetFactory, String namespace, 
-            Location location, ResponseBuilder builder)
+
+    public PageRenderSupportImpl(AssetFactory assetFactory, String namespace,
+                                 Location location, ResponseBuilder builder)
     {
         Defense.notNull(assetFactory, "assetService");
-        
+
         _assetFactory = assetFactory;
         _location = location;
         _idAllocator = new IdAllocator(namespace);
         _builder = builder;
-        
+
         _preloadName = (namespace.equals("") ? "tapestry." : namespace) + 
"preload";
     }
-    
+
     /**
      * Returns the location, which may be used in error messages. In practical 
terms, this is the
      * location of the [EMAIL PROTECTED] 
org.apache.tapestry.html.Body}&nbsp;component.
@@ -103,26 +96,26 @@
     {
         return _location;
     }
-    
+
     public String getPreloadedImageReference(String URL)
     {
         return getPreloadedImageReference(null, URL);
     }
-    
+
     public String getPreloadedImageReference(IComponent target, IAsset source)
     {
         return getPreloadedImageReference(target, source.buildURL());
     }
-    
+
     public String getPreloadedImageReference(IComponent target, String URL)
     {
-        if (target != null 
-                && !_builder.isImageInitializationAllowed(target))
+        if (target != null
+            && !_builder.isImageInitializationAllowed(target))
             return URL;
-        
+
         if (_imageMap == null)
             _imageMap = new HashMap();
-        
+
         String reference = (String) _imageMap.get(URL);
 
         if (reference == null)
@@ -133,7 +126,7 @@
 
             if (_imageInitializations == null)
                 _imageInitializations = new StringBuffer();
-            
+
             _imageInitializations.append("  ");
             _imageInitializations.append(varName);
             _imageInitializations.append(" = new Image();\n");
@@ -142,31 +135,31 @@
             _imageInitializations.append(" = \"");
             _imageInitializations.append(URL);
             _imageInitializations.append("\";\n");
-            
+
             _imageMap.put(URL, reference);
         }
 
         return reference;
     }
-    
+
     public void addBodyScript(String script)
     {
         addBodyScript(null, script);
     }
-    
+
     public void addBodyScript(IComponent target, String script)
     {
-        if (!_builder.isBodyScriptAllowed(target)) 
+        if (!_builder.isBodyScriptAllowed(target))
             return;
-        
+
         String val = stripDuplicateIncludes(script);
-        
+
         if (_bodyScript == null)
             _bodyScript = new StringBuffer(val.length());
-        
+
         _bodyScript.append("\n").append(val);
     }
-    
+
     /**
      * [EMAIL PROTECTED]
      */
@@ -198,62 +191,62 @@
 
     public void addInitializationScript(IComponent target, String script)
     {
-        if (!_builder.isInitializationScriptAllowed(target)) 
+        if (!_builder.isInitializationScriptAllowed(target))
             return;
-        
+
         String val = stripDuplicateIncludes(script);
-        
+
         if (_initializationScript == null)
             _initializationScript = new StringBuffer(val.length() + 1);
-        
+
         _initializationScript.append("\n").append(val);
     }
-    
+
     /**
      * Provides a mechanism to strip out duplicate dojo.require calls made in 
script
      * templates in order to reduce amount of redundant javascript written to 
client.
-     * 
+     *
      * @param input The incoming script string to check for requires.
      * @return The input string stripped of all known dojo.require calls, if 
any.
      */
     String stripDuplicateIncludes(String input)
     {
         String[] lines = StringUtils.splitPreserveAllTokens(input, ';');
-        
+
         if (lines == null || lines.length < 1)
             return input;
-        
+
         String ret = input;
-        
+
         for (int i=0; i < lines.length; i++) {
             if (lines[i].indexOf("dojo.require") < 0)
                 continue;
-            
+
             String line = StringUtils.stripToEmpty(lines[i]);
-            
+
             if (_requires.containsKey(line)) {
                 ret = StringUtils.replaceOnce(ret, line+";", "");
             } else {
                 _requires.put(line, "t");
             }
         }
-        
+
         return StringUtils.stripToEmpty(ret.trim());
     }
-    
+
     public void addExternalScript(Resource scriptLocation)
     {
         addExternalScript(null, scriptLocation);
     }
-    
+
     public void addExternalScript(IComponent target, Resource scriptLocation)
     {
-        if (!_builder.isExternalScriptAllowed(target)) 
+        if (!_builder.isExternalScriptAllowed(target))
             return;
-        
+
         if (_externalScripts == null)
             _externalScripts = new ArrayList();
-        
+
         if (_externalScripts.contains(scriptLocation))
             return;
 
@@ -266,25 +259,25 @@
     {
         return _idAllocator.allocateId(baseValue);
     }
-    
+
     private void writeExternalScripts(IMarkupWriter writer, IRequestCycle 
cycle)
     {
         int count = Tapestry.size(_externalScripts);
         for (int i = 0; i < count; i++)
         {
             Resource scriptLocation = (Resource) _externalScripts.get(i);
-            
+
             IAsset asset = _assetFactory.createAsset(scriptLocation, null);
-            
+
             String url = asset.buildURL();
-            
+
             // Note: important to use begin(), not beginEmpty(), because 
browser don't
             // interpret <script .../> properly.
-            
+
             _builder.writeExternalScript(writer, url, cycle);
         }
     }
-    
+
     /**
      * Writes a single large JavaScript block containing:
      * <ul>
@@ -292,7 +285,7 @@
      * <li>Any included scripts (via [EMAIL PROTECTED] 
#addExternalScript(Resource)}).
      * <li>Any contributions (via [EMAIL PROTECTED] #addBodyScript(String)}).
      * </ul>
-     * 
+     *
      * @see #writeInitializationScript(IMarkupWriter)
      */
 
@@ -300,28 +293,28 @@
     {
         if (!Tapestry.isEmpty(_externalScripts))
             writeExternalScripts(writer, cycle);
-        
+
         if (!(any(_bodyScript) || any(_imageInitializations)))
             return;
-        
+
         _builder.beginBodyScript(writer, cycle);
-        
+
         if (any(_imageInitializations))
         {
             _builder.writeImageInitializations(writer, 
StringUtils.stripToEmpty(_imageInitializations.toString())
-                    , _preloadName, cycle);
+              , _preloadName, cycle);
         }
-        
+
         if (any(_bodyScript))
         {
             _builder.writeBodyScript(writer, 
StringUtils.stripToEmpty(_bodyScript.toString())
-                    , 
-                    cycle);
+              ,
+                                     cycle);
         }
-        
+
         _builder.endBodyScript(writer, cycle);
     }
-    
+
     /**
      * Writes any image initializations; this should be invoked at the end of 
the render, after all
      * the related HTML will have already been streamed to the client and 
parsed by the web browser.
@@ -332,9 +325,8 @@
     {
         if (!any(_initializationScript))
             return;
-        
-        _builder.writeInitializationScript(writer, 
StringUtils.stripToEmpty(_initializationScript.toString())
-                );
+
+        _builder.writeInitializationScript(writer, 
StringUtils.stripToEmpty(_initializationScript.toString()));
     }
 
     private boolean any(StringBuffer buffer)


Reply via email to