You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2007/01/14 05:41:34 UTC

svn commit: r496031 - in /tapestry/tapestry4/branches/ognl-integration: tapestry-examples/TimeTracker/ tapestry-framework/src/java/org/apache/tapestry/binding/ tapestry-framework/src/java/org/apache/tapestry/services/impl/

Author: jkuhnert
Date: Sat Jan 13 20:41:33 2007
New Revision: 496031

URL: http://svn.apache.org/viewvc?view=rev&rev=496031
Log:
Added ability to do "incremental" compilations on expressions that are intially evaluated with null root objects and 
then later evaluated with valid root objects.

Modified:
    tapestry/tapestry4/branches/ognl-integration/tapestry-examples/TimeTracker/pom.xml
    tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/binding/ExpressionBinding.java
    tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/services/impl/ExpressionCacheImpl.java
    tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/services/impl/HiveMindExpressionCompiler.java

Modified: tapestry/tapestry4/branches/ognl-integration/tapestry-examples/TimeTracker/pom.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/branches/ognl-integration/tapestry-examples/TimeTracker/pom.xml?view=diff&rev=496031&r1=496030&r2=496031
==============================================================================
--- tapestry/tapestry4/branches/ognl-integration/tapestry-examples/TimeTracker/pom.xml (original)
+++ tapestry/tapestry4/branches/ognl-integration/tapestry-examples/TimeTracker/pom.xml Sat Jan 13 20:41:33 2007
@@ -111,7 +111,7 @@
                     <systemProperties>
                         <systemProperty>
                             <name>org.apache.tapestry.disable-caching</name>
-                            <value>false</value>
+                            <value>true</value>
                         </systemProperty>
                     </systemProperties>
                 </configuration>

Modified: tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/binding/ExpressionBinding.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/binding/ExpressionBinding.java?view=diff&rev=496031&r1=496030&r2=496031
==============================================================================
--- tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/binding/ExpressionBinding.java (original)
+++ tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/binding/ExpressionBinding.java Sat Jan 13 20:41:33 2007
@@ -123,7 +123,10 @@
                 _accessor = _parsedExpression.getAccessor();
             }
             
-            return _evaluator.read(_root, _accessor);
+            if (_accessor != null)
+                return _evaluator.read(_root, _accessor);
+            
+            return _evaluator.readCompiled(_root, _parsedExpression);
         }
         catch (Throwable t)
         {

Modified: tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/services/impl/ExpressionCacheImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/services/impl/ExpressionCacheImpl.java?view=diff&rev=496031&r1=496030&r2=496031
==============================================================================
--- tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/services/impl/ExpressionCacheImpl.java (original)
+++ tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/services/impl/ExpressionCacheImpl.java Sat Jan 13 20:41:33 2007
@@ -86,10 +86,10 @@
             
             Node result = (Node)cached.get(expression);
             
-            if (result == null)
+            if (result == null || result.getAccessor() == null)
             {
-                
                 result = parse(target, expression);
+                
                 cached.put(expression, result);
             }
             

Modified: tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/services/impl/HiveMindExpressionCompiler.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/services/impl/HiveMindExpressionCompiler.java?view=diff&rev=496031&r1=496030&r2=496031
==============================================================================
--- tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/services/impl/HiveMindExpressionCompiler.java (original)
+++ tapestry/tapestry4/branches/ognl-integration/tapestry-framework/src/java/org/apache/tapestry/services/impl/HiveMindExpressionCompiler.java Sat Jan 13 20:41:33 2007
@@ -192,15 +192,17 @@
             
         } catch (UnsupportedCompilationException uc) {
             
-            //System.out.println("Unsupported getter compilation caught: " + uc.getMessage());
+            //System.out.println("Unsupported getter compilation caught: " + uc.getMessage() + " for expression: " + expression.toString());
             
+            return;
+            /*
             getBody = generateOgnlGetter(classFab, valueGetter);
             
             if (!classFab.containsMethod(expressionSetter)) {
                 
                 classFab.addField("_node", Node.class);
                 classFab.addMethod(Modifier.PUBLIC, expressionSetter, "{ _node = $1; }");
-            }
+            }*/
         }
         
         classFab.addMethod(Modifier.PUBLIC, valueGetter, getBody);
@@ -211,7 +213,7 @@
             
         } catch (UnsupportedCompilationException uc) {
             
-            //System.out.println("Unsupported setter compilation caught: " + uc.getMessage());
+            //System.out.println("Unsupported setter compilation caught: " + uc.getMessage() + " for expression: " + expression.toString());
             
             setBody = generateOgnlSetter(classFab, valueSetter);