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