Author: ningjiang
Date: Tue Jan 11 07:42:52 2011
New Revision: 1057509
URL: http://svn.apache.org/viewvc?rev=1057509&view=rev
Log:
CAMEL-3525 Use static version of manual for builds
Modified:
camel/trunk/tooling/camel-manual/pom.xml
camel/trunk/tooling/maven/maven-html-to-pdf/src/main/java/org/apache/camel/maven/HtmlToPdfMojo.java
Modified: camel/trunk/tooling/camel-manual/pom.xml
URL:
http://svn.apache.org/viewvc/camel/trunk/tooling/camel-manual/pom.xml?rev=1057509&r1=1057508&r2=1057509&view=diff
==============================================================================
--- camel/trunk/tooling/camel-manual/pom.xml (original)
+++ camel/trunk/tooling/camel-manual/pom.xml Tue Jan 11 07:42:52 2011
@@ -56,7 +56,8 @@
</execution>
</executions>
<configuration>
-
<page>https://cwiki.apache.org/confluence/display/CAMEL/Book+In+One+Page</page>
+ <page>http://camel.apache.org/book-in-one-page.html</page>
+ <contentDivClass>wiki-content maincontent</contentDivClass>
<head><![CDATA[
<link href="file:${basedir}/src/styles/print.css"
rel="stylesheet" type="text/css" />
<style type="text/css">
Modified:
camel/trunk/tooling/maven/maven-html-to-pdf/src/main/java/org/apache/camel/maven/HtmlToPdfMojo.java
URL:
http://svn.apache.org/viewvc/camel/trunk/tooling/maven/maven-html-to-pdf/src/main/java/org/apache/camel/maven/HtmlToPdfMojo.java?rev=1057509&r1=1057508&r2=1057509&view=diff
==============================================================================
---
camel/trunk/tooling/maven/maven-html-to-pdf/src/main/java/org/apache/camel/maven/HtmlToPdfMojo.java
(original)
+++
camel/trunk/tooling/maven/maven-html-to-pdf/src/main/java/org/apache/camel/maven/HtmlToPdfMojo.java
Tue Jan 11 07:42:52 2011
@@ -25,6 +25,14 @@ import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+import org.apache.camel.converter.jaxp.XmlConverter;
import org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
@@ -278,7 +286,6 @@ public class HtmlToPdfMojo extends Abstr
private String downloadContent() throws MalformedURLException,
MojoExecutionException {
String contentTag = "<div class=\"" + contentDivClass + "\"";
- String content = "";
getLog().info("Downloading: " + page);
URL url = new URL(page);
@@ -286,7 +293,12 @@ public class HtmlToPdfMojo extends Abstr
try {
TidyMarkupDataFormat dataFormat = new TidyMarkupDataFormat();
dataFormat.setMethod("html");
- content = dataFormat.asStringTidyMarkup(new
BufferedInputStream(url.openStream()));
+ Node doc = dataFormat.asNodeTidyMarkup(new
BufferedInputStream(url.openStream()));
+ XPath xpath = XPathFactory.newInstance().newXPath();
+ Node nd = (Node)xpath.evaluate("//d...@class='" + contentDivClass
+ "']", doc, XPathConstants.NODE);
+ if (nd != null) {
+ return new XmlConverter().toString(nd, null);
+ }
} catch (Throwable e) {
if (errorOnDownloadFailure) {
throw new MojoExecutionException("Download or validation of '"
+ page + "' failed: " + e);
@@ -294,18 +306,7 @@ public class HtmlToPdfMojo extends Abstr
getLog().error("Download or validation of '" + page + "'
failed: " + e);
return null;
}
- }
-
- int contentStart = content.indexOf(contentTag);
- if (contentStart > 0) {
- int contentEnd = content.indexOf(contentTag, contentStart + 1);
- if (contentEnd > 0) {
- return content.substring(contentStart, contentEnd);
- } else {
- return content.substring(contentStart);
- }
- }
-
+ }
throw new MojoExecutionException("The '" + page + "' page did not have
a " + contentTag + " element.");
}