Author: jkuhnert
Date: Wed Apr 18 15:00:55 2007
New Revision: 530178

URL: http://svn.apache.org/viewvc?view=rev&rev=530178
Log:
Updated expression compiler to handle new ognl fixes. 

Optimized (slightly) tapestry core.js .

Modified:
    tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/Home.html
    
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/LocaleList.html
    
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/LocaleList.java
    
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java
    
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/Framework.library
    
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/link/DefaultLinkRenderer.java
    
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/link/DirectLink.java
    
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/HiveMindExpressionCompiler.java
    tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/core.js
    tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js
    
tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form/validation.js
    tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/test.js

Modified: 
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/Home.html
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/Home.html?view=diff&rev=530178&r1=530177&r2=530178
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/Home.html 
(original)
+++ 
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/Home.html 
Wed Apr 18 15:00:55 2007
@@ -60,11 +60,9 @@
 <div jwcid="[EMAIL PROTECTED]" hidden="ognl:dlHidden" >
        <p style="display:block;background:#ffffff;width:20em;">
        This is content hidden in a Dialog.
-       <!-- 
-       <a href="#" onClick="dojo.widget.byId('testDialog').hide();return 
false">Close</a>
-        -->
-        <a jwcid="@DirectLink" listener="listener:hideDialog" >Close</a>
-       </p>
+
+           <a href="#" onClick="dojo.widget.byId('testDialog').hide();return 
false">Close</a>
+    </p>
        
        <div style="display:block;background:#ffffff;width:20em;">
        <a jwcid="@DirectLink" listener="listener:showSubProject" 
updateComponents="subArea" >Show sub project</a>

Modified: 
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/LocaleList.html
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/LocaleList.html?view=diff&rev=530178&r1=530177&r2=530178
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/LocaleList.html
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/LocaleList.html
 Wed Apr 18 15:00:55 2007
@@ -72,7 +72,7 @@
 
 <div class="ognl:(selected != null and currLocale.toString() == 
selected.toString()) ? 'selected localeList' : 'localeList'" 
                jwcid="[EMAIL PROTECTED]" 
-               source="ognl:locales" value="ognl:currLocale">
+               source="ognl:@[EMAIL PROTECTED]" value="ognl:currLocale">
        
        <a jwcid="[EMAIL PROTECTED]" listener="listener:selectLocale" 
parameters="ognl:{currLocale.language, currLocale.country, currLocale.variant}"
                
updateComponents="ognl:{'localeDetail',page.components.localeList.clientId}">

Modified: 
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/LocaleList.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/LocaleList.java?view=diff&rev=530178&r1=530177&r2=530178
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/LocaleList.java
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/LocaleList.java
 Wed Apr 18 15:00:55 2007
@@ -23,10 +23,11 @@
 /**
  * Simple locale listing example.
  *
- * @author jkuhnert
  */
 public abstract class LocaleList extends BasePage
 {
+
+    public static Locale[] LOCALES = Locale.getAvailableLocales();
     
     public abstract Locale getCurrLocale();
     
@@ -35,11 +36,6 @@
     public abstract void setStatus(String status);
     
     public abstract ResponseBuilder getBuilder();
-    
-    public Locale[] getLocales()
-    {
-        return Locale.getAvailableLocales();
-    }
     
     public void selectLocale(BrowserEvent event, String language, String 
country, String variant)
     {

Modified: 
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java?view=diff&rev=530178&r1=530177&r2=530178
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java
 Wed Apr 18 15:00:55 2007
@@ -114,12 +114,6 @@
         dlg.show();
     }
     
-    public void hideDialog()
-    {
-        Dialog dlg = (Dialog)getComponent("testDialog");
-        dlg.hide();
-    }
-    
     /**
      * Invoked by form to add a new task.
      */

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/Framework.library
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/Framework.library?view=diff&rev=530178&r1=530177&r2=530178
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/Framework.library
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/Framework.library
 Wed Apr 18 15:00:55 2007
@@ -16,8 +16,8 @@
 -->
 
 <!DOCTYPE library-specification PUBLIC 
-  "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
-  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd";>
+  "-//Apache Software Foundation//Tapestry Specification 4.0//EN" 
+  "http://tapestry.apache.org/dtd/Tapestry_4_0.dtd";>
        
 <!--
  
@@ -67,7 +67,7 @@
     <component-type type="PropertySelection" 
specification-path="form/PropertySelection.jwc"/>
     <component-type type="Radio" specification-path="form/Radio.jwc"/>
     <component-type type="RadioGroup" 
specification-path="form/RadioGroup.jwc"/>
-    <component-type type="Relation" specification-path="html/Relation.jwc"/>   
 
+    <component-type type="Relation" specification-path="html/Relation.jwc"/>
     <component-type type="RenderBlock" 
specification-path="components/RenderBlock.jwc"/>
     <component-type type="RenderBody" 
specification-path="components/RenderBody.jwc"/>
     <component-type type="RequestDisplay" 
specification-path="html/RequestDisplay.jwc"/>
@@ -77,12 +77,12 @@
     <component-type type="Script" specification-path="html/Script.jwc"/>
     <component-type type="ScriptIncludes" 
specification-path="dojo/html/ScriptIncludes.jwc"/>
     <component-type type="Shell" specification-path="html/Shell.jwc"/>
-       <component-type type="Style" specification-path="html/Style.jwc"/>    
+       <component-type type="Style" specification-path="html/Style.jwc"/>
     <component-type type="Submit" specification-path="form/Submit.jwc"/>
     <component-type type="TextArea" specification-path="form/TextArea.jwc"/>
     <component-type type="TextField" specification-path="form/TextField.jwc"/>
     <component-type type="Upload" specification-path="form/Upload.jwc"/>
-    <component-type type="ValidField" 
specification-path="valid/ValidField.jwc"/>                
+    <component-type type="ValidField" 
specification-path="valid/ValidField.jwc"/>
 
     <page name="StaleLink" specification-path="pages/StaleLink.page"/>
     <page name="StaleSession" specification-path="pages/StaleSession.page"/>

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/link/DefaultLinkRenderer.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/link/DefaultLinkRenderer.java?view=diff&rev=530178&r1=530177&r2=530178
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/link/DefaultLinkRenderer.java
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/link/DefaultLinkRenderer.java
 Wed Apr 18 15:00:55 2007
@@ -14,26 +14,21 @@
 
 package org.apache.tapestry.link;
 
-import java.util.HashMap;
-import java.util.Map;
-
 import org.apache.hivemind.ApplicationRuntimeException;
 import org.apache.hivemind.HiveMind;
-import org.apache.tapestry.IMarkupWriter;
-import org.apache.tapestry.IRequestCycle;
-import org.apache.tapestry.PageRenderSupport;
-import org.apache.tapestry.Tapestry;
-import org.apache.tapestry.TapestryUtils;
+import org.apache.tapestry.*;
 import org.apache.tapestry.components.ILinkComponent;
 import org.apache.tapestry.engine.ILink;
 import org.apache.tapestry.util.ScriptUtils;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * Default implementation of [EMAIL PROTECTED] 
org.apache.tapestry.link.ILinkRenderer},
  * which does nothing special. Can be used as a base class to provide 
additional
  * handling.
  * 
- * @author Howard Lewis Ship, David Solis
  * @since 3.0
  */
 
@@ -52,8 +47,7 @@
         IMarkupWriter wrappedWriter = null;
         
         if (cycle.getAttribute(Tapestry.LINK_COMPONENT_ATTRIBUTE_NAME) != null)
-            throw new ApplicationRuntimeException(LinkMessages.noNesting(),
-                    linkComponent, null, null);
+            throw new ApplicationRuntimeException(LinkMessages.noNesting(), 
linkComponent, null, null);
         
         cycle.setAttribute(Tapestry.LINK_COMPONENT_ATTRIBUTE_NAME, 
linkComponent);
         
@@ -139,10 +133,17 @@
      * the link is rendered (but only if the link is not disabled).
      * <p>
      * This implementation does nothing.
+     * </p>
+     *
+     * @param writer
+     *          Markup writer.
+     * @param cycle
+     *          Current request cycle.
+     * @param link
+     *          The link component being rendered.
      */
 
-    protected void beforeBodyRender(IMarkupWriter writer, IRequestCycle cycle,
-            ILinkComponent link)
+    protected void beforeBodyRender(IMarkupWriter writer, IRequestCycle cycle, 
ILinkComponent link)
     {
     }
 
@@ -150,12 +151,19 @@
      * Invoked after the body of the link is rendered, but before
      * [EMAIL PROTECTED] 
ILinkComponent#renderAdditionalAttributes(IMarkupWriter, IRequestCycle)}is
      * invoked (but only if the link is not disabled).
+     * 
      * <p>
      * This implementation does nothing.
+     * </p>
+     * @param writer
+     *          Markup writer.
+     * @param cycle
+     *          Current request cycle.
+     * @param link
+     *          The link component being rendered.
      */
 
-    protected void afterBodyRender(IMarkupWriter writer, IRequestCycle cycle,
-            ILinkComponent link)
+    protected void afterBodyRender(IMarkupWriter writer, IRequestCycle cycle, 
ILinkComponent link)
     {
     }
 
@@ -184,8 +192,7 @@
         
         if (!link.isParameterBound("onclick") && 
!link.isParameterBound("onClick")) {
             writer.attribute("onclick", 
-                    "return tapestry.linkOnClick(this.href,'" + 
link.getClientId() + "', " 
-                    + link.isJson() + ")");
+                    "return tapestry.linkOnClick(this.href,'" + 
link.getClientId() + "', " + link.isJson() + ")");
             return;
         }
         

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/link/DirectLink.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/link/DirectLink.java?view=diff&rev=530178&r1=530177&r2=530178
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/link/DirectLink.java
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/link/DirectLink.java
 Wed Apr 18 15:00:55 2007
@@ -14,24 +14,19 @@
 
 package org.apache.tapestry.link;
 
-import java.util.List;
-
-import org.apache.tapestry.IActionListener;
-import org.apache.tapestry.IDirect;
-import org.apache.tapestry.IRequestCycle;
-import org.apache.tapestry.IScript;
-import org.apache.tapestry.Tapestry;
+import org.apache.tapestry.*;
 import org.apache.tapestry.engine.DirectServiceParameter;
 import org.apache.tapestry.engine.IEngineService;
 import org.apache.tapestry.engine.ILink;
 import org.apache.tapestry.listener.ListenerInvoker;
 
+import java.util.List;
+
 /**
  * A component for creating a link using the direct service; used for actions 
that are not dependant
  * on dynamic page state. [ <a 
href="../../../../../ComponentReference/DirectLink.html">Component
  * Reference </a>]
  * 
- * @author Howard Lewis Ship
  */
 
 public abstract class DirectLink extends AbstractLinkComponent implements 
IDirect
@@ -61,10 +56,10 @@
      * @param parameterValue
      *            the input value which may be
      *            <ul>
-     *            <li>null (returns null)
-     *            <li>An array of Object (returns the array)
-     *            <li>A [EMAIL PROTECTED] List}(returns an array of the values 
in the List})
-     *            <li>A single object (returns the object as a single-element 
array)
+     *              <li>null (returns null)
+     *              <li>An array of Object (returns the array)
+     *              <li>A [EMAIL PROTECTED] List}(returns an array of the 
values in the List})
+     *              <li>A single object (returns the object as a 
single-element array)
      *            </ul>
      * @return An array representation of the input object.
      * @since 2.2

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/HiveMindExpressionCompiler.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/HiveMindExpressionCompiler.java?view=diff&rev=530178&r1=530177&r2=530178
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/HiveMindExpressionCompiler.java
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/HiveMindExpressionCompiler.java
 Wed Apr 18 15:00:55 2007
@@ -282,22 +282,9 @@
         if (getterCode == null || getterCode.trim().length() <= 0 && 
!ASTVarRef.class.isAssignableFrom(expression.getClass()))
             getterCode = "null";
 
-        Class returnType = null;
-
-        if (NodeType.class.isInstance(expression)) {
-            NodeType nType = (NodeType) expression;
-            returnType = nType.getGetterClass();
-
-            if (returnType != null && 
!String.class.isAssignableFrom(returnType)) {
-
-                pre = pre + " ($w) (";
-                post = post + ")";
-            }
-        }
-
         String castExpression = (String) context.get(PRE_CAST);
 
-        if (returnType == null) {
+        if (context.getCurrentType() == null || 
context.getCurrentType().isPrimitive() || 
Character.class.isAssignableFrom(context.getCurrentType())) {
             pre = pre + " ($w) (";
             post = post + ")";
         }
@@ -361,8 +348,6 @@
             body += "}";
 
             body = body.replaceAll("\\.\\.", ".");
-
-            // System.out.println("adding method " + ref.getName() + " with 
body:\n" + body + " and return type: " + ref.getType());
             
             MethodSignature method = new MethodSignature(ref.getType(), 
ref.getName(), params, null);
             classFab.addMethod(Modifier.PUBLIC, method, body);

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/core.js
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/core.js?view=diff&rev=530178&r1=530177&r2=530178
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/core.js 
(original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/core.js Wed Apr 
18 15:00:55 2007
@@ -7,8 +7,6 @@
 dojo.require("dojo.logging.Logger");
 dojo.require("dojo.io.BrowserIO");
 dojo.require("dojo.event.browser");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.widget.Dialog");
 dojo.require("dojo.html.style");
 
 /**
@@ -18,7 +16,7 @@
  * Most of the functions in here are related to initiating and parsing IO 
  * requests. 
  */
-tapestry={
+var tapestry={
        
        // property: version 
        // The current client side library version, usually matching the 
current java library version. (ie 4.1, etc..)
@@ -52,7 +50,7 @@
                };
                
                // setup content type
-               if (typeof json != "undefined" && json == true) {
+               if (typeof json != "undefined" && json) {
                        parms.mimetype = "text/json";
                        parms.headers={"json":true};
                        parms.load=(function(){tapestry.loadJson.apply(this, 
arguments);});
@@ -117,22 +115,22 @@
                var initScripts=[];
                var rawData=[];
                for (var i=0; i<elms.length; i++) {
-                       var type=elms[i].getAttribute("type");
+                       var elmType=elms[i].getAttribute("type");
                        var id=elms[i].getAttribute("id");
                        
-                       if (type == "exception") {
+                       if (elmType == "exception") {
                                dojo.log.err("Remote server exception 
received.");
                                tapestry.presentException(elms[i], kwArgs);
                                return;
                        }
                        
-                       if (type == "page") {
+                       if (elmType == "page") {
                                window.location=elms[i].getAttribute("url");
                                return;
                        }
                        
                        // handle javascript evaluations
-                       if (type == "script") {
+                       if (elmType == "script") {
                                
                                if (id == "initializationscript") {
                                        initScripts.push(elms[i]);
@@ -355,7 +353,10 @@
         *      kwArgs - The kwArgs used to initiate the original IO request.
         */
        presentException:function(node, kwArgs) {
-               var excnode=document.createElement("div");
+        dojo.require("dojo.widget.*");
+        dojo.require("dojo.widget.Dialog");
+        
+        var excnode=document.createElement("div");
                excnode.setAttribute("id", "exceptiondialog");
                document.body.appendChild(excnode);
                

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js?view=diff&rev=530178&r1=530177&r2=530178
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js 
(original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js Wed Apr 
18 15:00:55 2007
@@ -219,7 +219,7 @@
         */
        setFormValidating:function(formId, validate){
                if (this.forms[formId]){
-                       this.forms[formId].validateForm = validate ? true : 
false;
+                       this.forms[formId].validateForm = validate;
                }
        },
        
@@ -268,7 +268,7 @@
         *                                      such as url/async/json/etc. 
         */
        submit:function(form, submitName, parms){
-               var form=dojo.byId(form);
+               form=dojo.byId(form);
                if (!form) {
                        dojo.raise("Form not found with id " + form);
                        return;
@@ -314,7 +314,7 @@
         *                                      Submit/LinkSubmit/etc..
         */
        cancel:function(form, submitName){
-               var form=dojo.byId(form);
+               form=dojo.byId(form);
                if (!form){
                        dojo.raise("Form not found with id " + form);
                        return;
@@ -339,7 +339,7 @@
         *                                      Submit/LinkSubmit/etc..
         */
        refresh:function(form, submitName){
-               var form=dojo.byId(form);
+               form=dojo.byId(form);
                if (!form){
                        dojo.raise("Form not found with id " + form);
                        return;
@@ -368,7 +368,7 @@
         *                                      the submission.
         */
        submitAsync:function(form, content, submitName, parms){
-               var form=dojo.byId(form);
+               form=dojo.byId(form);
                if (!form) {
                        dojo.raise("Form not found with id " + id);
                        return;

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form/validation.js
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form/validation.js?view=diff&rev=530178&r1=530177&r2=530178
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form/validation.js 
(original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form/validation.js 
Wed Apr 18 15:00:55 2007
@@ -248,8 +248,8 @@
        },
 
        isPalleteSelected:function(elem){
-               if (elem.length > 0) { return true; }
-               return false;
+               return elem.length > 0;
+
        },
 
     /**

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/test.js
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/test.js?view=diff&rev=530178&r1=530177&r2=530178
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/test.js 
(original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/test.js Wed Apr 
18 15:00:55 2007
@@ -25,10 +25,9 @@
        this.intercept=function(){
                this.called=true;
                jum.assertEquals("mockArgLength", this.mockArgs.length, 
arguments.length);
-               
+
                for (var i=0; i < this.mockArgs.length; i++) {
                        jum.assertEquals("mockArgument", this.mockArgs[i], 
arguments[i]);
                }
        }
 }
-


Reply via email to