You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by do...@apache.org on 2013/09/12 04:45:52 UTC

svn commit: r1522138 - in /james/hupa/trunk: client/ client/src/main/java/org/apache/hupa/client/mvp/ client/src/main/webapp/ server/src/main/java/org/apache/hupa/server/handler/ server/src/main/java/org/apache/hupa/server/utils/ server/src/test/java/o...

Author: dongxu
Date: Thu Sep 12 02:45:52 2013
New Revision: 1522138

URL: http://svn.apache.org/r1522138
Log:
constantly changed by manolo

Modified:
    james/hupa/trunk/client/pom.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginView.java
    james/hupa/trunk/client/src/main/webapp/Hupa.html
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractFetchMessagesHandler.java
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/utils/MessageUtils.java
    james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java
    james/hupa/trunk/server/src/test/java/org/apache/hupa/server/utils/MessageUtilsTest.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ContactsResult.java

Modified: james/hupa/trunk/client/pom.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/pom.xml?rev=1522138&r1=1522137&r2=1522138&view=diff
==============================================================================
--- james/hupa/trunk/client/pom.xml (original)
+++ james/hupa/trunk/client/pom.xml Thu Sep 12 02:45:52 2013
@@ -18,11 +18,15 @@
     under the License.
 -->
 <<<<<<< HEAD
+<<<<<<< HEAD
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 =======
 <project
     xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+=======
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+>>>>>>> constantly changed by manolo
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 >>>>>>> first commit
     <modelVersion>4.0.0</modelVersion>
@@ -95,16 +99,22 @@
             <artifactId>gwt-user</artifactId>
             <exclusions>
 <<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>> constantly changed by manolo
                 <exclusion>
                     <groupId>javax.validation</groupId>
                     <artifactId>validation-api</artifactId>
                 </exclusion>
+<<<<<<< HEAD
 =======
               <exclusion>
                 <groupId>javax.validation</groupId>
                 <artifactId>validation-api</artifactId>
               </exclusion>
 >>>>>>> first commit
+=======
+>>>>>>> constantly changed by manolo
             </exclusions>
         </dependency>
         <dependency>
@@ -122,6 +132,7 @@
         </dependency>
         <dependency>
 <<<<<<< HEAD
+<<<<<<< HEAD
             <groupId>org.hibernate</groupId>
             <artifactId>hibernate-validator</artifactId>
             <version>4.2.0.Final</version>
@@ -130,6 +141,11 @@
           <artifactId>hibernate-validator</artifactId>
           <version>4.2.0.Final</version>
 >>>>>>> first commit
+=======
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-validator</artifactId>
+            <version>4.2.0.Final</version>
+>>>>>>> constantly changed by manolo
         </dependency>
         <dependency>
             <groupId>org.json</groupId>
@@ -148,6 +164,9 @@
             <artifactId>slf4j-log4j12</artifactId>
         </dependency>
 <<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>> constantly changed by manolo
         <dependency>
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-server</artifactId>
@@ -156,6 +175,7 @@
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-webapp</artifactId>
         </dependency>
+<<<<<<< HEAD
 =======
 		<dependency>
 		    <groupId>org.eclipse.jetty</groupId>
@@ -166,6 +186,8 @@
 		    <artifactId>jetty-webapp</artifactId>
 		</dependency>        
 >>>>>>> first commit
+=======
+>>>>>>> constantly changed by manolo
     </dependencies>
     <build>
         <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
@@ -177,10 +199,14 @@
                     <runTarget>Hupa.html</runTarget>
                     <extraJvmArgs>
 <<<<<<< HEAD
+<<<<<<< HEAD
                         -Xmx512M -Xss128M
 =======
                         -Xmx512M -Xss128M -Dhupa.config.file=${project.parent.basedir}/server/src/main/webapp/WEB-INF/conf/config.properties
 >>>>>>> first commit
+=======
+                        -Xmx512M -Xss128M
+>>>>>>> constantly changed by manolo
                     </extraJvmArgs>
                     <localWorkers>1</localWorkers>
                     <compileReport>true</compileReport>
@@ -233,11 +259,15 @@
                     </webResources>
                     <warName>${project.artifactId}-${project.version}</warName>
 <<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>> constantly changed by manolo
                     <archive>
                         <manifest>
                             <mainClass>org.apache.hupa.Launcher</mainClass>
                         </manifest>
                     </archive>
+<<<<<<< HEAD
 =======
   			        <archive>
 			           <manifest>
@@ -245,6 +275,8 @@
 			           </manifest>
 			        </archive>
 >>>>>>> first commit
+=======
+>>>>>>> constantly changed by manolo
                 </configuration>
             </plugin>
             <plugin>
@@ -300,10 +332,14 @@
             </plugin>
             <plugin>
 <<<<<<< HEAD
+<<<<<<< HEAD
                 <groupId>org.apache.maven.plugins</groupId>
 =======
                <groupId>org.apache.maven.plugins</groupId>
 >>>>>>> first commit
+=======
+                <groupId>org.apache.maven.plugins</groupId>
+>>>>>>> constantly changed by manolo
                 <artifactId>maven-resources-plugin</artifactId>
                 <executions>
                     <execution>
@@ -333,10 +369,14 @@
                                 <resource>
                                     <directory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</directory>
 <<<<<<< HEAD
+<<<<<<< HEAD
                                     <include>org/apache/hupa/Launcher.class</include>
 =======
                                      <include>org/apache/hupa/Launcher.class</include>
 >>>>>>> first commit
+=======
+                                    <include>org/apache/hupa/Launcher.class</include>
+>>>>>>> constantly changed by manolo
                                 </resource>
                             </resources>
                         </configuration>
@@ -344,6 +384,9 @@
                 </executions>
             </plugin>
 <<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>> constantly changed by manolo
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-dependency-plugin</artifactId>
@@ -364,6 +407,7 @@
                     </execution>
                 </executions>
             </plugin>
+<<<<<<< HEAD
         </plugins>
     </build>
 =======
@@ -387,6 +431,8 @@
 			      </execution>
 			   </executions>
 			</plugin>            
+=======
+>>>>>>> constantly changed by manolo
         </plugins>
     </build>
 <<<<<<< HEAD

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java?rev=1522138&r1=1522137&r2=1522138&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java Thu Sep 12 02:45:52 2013
@@ -50,10 +50,13 @@ public class LoginPresenter extends Widg
     
     private HupaConstants constants = GWT.create(HupaConstants.class);
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
     private int minUsernameLength = 1;
     private int minPasswordLength = 1;
 >>>>>>> first commit
+=======
+>>>>>>> constantly changed by manolo
 
     public interface Display extends WidgetDisplay{
         public HasClickHandlers getLoginClick();
@@ -77,6 +80,7 @@ public class LoginPresenter extends Widg
      */
     private void doLogin() {
 <<<<<<< HEAD
+<<<<<<< HEAD
         String user = display.getUserNameValue().getValue().trim();
         String pass = display.getPasswordValue().getValue().trim();
         
@@ -87,6 +91,12 @@ public class LoginPresenter extends Widg
         
         if (user.length() < minUsernameLength || pass.length() < minPasswordLength)
 >>>>>>> first commit
+=======
+        String user = display.getUserNameValue().getValue().trim();
+        String pass = display.getPasswordValue().getValue().trim();
+        
+        if (user.isEmpty() || pass.isEmpty())
+>>>>>>> constantly changed by manolo
             return;
         
         display.setLoading(true);

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginView.java?rev=1522138&r1=1522137&r2=1522138&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginView.java Thu Sep 12 02:45:52 2013
@@ -157,9 +157,7 @@ public class LoginView extends Composite
         mainContainer.setStyleName(HupaCSS.C_login_container);
         flexTable.addStyleName(HupaCSS.C_login_form);
         usernameTextBox.addStyleName(HupaCSS.C_login_box);
-        usernameTextBox.setName("user");
         passwordTextBox.addStyleName(HupaCSS.C_login_box);
-        usernameTextBox.setName("password");
         
         buttonBar.add(submitButton);
         buttonBar.add(resetButton);
@@ -197,14 +195,20 @@ public class LoginView extends Composite
         formPanel.addSubmitHandler(new FormPanel.SubmitHandler() {
             public void onSubmit(SubmitEvent event) {
 <<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>> constantly changed by manolo
                 if (!usernameTextBox.getValue().trim().isEmpty() && !passwordTextBox.getValue().trim().isEmpty()) {
                     loginButton.click();
                 }
 //                event.cancel();
+<<<<<<< HEAD
 =======
                 event.cancel();
                 loginButton.click();
 >>>>>>> constantly changed by manolo
+=======
+>>>>>>> constantly changed by manolo
             }
         });
         // loginButton must be in the document to handle the click() method
@@ -238,6 +242,10 @@ public class LoginView extends Composite
 >>>>>>> first commit
 =======
                 submitButton.click();
+<<<<<<< HEAD
+>>>>>>> constantly changed by manolo
+=======
+//                formPanel.submit();
 >>>>>>> constantly changed by manolo
             }
         }

Modified: james/hupa/trunk/client/src/main/webapp/Hupa.html
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/webapp/Hupa.html?rev=1522138&r1=1522137&r2=1522138&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/webapp/Hupa.html (original)
+++ james/hupa/trunk/client/src/main/webapp/Hupa.html Thu Sep 12 02:45:52 2013
@@ -126,7 +126,7 @@
     
     <!-- We need this because passwords in forms rendered by js are not saved in browsers -->
     <div id="login">
-	  <form id="loginForm" action="hupa/hupa.nocache.js" method="post">
+	  <form id="loginForm" action="hupa/clear.cache.gif" method="post">
 	    <input id="email" name="email" type="text">
 	    <input id="password" name="password" type="password">
 	  </form>

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractFetchMessagesHandler.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractFetchMessagesHandler.java?rev=1522138&r1=1522137&r2=1522138&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractFetchMessagesHandler.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractFetchMessagesHandler.java Thu Sep 12 02:45:52 2013
@@ -20,6 +20,7 @@
 package org.apache.hupa.server.handler;
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 import java.io.IOException;
 import java.util.ArrayList;
 
@@ -37,6 +38,20 @@ import com.google.inject.Provider;
 
 import com.sun.mail.imap.IMAPStore;
 >>>>>>> first commit
+=======
+import java.io.IOException;
+import java.util.ArrayList;
+
+import javax.mail.Address;
+import javax.mail.FetchProfile;
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.mail.Multipart;
+import javax.mail.Part;
+import javax.mail.UIDFolder;
+import javax.mail.internet.MimeMessage.RecipientType;
+import javax.servlet.http.HttpSession;
+>>>>>>> constantly changed by manolo
 
 import net.customware.gwt.dispatch.server.ExecutionContext;
 import net.customware.gwt.dispatch.shared.ActionException;
@@ -45,6 +60,7 @@ import org.apache.commons.logging.Log;
 import org.apache.hupa.server.IMAPStoreCache;
 import org.apache.hupa.server.preferences.UserPreferencesStorage;
 <<<<<<< HEAD
+<<<<<<< HEAD
 import org.apache.hupa.server.utils.MessageUtils;
 import org.apache.hupa.shared.data.IMAPFolder;
 import org.apache.hupa.shared.data.Message.IMAPFlag;
@@ -57,13 +73,17 @@ import org.apache.hupa.shared.rpc.FetchM
 import com.google.inject.Provider;
 import com.sun.mail.imap.IMAPStore;
 =======
+=======
+import org.apache.hupa.server.utils.MessageUtils;
+>>>>>>> constantly changed by manolo
 import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.Message.IMAPFlag;
 import org.apache.hupa.shared.data.Tag;
 import org.apache.hupa.shared.data.User;
-import org.apache.hupa.shared.data.Message.IMAPFlag;
 import org.apache.hupa.shared.rpc.FetchMessages;
 import org.apache.hupa.shared.rpc.FetchMessagesResult;
 
+<<<<<<< HEAD
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
@@ -79,6 +99,10 @@ import javax.mail.internet.MimeUtility;
 import javax.mail.internet.MimeMessage.RecipientType;
 import javax.servlet.http.HttpSession;
 >>>>>>> first commit
+=======
+import com.google.inject.Provider;
+import com.sun.mail.imap.IMAPStore;
+>>>>>>> constantly changed by manolo
 
 public abstract class AbstractFetchMessagesHandler <A extends FetchMessages> extends AbstractSessionHandler<A, FetchMessagesResult>{
 
@@ -172,6 +196,7 @@ public abstract class AbstractFetchMessa
             if (m.getFrom() != null && m.getFrom().length >0 ) {
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
                 from = MessageUtils.decodeText(m.getFrom()[0].toString());
 =======
                 from = m.getFrom()[0].toString().trim();
@@ -185,6 +210,9 @@ public abstract class AbstractFetchMessa
 =======
                 from = decodeText(m.getFrom()[0].toString());
 >>>>>>> constant changed by manolo
+=======
+                from = MessageUtils.decodeText(m.getFrom()[0].toString());
+>>>>>>> constantly changed by manolo
             }
             msg.setFrom(from);
 
@@ -192,6 +220,7 @@ public abstract class AbstractFetchMessa
             if (m.getReplyTo() != null && m.getReplyTo().length >0 ) {
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
                 replyto = MessageUtils.decodeText(m.getReplyTo()[0].toString());
 =======
                 replyto = m.getReplyTo()[0].toString().trim();
@@ -205,6 +234,9 @@ public abstract class AbstractFetchMessa
 =======
                 replyto = decodeText(m.getReplyTo()[0].toString());
 >>>>>>> constant changed by manolo
+=======
+                replyto = MessageUtils.decodeText(m.getReplyTo()[0].toString());
+>>>>>>> constantly changed by manolo
             }
             msg.setReplyto(replyto);
             
@@ -215,6 +247,7 @@ public abstract class AbstractFetchMessa
                 for (Address addr : toArray) {
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
                     String mailTo = MessageUtils.decodeText(addr.toString());
                     to.add(mailTo);
 =======
@@ -230,6 +263,9 @@ public abstract class AbstractFetchMessa
 >>>>>>> first commit
 =======
                     String mailTo = decodeText(addr.toString());
+=======
+                    String mailTo = MessageUtils.decodeText(addr.toString());
+>>>>>>> constantly changed by manolo
                     to.add(mailTo);
 >>>>>>> constant changed by manolo
                 }
@@ -241,6 +277,7 @@ public abstract class AbstractFetchMessa
             if (subject != null) {
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
                 subject = MessageUtils.decodeText(subject);
 =======
                 try {
@@ -252,6 +289,9 @@ public abstract class AbstractFetchMessa
 =======
                 subject = decodeText(subject);
 >>>>>>> constant changed by manolo
+=======
+                subject = MessageUtils.decodeText(subject);
+>>>>>>> constantly changed by manolo
             }
             msg.setSubject(subject);
             
@@ -262,6 +302,7 @@ public abstract class AbstractFetchMessa
                 for (Address addr : ccArray) {
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
                     String mailCc = MessageUtils.decodeText(addr.toString());
                     cc.add(mailCc);
 =======
@@ -277,6 +318,9 @@ public abstract class AbstractFetchMessa
 >>>>>>> first commit
 =======
                     String mailCc = decodeText(addr.toString());
+=======
+                    String mailCc = MessageUtils.decodeText(addr.toString());
+>>>>>>> constantly changed by manolo
                     cc.add(mailCc);
 >>>>>>> constant changed by manolo
                 }            	
@@ -379,6 +423,7 @@ public abstract class AbstractFetchMessa
 >>>>>>> first commit
 =======
 
+<<<<<<< HEAD
     /**
      * Decode iso-xxxx strings present in subjects and emails like:
      * 
@@ -396,4 +441,7 @@ public abstract class AbstractFetchMessa
         return ret;
     }
 >>>>>>> constant changed by manolo
+=======
+
+>>>>>>> constantly changed by manolo
 }

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java?rev=1522138&r1=1522137&r2=1522138&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java Thu Sep 12 02:45:52 2013
@@ -148,10 +148,14 @@ public abstract class AbstractSendMessag
         message.setRecipients(RecipientType.CC, MessageUtils.getRecipients(m.getCc()));
         message.setRecipients(RecipientType.BCC, MessageUtils.getRecipients(m.getBcc()));
 <<<<<<< HEAD
+<<<<<<< HEAD
         message.setSubject(MessageUtils.encodeTexts(m.getSubject()));
 =======
         message.setSubject(m.getSubject());
 >>>>>>> first commit
+=======
+        message.setSubject(MessageUtils.encodeTexts(m.getSubject()));
+>>>>>>> constantly changed by manolo
         message.saveChanges();
         return message;
     }

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/utils/MessageUtils.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/utils/MessageUtils.java?rev=1522138&r1=1522137&r2=1522138&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/utils/MessageUtils.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/utils/MessageUtils.java Thu Sep 12 02:45:52 2013
@@ -24,10 +24,13 @@ package org.apache.hupa.server.utils;
 import java.io.File;
 import java.io.IOException;
 <<<<<<< HEAD
+<<<<<<< HEAD
 import java.io.InputStream;
 import java.io.OutputStream;
 =======
 >>>>>>> constantly changed by manolo
+=======
+>>>>>>> constantly changed by manolo
 import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -35,6 +38,7 @@ import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 import java.io.IOException;
 import java.util.ArrayList;
@@ -49,6 +53,8 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 >>>>>>> first commit
+=======
+>>>>>>> constantly changed by manolo
 
 import javax.activation.DataHandler;
 import javax.activation.DataSource;
@@ -107,6 +113,7 @@ public class MessageUtils {
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
             array[i] = new InternetAddress(encodeEmail(recipients.get(i)));
 =======
             array[i] = new InternetAddress(recipients.get(i));
@@ -117,6 +124,9 @@ public class MessageUtils {
 =======
             array[i] = new InternetAddress(recipients.get(i));
 >>>>>>> first commit
+=======
+            array[i] = new InternetAddress(encodeEmail(recipients.get(i)));
+>>>>>>> constantly changed by manolo
         }
         return array;
     }
@@ -382,5 +392,53 @@ public class MessageUtils {
 >>>>>>> constantly changed by manolo
 =======
     
+<<<<<<< HEAD
 >>>>>>> first commit
+=======
+    /**
+     * Decode iso-xxxx strings present in subjects and emails like:
+     * 
+     * =?ISO-8859-1?Q?No=20hay=20ma=F1ana?= <he...@hupa.org> 
+     */
+    public static String decodeText(String s) {
+        String ret = s;
+        try {
+            ret = MimeUtility.decodeText(s);
+        } catch (UnsupportedEncodingException e) {
+            System.out.println(e.getMessage());
+        }
+        ret =  ret
+          // Remove quotes around names in email addresses
+          .replaceFirst("^[<\"' ]+([^\"<>]*)[>\"' ]+<", "$1 <");
+        return ret;
+    }
+    
+    /**
+     * Encode non ascii characters present in emails like:
+     * 
+     * =?ISO-8859-1?Q?No=20hay=20ma=F1ana?= <he...@hupa.org> 
+     */
+    public static String encodeEmail(String s) {
+        if (s == null) {
+            return s;
+        }
+        Pattern p = Pattern.compile("^\\s*(.*?)\\s*(<[^>]+>)\\s*");
+        Matcher m = p.matcher(s);
+        return m.matches() ? encodeTexts(m.group(1)) + " " + m.group(2) : s;
+    }
+    
+    /**
+     * Encode non ascii characters present in email headers
+     */
+    public static String encodeTexts(String s) {
+        String ret = s;
+        if (s != null) {
+            try {
+                ret = MimeUtility.encodeText(s, "ISO-8859-1", null);
+            } catch (UnsupportedEncodingException e) {
+            }
+        }
+        return ret;
+    }
+>>>>>>> constantly changed by manolo
 }
\ No newline at end of file

Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java?rev=1522138&r1=1522137&r2=1522138&view=diff
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java (original)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java Thu Sep 12 02:45:52 2013
@@ -48,6 +48,7 @@ public class FetchMessagesHandlerTest ex
         is = new ByteArrayInputStream("From: \"=?ISO-8859-1?Q?Manolo_Pe=F1a?=\" <pe...@foo.com>\nTo: b@foo.com\nSubject: something\n\ndata".getBytes());
         MimeMessage m2 = new MimeMessage(session, is);
         is = new ByteArrayInputStream("From: a@foo.com\nTo: \"<b...@foo.com>\" <b...@foo.com>\nSubject: =?ISO-8859-1?Q?Monta=F1a?=\n\ndata".getBytes());
+<<<<<<< HEAD
 =======
         ByteArrayInputStream is = new ByteArrayInputStream("From: a@foo.com\nTo: b@foo.com\nSubject: something\n\ndata".getBytes());
 =======
@@ -61,6 +62,8 @@ public class FetchMessagesHandlerTest ex
         MimeMessage m2 = new MimeMessage(session, is);
         is = new ByteArrayInputStream("From: a@foo.com\nTo: b@foo.com\nSubject: =?ISO-8859-1?Q?Monta=F1a?=\n\ndata".getBytes());
 >>>>>>> first commit
+=======
+>>>>>>> constantly changed by manolo
         MimeMessage m3 = new MimeMessage(session, is);
         
         ArrayList<org.apache.hupa.shared.data.Message> msgs = fetchMessagesHandler.convert(2, f, new Message[]{m1, m2, m3});
@@ -91,10 +94,15 @@ public class FetchMessagesHandlerTest ex
         msgs = fetchMessagesHandler.convert(10, f, new Message[]{m3});
         assertEquals("Monta\u00F1a",  msgs.get(0).getSubject());
 <<<<<<< HEAD
+<<<<<<< HEAD
         assertEquals("b@foo.com <b...@foo.com>",  msgs.get(0).getTo().get(0));
 
 =======
 >>>>>>> first commit
+=======
+        assertEquals("b@foo.com <b...@foo.com>",  msgs.get(0).getTo().get(0));
+
+>>>>>>> constantly changed by manolo
     }
 
     public void testFetchMessages() throws Exception {

Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/utils/MessageUtilsTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/utils/MessageUtilsTest.java?rev=1522138&r1=1522137&r2=1522138&view=diff
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/utils/MessageUtilsTest.java (original)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/utils/MessageUtilsTest.java Thu Sep 12 02:45:52 2013
@@ -43,9 +43,13 @@ import org.apache.hupa.server.HupaGuiceT
 import java.util.List;
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 import javax.mail.Address;
 =======
 >>>>>>> first commit
+=======
+import javax.mail.Address;
+>>>>>>> constantly changed by manolo
 import javax.mail.BodyPart;
 import javax.mail.Message;
 
@@ -94,12 +98,17 @@ public class MessageUtilsTest extends Hu
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
     
     @Test public void getRecipients () throws Exception  {
 =======
     
     public void testGetRecipients () throws Exception  {
 >>>>>>> constantly changed by manolo
+=======
+    
+    public void testGetRecipients () throws Exception  {
+>>>>>>> constantly changed by manolo
         String encodedEmail = "=?ISO-8859-1?Q?Manolo_Pe=F1a?= <he...@hupa.org>";
         String decodedEmail = MessageUtils.decodeText(encodedEmail);
         assertFalse(encodedEmail.equals(decodedEmail));
@@ -108,10 +117,13 @@ public class MessageUtilsTest extends Hu
         assertEquals(addr[0].toString(), addr[1].toString());
     }
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 >>>>>>> first commit
 =======
 >>>>>>> constantly changed by manolo
 =======
 >>>>>>> first commit
+=======
+>>>>>>> constantly changed by manolo
 }
\ No newline at end of file

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ContactsResult.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ContactsResult.java?rev=1522138&r1=1522137&r2=1522138&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ContactsResult.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ContactsResult.java Thu Sep 12 02:45:52 2013
@@ -159,6 +159,7 @@ public class ContactsResult implements R
 
 		public Contact(String address) {
 <<<<<<< HEAD
+<<<<<<< HEAD
 			mail = address.replaceAll("^.*<([^>]+)>\\s*$", "$1");
 
 			realname = mail.equals(address) ? mail : address
@@ -177,6 +178,18 @@ public class ContactsResult implements R
 			        .replaceAll("^[\\s\"']+", "")
 			        .replaceAll("[\\s\"']+$", "");
 >>>>>>> constant changed by manolo
+=======
+			mail = address.replaceAll("^.*<([^>]+)>\\s*$", "$1");
+
+			realname = mail.equals(address) ? mail : address
+			        // remove the email part
+			        .replaceAll("<[^<>]+>\\s*$", "")
+			        // remove start symbols in the name
+			        .replaceAll("^[\\s\"'<]+", "")
+			        // remove end symbols in the name
+			        .replaceAll("[\\s\"'>]+$", "")
+			        ;
+>>>>>>> constantly changed by manolo
 
 			if (realname.isEmpty())
 				realname = mail;



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org