Update of 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher
In directory 
james.mmbase.org:/tmp/cvs-serv11368/portlets-newsletter/src/java/com/finalist/newsletter/publisher

Modified Files:
        NewsletterGenerator.java 
Log Message:
CMSC-749 build on new MIME mechanism.


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher
See also: http://www.mmbase.org/jira/browse/CMSC-749


Index: NewsletterGenerator.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher/NewsletterGenerator.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- NewsletterGenerator.java    8 May 2008 06:29:58 -0000       1.8
+++ NewsletterGenerator.java    14 May 2008 03:54:41 -0000      1.9
@@ -2,7 +2,11 @@
 
 import org.mmbase.util.logging.Logger;
 import org.mmbase.util.logging.Logging;
+import org.mmbase.bridge.NodeIterator;
 import org.apache.commons.lang.StringUtils;
+import org.htmlparser.Parser;
+import org.htmlparser.visitors.HtmlPage;
+import org.htmlparser.util.ParserException;
 
 import javax.mail.MessagingException;
 import java.io.InputStreamReader;
@@ -47,7 +51,11 @@
 
          inputString = buffer.toString().trim();
 
+         if ("text/plain".equals(mimeType)) {
+            inputString = getContentFromPage(inputString);
+         }
          inputString = calibrateRelativeURL(inputString);
+
          return (inputString);
       } catch (Exception e) {
          log.debug("Error when try to get content from" + urlPath, e);
@@ -56,12 +64,33 @@
       return inputString;
    }
 
+   public static String getContentFromPage(String inputString) {
+      Parser myParser;
+      myParser = Parser.createParser(inputString, "utf-8");
+
+      HtmlPage visitor = new HtmlPage(myParser);
+
+      try {
+         myParser.visitAllNodesWith(visitor);
+      } catch (ParserException e) {
+         e.printStackTrace();
+      }
+
+      inputString =  visitor.getBody().asHtml().trim();
+      inputString = inputString.replaceAll("(?m)^\\s*\r\n+", 
"").replaceAll("(?m)^\\s*\r+", "").replaceAll("(?m)^\\s*\n+", "");
+      inputString = inputString.replaceAll("(?m)\r\n+", 
"").replaceAll("(?m)\r+", "").replaceAll("(?m)\n+", "");
+      inputString = inputString.replaceAll("<br/>", "\r\n");
+
+
+      return inputString;
+   }
+
    private static String calibrateRelativeURL(String inputString) {
 
       String host = NewsletterUtil.getServerURL();
-      inputString =  StringUtils.replace(inputString, "href=\"/", "href=\"" 
+host );
-      inputString =  StringUtils.replace(inputString, "src=\"/", "src=\"" 
+host );
-      inputString =  StringUtils.replace(inputString, "src=\"/", "src=\"" 
+host );
+      inputString = StringUtils.replace(inputString, "href=\"/", "href=\"" + 
host);
+      inputString = StringUtils.replace(inputString, "src=\"/", "src=\"" + 
host);
+      inputString = StringUtils.replace(inputString, "src=\"/", "src=\"" + 
host);
       return inputString;
    }
 }
\ No newline at end of file
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to