Author: manolo
Date: Thu Jan 21 10:52:29 2010
New Revision: 901649

URL: http://svn.apache.org/viewvc?rev=901649&view=rev
Log:
Allow new lines in email suggestion boxes

Modified:
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/validation/EmailListValidator.java
    
james/hupa/trunk/client/src/test/java/org/apache/hupa/client/validation/EmailListValidatorTest.java
    
james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/ui/MultiValueSuggestArea.java

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/validation/EmailListValidator.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/validation/EmailListValidator.java?rev=901649&r1=901648&r2=901649&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/validation/EmailListValidator.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/validation/EmailListValidator.java
 Thu Jan 21 10:52:29 2010
@@ -65,7 +65,7 @@
         if (text.length() > 0) {
             if (text.replaceAll("[,:\\s]+", "").isEmpty())
                 return false;
-            String[] addresses = text.split("[,;]+");
+            String[] addresses = text.split("[,;\r\n]+");
             if (addresses == null || addresses.length == 0) {
                 return isValidAddress(text.trim());
             } else {

Modified: 
james/hupa/trunk/client/src/test/java/org/apache/hupa/client/validation/EmailListValidatorTest.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/test/java/org/apache/hupa/client/validation/EmailListValidatorTest.java?rev=901649&r1=901648&r2=901649&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/test/java/org/apache/hupa/client/validation/EmailListValidatorTest.java
 (original)
+++ 
james/hupa/trunk/client/src/test/java/org/apache/hupa/client/validation/EmailListValidatorTest.java
 Thu Jan 21 10:52:29 2010
@@ -2,6 +2,8 @@
 
 import junit.framework.TestCase;
 
+import org.apache.hupa.client.validation.EmailListValidator;
+
 
 public class EmailListValidatorTest extends TestCase{
     
@@ -12,6 +14,7 @@
         assertFalse(EmailListValidator.isValidAddressList(", , ,"));
         assertFalse(EmailListValidator.isValidAddressList("[email protected] ; ; 
MMM <m...@aa>;;;"));
         assertTrue(EmailListValidator.isValidAddressList("[email protected] ; ; MMM 
<[email protected]>;;;"));
+        assertTrue(EmailListValidator.isValidAddressList("[email protected]\nmmm 
<[email protected]>;;;"));
     }
 
 }

Modified: 
james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/ui/MultiValueSuggestArea.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/ui/MultiValueSuggestArea.java?rev=901649&r1=901648&r2=901649&view=diff
==============================================================================
--- 
james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/ui/MultiValueSuggestArea.java
 (original)
+++ 
james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/ui/MultiValueSuggestArea.java
 Thu Jan 21 10:52:29 2010
@@ -45,19 +45,25 @@
 
         public CustomSuggestBox(SuggestOracle oracle) {
             // this is a hack, It is necessary to override the TextBoxBase 
passed to the constructor
-            // instead of override getText and setText from SuggestBox because 
a bug in the implementation
+            // instead of overriding getText and setText from SuggestBox 
because a bug in the implementation
             // I've sent a patch to gwt.
             super(oracle, new TextArea() {
+
+                String search = null;
+                
                 @Override
                 public String getText() {
-                    return super.getText().replaceAll("^.*[,; \r\n]+", "");
+                    return search = super.getText().replaceFirst("\\s$", 
"").replaceAll("[\\s;]", ",").replaceFirst("^.+,", "");
                 }
-
+                
                 @Override
                 public void setText(String text) {
-                    String actual = super.getText().replaceFirst("[\r\n]+", 
"").replaceFirst(".$", "").replaceFirst("[,; \r\n]+[^,; \r\n]*$", "");
-                    super.setText(actual + (actual.isEmpty() ? "" : ", ") + 
text + (text.isEmpty() ? "" : ", "));
+                    if (!text.trim().isEmpty()) {
+                        String actual = super.getText().replaceFirst("\\s+$", 
"").replaceFirst(search + "[\\s]*$", "");
+                        super.setText(actual + text + ", ");
+                    }
                 }
+                
             });
         }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to