Styling update, added dependency dependency to pom, and added resolver class.

This commit is contained in:
Seth
2011-10-27 10:52:10 -05:00
committed by dcramer
parent b49956e0ca
commit 27e4486390
3 changed files with 130 additions and 83 deletions

View File

@@ -125,9 +125,15 @@
<groupId>com.rackspace.cloud.api</groupId>
<artifactId>glossary</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>

View File

@@ -0,0 +1,43 @@
package com.rackspace.cloud.api.docs;
import javax.xml.transform.Source;
import javax.xml.transform.TransformerException;
import javax.xml.transform.URIResolver;
import javax.xml.transform.stream.StreamSource;
import java.io.IOException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* User: sbrayman
* Date: 10/19/11
*/
public class ResourceResolver implements URIResolver {
private URIResolver originalResolver;
private String type;
private String exampleIri = "mvn://com.rackspace.cloud.api:glossary/glossary.xml";
public ResourceResolver(URIResolver original, String type) {
this.originalResolver = original;
this.type = type;
}
public Source resolve(String href, String base) throws TransformerException {
String filePath = exampleIri;
URL url = this.getClass().getResource(filePath);
if (url != null) {
try {
return new StreamSource(url.openStream(), url.toExternalForm());
} catch (IOException ioe) {
throw new TransformerException("Can't resolve glossary link: " + href + "->" + filePath + ". Glossary missing in classpath?", ioe);
}
}
System.err.println("This failed to match. " + href);
return originalResolver.resolve(href, base);
}
}

View File

@@ -19,19 +19,25 @@ import javax.xml.transform.stream.StreamResult;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import java.io.StringReader;
import org.apache.maven.plugin.MojoExecutionException;
import com.agilejava.docbkx.maven.AbstractWebhelpMojo;
import com.agilejava.docbkx.maven.TransformerBuilder;
import javax.xml.transform.URIResolver;
import com.rackspace.cloud.api.docs.DocBookResolver;
import com.agilejava.docbkx.maven.Parameter;
@@ -286,6 +292,8 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo {
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(new StreamSource(classLoader.getResourceAsStream(COPY_XSL)));
atomFeedClean = new File(result.getParentFile(), "atom.xml");
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
dbfactory.setValidating(false);
DocumentBuilder builder = dbfactory.newDocumentBuilder();
@@ -297,7 +305,7 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo {
}
});
atomFeed = new File(result.getParentFile(), "atom-doctype.xml");
Document xmlDocument = builder.parse(atomFeed);
DOMSource source = new DOMSource(xmlDocument);
@@ -305,25 +313,15 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo {
atomFeed.deleteOnExit();
}
catch (TransformerConfigurationException e)
{
} catch (TransformerConfigurationException e) {
throw new MojoExecutionException("Failed to load JAXP configuration", e);
}
catch (javax.xml.parsers.ParserConfigurationException e)
{
} catch (javax.xml.parsers.ParserConfigurationException e) {
throw new MojoExecutionException("Failed to configure parser", e);
}
catch (org.xml.sax.SAXException e)
{
} catch (org.xml.sax.SAXException e) {
throw new MojoExecutionException("Sax exception", e);
}
catch(java.io.IOException e)
{
} catch (java.io.IOException e) {
throw new MojoExecutionException("IO Exception", e);
}
catch (TransformerException e)
{
} catch (TransformerException e) {
throw new MojoExecutionException("Failed to transform to atom feed", e);
}