Author: jkuhnert
Date: Sun Mar 18 18:21:45 2007
New Revision: 519782

URL: http://svn.apache.org/viewvc?view=rev&rev=519782
Log:
Fixes TAPESTRY-996.

RequestLocaleManager was being extremely picky about incoming locale requests 
matching filtered locales if the filtered list didn't contain exact matches 
when the original filter list has country/language specific listings only.

Modified:
    tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html
    
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestLocaleManagerImpl.java
    
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/TestRequestLocaleManager.java
    tapestry/tapestry4/trunk/tapestry.iws

Modified: 
tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html?view=diff&rev=519782&r1=519781&r2=519782
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html 
(original)
+++ tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html 
Sun Mar 18 18:21:45 2007
@@ -16,7 +16,6 @@
 <form jwcid="[EMAIL PROTECTED]" delegate="bean:delegate" 
                clientValidationEnabled="ognl:clientValidationEnabled" 
                async="true" updateComponents="dateDisplay" >
-               
 <table >
 <tbody>
  <tr>

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestLocaleManagerImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestLocaleManagerImpl.java?view=diff&rev=519782&r1=519781&r2=519782
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestLocaleManagerImpl.java
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestLocaleManagerImpl.java
 Sun Mar 18 18:21:45 2007
@@ -14,13 +14,6 @@
 
 package org.apache.tapestry.services.impl;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
 import org.apache.hivemind.service.ThreadLocale;
 import org.apache.tapestry.TapestryConstants;
 import org.apache.tapestry.TapestryUtils;
@@ -28,6 +21,8 @@
 import org.apache.tapestry.services.RequestLocaleManager;
 import org.apache.tapestry.web.WebRequest;
 
+import java.util.*;
+
 /**
  * Service tapestry.request.RequestLocaleManager. Identifies the Locale 
provided by the client
  * (either in a Tapestry-specific cookie, or interpolated from the HTTP header.
@@ -111,16 +106,24 @@
         if (_acceptedLocaleNamesSet.isEmpty())
             return getLocale(requestLocaleName);
 
-        while (true)
+        while (requestLocaleName.length() > 0)
         {
             if (_acceptedLocaleNamesSet.contains(requestLocaleName))
                 return getLocale(requestLocaleName);
 
             requestLocaleName = stripTerm(requestLocaleName);
+        }
 
-            if (requestLocaleName.length() == 0)
-                return _defaultLocale;
+        // now try "best match"
+
+        for (Iterator it = _acceptedLocaleNamesSet.iterator(); it.hasNext();) {
+
+            String locale = (String) it.next();
+            if (locale.startsWith(localeName))
+                return getLocale(locale);
         }
+
+        return _defaultLocale;
     }
 
     private String stripTerm(String localeName)

Modified: 
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/TestRequestLocaleManager.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/TestRequestLocaleManager.java?view=diff&rev=519782&r1=519781&r2=519782
==============================================================================
--- 
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/TestRequestLocaleManager.java
 (original)
+++ 
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/TestRequestLocaleManager.java
 Sun Mar 18 18:21:45 2007
@@ -14,17 +14,16 @@
 
 package org.apache.tapestry.services.impl;
 
-import static org.easymock.EasyMock.expect;
-
-import java.util.Locale;
-
 import org.apache.hivemind.service.ThreadLocale;
 import org.apache.tapestry.BaseComponentTestCase;
 import org.apache.tapestry.TapestryConstants;
 import org.apache.tapestry.services.CookieSource;
 import org.apache.tapestry.web.WebRequest;
+import static org.easymock.EasyMock.expect;
 import org.testng.annotations.Test;
 
+import java.util.Locale;
+
 /**
  * Tests for [EMAIL PROTECTED] 
org.apache.tapestry.services.impl.RequestLocaleManagerImpl}.
  * 
@@ -48,7 +47,7 @@
         return threadLocale;
     }
 
-    public void testSuppliedByRequest()
+    public void test_Supplied_By_Request()
     {
         CookieSource source = newMock(CookieSource.class);
         
@@ -103,22 +102,22 @@
         verify();
     }
 
-    public void testJustLanguage()
+    public void test_Just_Language()
     {
         attempt("en", Locale.ENGLISH);
     }
 
-    public void testLanguageAndCountry()
+    public void test_Language_And_Country()
     {
         attempt("fr_FR", Locale.FRANCE);
     }
 
-    public void testWithVariant()
+    public void test_With_Variant()
     {
         attempt("en_US_Bahstohn", new Locale("en", "US", "Bahstohn"));
     }
 
-    public void testPersist()
+    public void test_Persist()
     {
         Locale locale = Locale.SIMPLIFIED_CHINESE;
 
@@ -140,7 +139,7 @@
         verify();
     }
 
-    public void testPersistNoChange()
+    public void test_Persist_No_Change()
     {
         CookieSource source = newMock(CookieSource.class);
         
@@ -180,7 +179,7 @@
         verify();
     }
 
-    public void testGetLocaleValuesAreCached()
+    public void test_Get_Locale_Values_Are_Cached()
     {
         RequestLocaleManagerImpl manager = new RequestLocaleManagerImpl();
 
@@ -194,7 +193,7 @@
      * Test when filtering of incoming locales is disabled.
      */
 
-    public void testFilterDisabled()
+    public void test_Filter_Disabled()
     {
         RequestLocaleManagerImpl manager = new RequestLocaleManagerImpl();
 
@@ -207,19 +206,31 @@
      * Test with filtering enabled.
      */
 
-    public void testFilterEnabled()
+    public void test_Filter_Enabled()
     {
         RequestLocaleManagerImpl manager = new RequestLocaleManagerImpl();
         manager.setAcceptedLocales("en,fr");
         manager.initializeService();
 
-        assertEquals(Locale.ENGLISH, manager.filterRequestedLocale("en"));
-        assertEquals(Locale.ENGLISH, manager.filterRequestedLocale("en_US"));
-        assertEquals(Locale.FRENCH, manager.filterRequestedLocale("fr"));
-        assertEquals(Locale.FRENCH, manager.filterRequestedLocale("fr_FR"));
+        assertEquals(manager.filterRequestedLocale("en"), Locale.ENGLISH);
+        assertEquals(manager.filterRequestedLocale("en_US"), Locale.ENGLISH);
+        assertEquals(manager.filterRequestedLocale("fr"), Locale.FRENCH);
+        assertEquals(manager.filterRequestedLocale("fr_FR"), Locale.FRENCH);
 
         // Unrecognized locales filter to the first accepted locale.
 
-        assertEquals(Locale.ENGLISH, 
manager.filterRequestedLocale("foo_bar_BAZ"));
+        assertEquals(manager.filterRequestedLocale("foo_bar_BAZ"), 
Locale.ENGLISH);
+    }
+
+    public void test_Filter_Best_Guess()
+    {
+        RequestLocaleManagerImpl manager = new RequestLocaleManagerImpl();
+        manager.setAcceptedLocales("en_US,fr_FR");
+        manager.initializeService();
+
+        assertEquals(manager.filterRequestedLocale("en"), Locale.US);
+        assertEquals(manager.filterRequestedLocale("en_GB"), Locale.US);
+        assertEquals(manager.filterRequestedLocale("fr"), Locale.FRANCE);
+        assertEquals(manager.filterRequestedLocale("fr_FR"), Locale.FRANCE);
     }
-}
\ No newline at end of file
+}

Modified: tapestry/tapestry4/trunk/tapestry.iws
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry.iws?view=diff&rev=519782&r1=519781&r2=519782
==============================================================================
--- tapestry/tapestry4/trunk/tapestry.iws (original)
+++ tapestry/tapestry4/trunk/tapestry.iws Sun Mar 18 18:21:45 2007
@@ -18,16 +18,9 @@
   <component name="ChangeListManager">
     <list default="true" name="Default" comment="">
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/tapestry.iws" 
afterPath="$PROJECT_DIR$/tapestry.iws" />
-      <change type="MODIFICATION" 
beforePath="$PROJECT_DIR$/tapestry-annotations/tapestry-annotations.iml" 
afterPath="$PROJECT_DIR$/tapestry-annotations/tapestry-annotations.iml" />
-      <change type="MODIFICATION" 
beforePath="$PROJECT_DIR$/tapestry-contrib/tapestry-contrib.iml" 
afterPath="$PROJECT_DIR$/tapestry-contrib/tapestry-contrib.iml" />
-      <change type="MODIFICATION" 
beforePath="$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/services/impl/BindingSourceImpl.java"
 
afterPath="$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/services/impl/BindingSourceImpl.java"
 />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/tapestry.ipr" 
afterPath="$PROJECT_DIR$/tapestry.ipr" />
-      <change type="MODIFICATION" 
beforePath="$PROJECT_DIR$/tapestry-framework/tapestry-framework.iml" 
afterPath="$PROJECT_DIR$/tapestry-framework/tapestry-framework.iml" />
-      <change type="MODIFICATION" 
beforePath="$PROJECT_DIR$/tapestry-examples/TimeTracker/TimeTracker.iml" 
afterPath="$PROJECT_DIR$/tapestry-examples/TimeTracker/TimeTracker.iml" />
-      <change type="MODIFICATION" 
beforePath="$PROJECT_DIR$/tapestry-examples/Workbench/Workbench.iml" 
afterPath="$PROJECT_DIR$/tapestry-examples/Workbench/Workbench.iml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/tapestry.iml" 
afterPath="$PROJECT_DIR$/tapestry.iml" />
-      <change type="MODIFICATION" 
beforePath="$PROJECT_DIR$/tapestry-framework/src/test/org/apache/tapestry/services/impl/TestBindingSource.java"
 
afterPath="$PROJECT_DIR$/tapestry-framework/src/test/org/apache/tapestry/services/impl/TestBindingSource.java"
 />
-      <change type="MODIFICATION" 
beforePath="$PROJECT_DIR$/tapestry-portlet/tapestry-portlet.iml" 
afterPath="$PROJECT_DIR$/tapestry-portlet/tapestry-portlet.iml" />
+      <change type="MODIFICATION" 
beforePath="$PROJECT_DIR$/tapestry-examples/Workbench/src/context/Dates.html" 
afterPath="$PROJECT_DIR$/tapestry-examples/Workbench/src/context/Dates.html" />
+      <change type="MODIFICATION" 
beforePath="$PROJECT_DIR$/tapestry-framework/src/test/org/apache/tapestry/services/impl/TestRequestLocaleManager.java"
 
afterPath="$PROJECT_DIR$/tapestry-framework/src/test/org/apache/tapestry/services/impl/TestRequestLocaleManager.java"
 />
+      <change type="MODIFICATION" 
beforePath="$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestLocaleManagerImpl.java"
 
afterPath="$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestLocaleManagerImpl.java"
 />
     </list>
   </component>
   <component name="ChangesViewManager" flattened_view="true" />
@@ -337,14 +330,14 @@
       </UpdatedFiles>
     </UpdateInfo>
   </component>
-  <component name="RunManager" selected="TestNG.TestBindingSource">
-    <tempConfiguration default="false" name="TestBindingSource" type="TestNG" 
factoryName="TestNG" enabled="false" merge="false">
+  <component name="RunManager" selected="TestNG.TestRequestLocaleManager">
+    <tempConfiguration default="false" name="TestRequestLocaleManager" 
type="TestNG" factoryName="TestNG" enabled="false" merge="false">
       <module name="tapestry-framework" />
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
       <option name="ALTERNATIVE_JRE_PATH" />
       <option name="SUITE_NAME" />
       <option name="PACKAGE_NAME" value="org.apache.tapestry.services.impl" />
-      <option name="MAIN_CLASS_NAME" 
value="org.apache.tapestry.services.impl.TestBindingSource" />
+      <option name="MAIN_CLASS_NAME" 
value="org.apache.tapestry.services.impl.TestRequestLocaleManager" />
       <option name="METHOD_NAME" />
       <option name="GROUP_NAME" />
       <option name="TEST_OBJECT" value="CLASS" />
@@ -548,7 +541,7 @@
     <option name="PERFORM_COMMIT_IN_BACKGROUND" value="false" />
     <option name="PUT_FOCUS_INTO_COMMENT" value="false" />
     <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
-    <option name="LAST_COMMIT_MESSAGE" value="Fixes TAPESTRY-937. Simple 
stupid indexOf check using &gt; 1 instead of &gt; -1. I'm sure I added this bug 
at some point." />
+    <option name="LAST_COMMIT_MESSAGE" value="Fixes 
TAPESTRY-996.&#10;&#10;RequestLocaleManager was being extremely picky about 
incoming locale requests matching filtered locales if the filtered list didn't 
contain exact matches when the original filter list has country/language 
specific listings only." />
     <option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
     <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
     <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
@@ -568,6 +561,7 @@
     <MESSAGE value="Fixes TAPESTRY-872. &#10;&#10;The documented usage of 
PageAttachListener stated that page properties should be restored before the 
listener is called. Modified logic so that RequestCycle calls firePageAttached 
directly and removed the firePageAttached call within AbstractPage.attach" />
     <MESSAGE value="Upgraded commons-fileupload/commons-io." />
     <MESSAGE value="Fixes TAPESTRY-937. Simple stupid indexOf check using &gt; 
1 instead of &gt; -1. I'm sure I added this bug at some point." />
+    <MESSAGE value="Fixes TAPESTRY-996.&#10;&#10;RequestLocaleManager was 
being extremely picky about incoming locale requests matching filtered locales 
if the filtered list didn't contain exact matches when the original filter list 
has country/language specific listings only." />
   </component>
   <component name="antWorkspaceConfiguration">
     <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
@@ -584,109 +578,115 @@
     <option name="myLastEditedConfigurable" value="Project Default" />
   </component>
   <component name="editorHistoryManager">
-    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/event/PageAttachListener.java">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="30" column="39" selection-start="1193" 
selection-end="1193" vertical-scroll-proportion="0.22998296">
-          <folding />
+        <state line="18" column="38" selection-start="754" selection-end="754" 
vertical-scroll-proportion="0.07666099">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/multipart/UploadPart.java">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/ITableColumn.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="79" column="34" selection-start="2084" 
selection-end="2084" vertical-scroll-proportion="0.7410562">
+        <state line="28" column="21" selection-start="1137" 
selection-end="1137" vertical-scroll-proportion="0.2128821">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/tapestry-framework/pom.xml">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/multipart/AbstractMultipartDecoder.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="62" column="20" selection-start="2337" 
selection-end="2337" vertical-scroll-proportion="0.40971038">
+        <state line="36" column="0" selection-start="1190" 
selection-end="1190" vertical-scroll-proportion="0.2044293">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/multipart/ServletMultipartDecoder.java">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/multipart/MultipartDecoderImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="33" column="1" selection-start="1144" 
selection-end="1144" vertical-scroll-proportion="0.26831347">
+        <state line="72" column="8" selection-start="2473" 
selection-end="2473" vertical-scroll-proportion="0.6516184">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry 
file="jar://$USERPROFILE$/.m2/repository/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2.jar!/org/apache/commons/fileupload/servlet/ServletFileUpload.class">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/multipart/MultipartDecoderFilter.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="16" column="0" selection-start="985" selection-end="985" 
vertical-scroll-proportion="0.19413288">
+        <state line="34" column="20" selection-start="1253" 
selection-end="1253" vertical-scroll-proportion="0.19165248">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry 
file="file://$PROJECT_DIR$/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java">
+    <entry file="file://$PROJECT_DIR$/pom.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="18" column="38" selection-start="754" selection-end="754" 
vertical-scroll-proportion="0.07666099">
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state line="203" column="40" selection-start="7952" 
selection-end="7952" vertical-scroll-proportion="0.42248723">
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/tapestry-examples/TimeTracker/pom.xml">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/binding/BindingConstants.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="15" column="0" selection-start="705" selection-end="705" 
vertical-scroll-proportion="0.19165248">
+        <state line="42" column="31" selection-start="1286" 
selection-end="1286" vertical-scroll-proportion="0.5263158">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry 
file="file://$PROJECT_DIR$/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/ITableColumn.java">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/test/org/apache/tapestry/services/impl/TestBindingSource.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="28" column="21" selection-start="1137" 
selection-end="1137" vertical-scroll-proportion="0.2128821">
+        <state line="215" column="0" selection-start="6208" 
selection-end="6208" vertical-scroll-proportion="0.56558776">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/multipart/AbstractMultipartDecoder.java">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/services/impl/BindingSourceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="36" column="0" selection-start="1190" 
selection-end="1190" vertical-scroll-proportion="0.2044293">
+        <state line="61" column="0" selection-start="1882" 
selection-end="1882" vertical-scroll-proportion="0.51107323">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/multipart/MultipartDecoderImpl.java">
+    <entry file="file://$PROJECT_DIR$/tapestry-examples/TimeTracker/pom.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="72" column="8" selection-start="2473" 
selection-end="2473" vertical-scroll-proportion="0.6516184">
+        <state line="96" column="11" selection-start="3434" 
selection-end="3434" vertical-scroll-proportion="0.4250426">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/multipart/MultipartDecoderFilter.java">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-examples/TimeTracker/src/context/Home.html">
+      <provider editor-type-id="HtmlPreview">
+        <state />
+      </provider>
       <provider selected="true" editor-type-id="text-editor">
-        <state line="34" column="20" selection-start="1253" 
selection-end="1253" vertical-scroll-proportion="0.19165248">
+        <state line="43" column="11" selection-start="1531" 
selection-end="1531" vertical-scroll-proportion="0.3728223">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pom.xml">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-examples/Workbench/src/context/Dates.html">
+      <provider editor-type-id="HtmlPreview">
+        <state />
+      </provider>
       <provider selected="true" editor-type-id="text-editor">
-        <state line="203" column="40" selection-start="7952" 
selection-end="7952" vertical-scroll-proportion="0.42248723">
+        <state line="18" column="8" selection-start="487" selection-end="487" 
vertical-scroll-proportion="0.23519164">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/binding/BindingConstants.java">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/form/PropertySelection.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="42" column="31" selection-start="1286" 
selection-end="1286" vertical-scroll-proportion="0.5263158">
+        <state line="47" column="4" selection-start="2214" 
selection-end="2214" vertical-scroll-proportion="0.4088586">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/test/org/apache/tapestry/services/impl/TestBindingSource.java">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestLocaleManagerImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="215" column="0" selection-start="6208" 
selection-end="6208" vertical-scroll-proportion="0.56558776">
+        <state line="115" column="0" selection-start="3646" 
selection-end="3646" vertical-scroll-proportion="0.34497446">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/java/org/apache/tapestry/services/impl/BindingSourceImpl.java">
+    <entry 
file="file://$PROJECT_DIR$/tapestry-framework/src/test/org/apache/tapestry/services/impl/TestRequestLocaleManager.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="61" column="0" selection-start="1882" 
selection-end="1882" vertical-scroll-proportion="0.51107323">
+        <state line="223" column="0" selection-start="6092" 
selection-end="6092" vertical-scroll-proportion="0.7572402">
           <folding />
         </state>
       </provider>


Reply via email to