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.");
     }
 


Reply via email to