Author: hlship
Date: Wed Jan 10 12:34:11 2007
New Revision: 494967

URL: http://svn.apache.org/viewvc?view=rev&rev=494967
Log:
Add recordError() methods to Form, so that the Form's ValidationTracker does 
not have to be directly exposed.

Added:
    
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/corelib/components/FormTest.java
Modified:
    
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java
    tapestry/tapestry5/tapestry-core/trunk/src/site/apt/index.apt
    
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/ClassLoaderInspect.java
    
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/PasswordFieldDemo.java
    
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ObjectComponentEventResultProcessorTest.java

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java?view=diff&rev=494967&r1=494966&r2=494967
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java
 Wed Jan 10 12:34:11 2007
@@ -22,6 +22,7 @@
 import org.apache.tapestry.ComponentAction;
 import org.apache.tapestry.ComponentEventHandler;
 import org.apache.tapestry.ComponentResources;
+import org.apache.tapestry.Field;
 import org.apache.tapestry.Link;
 import org.apache.tapestry.MarkupWriter;
 import org.apache.tapestry.TapestryConstants;
@@ -344,8 +345,28 @@
         return holder.get();
     }
 
-    public ValidationTracker getTracker()
+    public void recordError(String errorMessage)
     {
-        return _tracker;
+        ValidationTracker tracker = _tracker;
+
+        tracker.recordError(errorMessage);
+
+        _tracker = tracker;
+    }
+
+    public void recordError(Field field, String errorMessage)
+    {
+        ValidationTracker tracker = _tracker;
+
+        tracker.recordError(field, errorMessage);
+
+        _tracker = tracker;
+    }
+
+    // For testing:
+
+    void setTracker(ValidationTracker tracker)
+    {
+        _tracker = tracker;
     }
 }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/site/apt/index.apt
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/site/apt/index.apt?view=diff&rev=494967&r1=494966&r2=494967
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/site/apt/index.apt (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/site/apt/index.apt Wed Jan 10 
12:34:11 2007
@@ -75,8 +75,8 @@
 
 private String _password;
 
[EMAIL PROTECTED]
-private String _errorMessage;
[EMAIL PROTECTED]
+private Form _form;
 
 @InjectPage
 private Start _startPage;
@@ -92,7 +92,7 @@
     
   // Stay on this page:
 
-  _errorMessage = "Incorrect user id or password.";  
+ _form.recordError("Invalid user name or password."); 
   
   return null;
 }

Added: 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/corelib/components/FormTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/corelib/components/FormTest.java?view=auto&rev=494967
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/corelib/components/FormTest.java
 (added)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/corelib/components/FormTest.java
 Wed Jan 10 12:34:11 2007
@@ -0,0 +1,62 @@
+// Copyright 2007 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry.corelib.components;
+
+import org.apache.tapestry.Field;
+import org.apache.tapestry.ValidationTracker;
+import org.apache.tapestry.test.TapestryTestCase;
+import org.testng.annotations.Test;
+
+public class FormTest extends TapestryTestCase
+{
+    @Test
+    public void record_error()
+    {
+        ValidationTracker tracker = newValidationTracker();
+        String message = "A recorded message.";
+
+        tracker.recordError(message);
+
+        replay();
+
+        Form form = new Form();
+
+        form.setTracker(tracker);
+
+        form.recordError(message);
+
+        verify();
+    }
+
+    @Test
+    public void record_error_for_field()
+    {
+        ValidationTracker tracker = newValidationTracker();
+        String message = "A recorded message.";
+        Field field = newField();
+
+        tracker.recordError(field, message);
+
+        replay();
+
+        Form form = new Form();
+
+        form.setTracker(tracker);
+
+        form.recordError(field, message);
+
+        verify();
+    }
+}

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/ClassLoaderInspect.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/ClassLoaderInspect.java?view=diff&rev=494967&r1=494966&r2=494967
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/ClassLoaderInspect.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/ClassLoaderInspect.java
 Wed Jan 10 12:34:11 2007
@@ -132,7 +132,7 @@
             if (InternalUtils.isBlank(message))
                 message = ex.getClass().getName();
 
-            _search.getTracker().recordError(message);
+            _search.recordError(message);
         }
     }
 

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/PasswordFieldDemo.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/PasswordFieldDemo.java?view=diff&rev=494967&r1=494966&r2=494967
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/PasswordFieldDemo.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/pages/PasswordFieldDemo.java
 Wed Jan 10 12:34:11 2007
@@ -45,7 +45,7 @@
     {
         if (!_authenticator.isValid(_userName, _password))
         {
-            _form.getTracker().recordError(_passwordField, "Invalid user name 
or password.");
+            _form.recordError(_passwordField, "Invalid user name or 
password.");
             return null;
         }
 

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ObjectComponentEventResultProcessorTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ObjectComponentEventResultProcessorTest.java?view=diff&rev=494967&r1=494966&r2=494967
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ObjectComponentEventResultProcessorTest.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ObjectComponentEventResultProcessorTest.java
 Wed Jan 10 12:34:11 2007
@@ -1,3 +1,17 @@
+// Copyright 2007 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
 package org.apache.tapestry.internal.services;
 
 import java.util.Arrays;


Reply via email to