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;