Update of 
/var/cvs/contributions/CMSContainer_Portlets/portlets-dynamicforms/src/java/com/finalist/portlets/responseform
In directory 
james.mmbase.org:/tmp/cvs-serv24984/portlets-dynamicforms/src/java/com/finalist/portlets/responseform

Modified Files:
      Tag: b1_4
        ResponseFormPortlet.java 
Log Message:
CMSC-680 - Made improvements because my previous work was reverted by mguo in 
the trunk source. 


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-dynamicforms/src/java/com/finalist/portlets/responseform
See also: http://www.mmbase.org/jira/browse/CMSC-680


Index: ResponseFormPortlet.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-dynamicforms/src/java/com/finalist/portlets/responseform/ResponseFormPortlet.java,v
retrieving revision 1.8
retrieving revision 1.8.2.1
diff -u -b -r1.8 -r1.8.2.1
--- ResponseFormPortlet.java    11 Jan 2008 15:14:47 -0000      1.8
+++ ResponseFormPortlet.java    3 Mar 2008 10:40:59 -0000       1.8.2.1
@@ -13,6 +13,7 @@
 import java.io.UnsupportedEncodingException;
 import java.util.Arrays;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.Iterator;
@@ -127,6 +128,7 @@
                         && (((type == TYPE_TEXTBOX) || (type == 
TYPE_TEXTAREA)) && !isEmailAddress(value))) {
                    errorMessages.put(fieldIdentifier, 
"view.formfield.invalid");
                   }
+                  
                   if ((type == TYPE_TEXTBOX) && sendEmail) {   //If data is 
used as email address, then it should be valid 
                      if (!isEmailAddress(userEmailAddress))
                         errorMessages.put(fieldIdentifier, 
"view.formfield.invalid");
@@ -233,7 +235,7 @@
          Map<String, String> parameterMap) {
       boolean sent = false;
       String userEmailSubject = 
responseform.getStringValue("useremailsubject");
-      String userEmailSender = responseform.getStringValue("useremailsender");
+      String userEmailSenderAddress = 
responseform.getStringValue("useremailsender");
       String userEmailSenderName = 
responseform.getStringValue("useremailsendername");
       String userEmailTextBefore = 
responseform.getStringValue("useremailbody");
       String userEmailTextAfter = 
responseform.getStringValue("useremailbodyafter");
@@ -252,12 +254,12 @@
          userEmailText.append(userEmailTextAfter);
       }
 
-      if (!StringUtil.isEmptyOrWhitespace(userEmailSender) && 
!StringUtil.isEmptyOrWhitespace(userEmailText.toString())
+      if (!StringUtil.isEmptyOrWhitespace(userEmailText.toString())
             && !StringUtil.isEmptyOrWhitespace(userEmailSenderName)
-            && !StringUtil.isEmptyOrWhitespace(userEmailAddress) 
-            && isEmailAddress(userEmailAddress)) {
+            && isEmailAddress(userEmailAddress)
+            && isEmailAddress(userEmailSenderAddress)) {
          try {
-            EmailSender.getInstance().sendEmail(userEmailSender, 
userEmailSenderName, userEmailAddress,
+            EmailSender.getInstance().sendEmail(userEmailSenderAddress, 
userEmailSenderName, userEmailAddress,
                   userEmailSubject, userEmailText.toString());
             sent = true;
          }
@@ -271,26 +273,6 @@
       return sent;
    }
 
-   private boolean isEmailAddress(String emailAddress) {
-      if (emailAddress == null) return false;
-      if (StringUtil.isEmptyOrWhitespace(emailAddress)) return false;
-      
-      String emailRegex = getEmailRegex();
-      return emailAddress.matches(emailRegex);
-   }
-   
-   private boolean isEmailAddress(List<String> emailList) {
-      if (emailList == null) return false;
-      
-      String emailRegex = getEmailRegex();
-      if (emailList.isEmpty()) return false;
-      for (String email : emailList) {
-         if (email.matches(emailRegex) == false) return false;
-      }
-      
-      return true;
-   }
-
 
    private boolean sendResponseFormEmail(Node responseform, String 
userEmailAddress, String responseformData,
          DataSource attachment) {
@@ -300,12 +282,13 @@
       String emailTextBefore = responseform.getStringValue("emailbody");
       String emailTextAfter = responseform.getStringValue("emailbodyafter");
 
-      String senderEmail = userEmailAddress;
+      String senderEmailAddress = userEmailAddress;
       String senderName = userEmailAddress;
       if (StringUtil.isEmptyOrWhitespace(userEmailAddress)) {
-         senderEmail = responseform.getStringValue("useremailsender");
+         senderEmailAddress = responseform.getStringValue("useremailsender");
          senderName = responseform.getStringValue("useremailsendername");
       }
+      if (!isEmailAddress(senderEmailAddress)) return false; //Last check 
email address
 
       emailTextBefore = emailTextBefore.trim();
       emailText.append(emailTextBefore);
@@ -326,7 +309,7 @@
       }
 
       try {
-         EmailSender.getInstance().sendEmail(senderEmail, senderName, 
emailList, emailSubject, emailText.toString(),
+         EmailSender.getInstance().sendEmail(senderEmailAddress, senderName, 
emailList, emailSubject, emailText.toString(),
                attachment);
          sent = true;
       }
@@ -437,6 +420,26 @@
 
    }
 
+   public boolean isEmailAddress(String emailAddress) {
+      if (emailAddress == null) return false;
+      if (StringUtil.isEmptyOrWhitespace(emailAddress)) return false;
+      
+      String emailRegex = getEmailRegex();
+      return emailAddress.matches(emailRegex);
+   }
+          
+   public boolean isEmailAddress(List<String> emailList) {
+      if (emailList == null) return false;
+      if (emailList.isEmpty()) return false;
+            
+      String emailRegex = getEmailRegex();
+      for (String email : emailList) {
+        if (email == null || StringUtil.isEmptyOrWhitespace(email)) return 
false;
+         if (!email.matches(emailRegex)) return false;
+      }
+      
+      return true;
+   }
 
    private long getMaxAttachmentSize() {
       long maxFileSize = DEFAULT_MAXFILESIZE;
@@ -454,8 +457,7 @@
       return maxFileSize * MEGABYTE;
    }
 
-
-   private String getEmailRegex() {
+   protected String getEmailRegex() {
       String emailRegex = PropertiesUtil.getProperty("email.regex");
       if (!StringUtil.isEmptyOrWhitespace(emailRegex)) {
          return emailRegex;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to