Author: jkuhnert
Date: Tue Nov 28 13:43:06 2006
New Revision: 480220

URL: http://svn.apache.org/viewvc?view=rev&rev=480220
Log:
Fixes TAPESTRY-1169 with Autocomplete model not using the label property in all 
situations. 

Enhancements made to render chain contributors to make them use a threaded 
model . 

Modified:
    
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/LocaleList.java
    
tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.render.xml
    
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/components/ForBean.java
    
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java
    
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/IAutocompleteModel.java

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=480220&r1=480219&r2=480220
==============================================================================
--- 
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
 Tue Nov 28 13:43:06 2006
@@ -15,7 +15,6 @@
 
 import java.util.Locale;
 
-import org.apache.tapestry.annotations.EventListener;
 import org.apache.tapestry.event.BrowserEvent;
 import org.apache.tapestry.html.BasePage;
 import org.apache.tapestry.services.ResponseBuilder;
@@ -42,15 +41,11 @@
         return Locale.getAvailableLocales();
     }
     
-    public void selectLocale(String language, String country, String variant)
+    public void selectLocale(BrowserEvent event, String language, String 
country, String variant)
     {
         setSelected(new Locale(language, country, variant));
-    }
-    
-    @EventListener(targets = {"localeLink"}, events = "onmousedown")
-    public void localeHovered(BrowserEvent event)
-    {
         setStatus(event.toString());
         getBuilder().updateComponent("status");
     }
+    
 }

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.render.xml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.render.xml?view=diff&rev=480220&r1=480219&r2=480220
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.render.xml
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.render.xml
 Tue Nov 28 13:43:06 2006
@@ -42,7 +42,7 @@
     Wires javascript events to components, adds javascript contributions to 
     render.
     
-    <invoke-factory>
+    <invoke-factory model="threaded">
       <construct 
class="org.apache.tapestry.services.impl.ComponentEventConnectionWorker">
         <set-service property="eventInvoker" 
service-id="tapestry.event.EventInvoker"/>
         <set-service property="eventEngine" 
service-id="tapestry.event.DirectEvent"/>
@@ -61,7 +61,7 @@
     Wires the optional parameters updateComponents/async/json shared by all 
IDirect components
     to client side javascript IO events if specified.
     
-    <invoke-factory>
+    <invoke-factory model="threaded">
       <construct class="org.apache.tapestry.link.DirectLinkWorker"
                  initialize-method="initialize" >
         <set property="script" 
value="/org/apache/tapestry/link/DirectLinkWorker.script" />

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/components/ForBean.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/components/ForBean.java?view=diff&rev=480220&r1=480219&r2=480220
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/components/ForBean.java
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/components/ForBean.java
 Tue Nov 28 13:43:06 2006
@@ -46,7 +46,7 @@
 public abstract class ForBean extends AbstractFormComponent
 {
     // constants
-
+    
     /**
      * Prefix on the hidden value stored into the field to indicate the the 
actual value is stored
      * (this is used when there is no primary key converter). The remainder of 
the string is a
@@ -73,6 +73,8 @@
 
     private boolean _rendering;
     
+    private boolean _hasNext = false;
+    
     // parameters
     public abstract boolean getRenderTag();
     
@@ -99,6 +101,11 @@
     
     public abstract ResponseBuilder getResponseBuilder();
     
+    public boolean hasNext()
+    {
+        return _hasNext;
+    }
+    
     /**
      * Gets the source binding and iterates through its values. For each, it 
updates the value
      * binding and render's its wrapped elements.
@@ -141,9 +148,11 @@
         {
             _index = 0;
             _rendering = true;
-
+            
             while (dataSource.hasNext())
             {
+                _hasNext = true;
+                
                 // Get current value
                 _value = dataSource.next();
                 
@@ -175,6 +184,8 @@
                 }
                 
                 _index++;
+                
+                _hasNext = dataSource.hasNext();
                 
                 // TODO: Fragile / messy
                 // Cause unique client id to be generated as well as event 
connection

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java?view=diff&rev=480220&r1=480219&r2=480220
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java
 Tue Nov 28 13:43:06 2006
@@ -131,14 +131,16 @@
         
         Iterator it = filteredValues.keySet().iterator();
         Object key = null;
+        String label = null;
         
         JSONObject json = writer.object();
         
         while (it.hasNext()) {
             
             key = it.next();
+            label = filteredValues.get( key ).toString();
             
-            json.put(getDataSqueezer().squeeze(key), filteredValues.get(key));
+            json.put(getDataSqueezer().squeeze(key), label );
         }
         
     }

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/IAutocompleteModel.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/IAutocompleteModel.java?view=diff&rev=480220&r1=480219&r2=480220
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/IAutocompleteModel.java
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/IAutocompleteModel.java
 Tue Nov 28 13:43:06 2006
@@ -54,7 +54,7 @@
      * @return
      *        A [EMAIL PROTECTED] Map} containing key/value pairs matching the 
given input label string. 
      *        The map should contain a key compatible with [EMAIL PROTECTED] 
IPrimaryKeyConverter#getPrimaryKey(Object)} 
-     *        and value compatible with [EMAIL PROTECTED] 
#getLabelFor(Object)}.
+     *        and value matching [EMAIL PROTECTED] #getLabelFor(Object)}.
      */
     Map filterValues(String match);
     


Reply via email to