diff --git a/src/main/java/com/rackspace/cloud/api/docs/WebHelpMojo.java b/src/main/java/com/rackspace/cloud/api/docs/WebHelpMojo.java index 0458bcd..cc0d928 100644 --- a/src/main/java/com/rackspace/cloud/api/docs/WebHelpMojo.java +++ b/src/main/java/com/rackspace/cloud/api/docs/WebHelpMojo.java @@ -94,6 +94,14 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo { */ private String includeDateInPdfFilename; + /** + * Base for the pdf file name. By default this is the + * base of the input xml file. + * + * @parameter expression="${generate-webhelp.pdfFilenameBase}" + */ + private String pdfFilenameBase; + /** * Controls whether output is colorized based on revisionflag attributes. * @@ -452,7 +460,10 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo { } transformer.setParameter("webhelp.war", webhelpWar); - transformer.setParameter("includeDateInPdfFilename", includeDateInPdfFilename); + if(null != includeDateInPdfFilename){ + transformer.setParameter("includeDateInPdfFilename", includeDateInPdfFilename); + } + transformer.setParameter("pdfFilenameBase", pdfFilenameBase); transformer.setParameter("publicationNotificationEmails", publicationNotificationEmails); @@ -677,6 +688,7 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo { map.put("webhelp.war", webhelpWar); map.put("publicationNotificationEmails", publicationNotificationEmails); map.put("includeDateInPdfFilename", includeDateInPdfFilename); + map.put("pdfFilenameBase", pdfFilenameBase); map.put("groupId", docProject.getGroupId()); map.put("artifactId", docProject.getArtifactId()); map.put("docProjectVersion", docProject.getVersion()); @@ -769,6 +781,7 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo { pdfBuilder.setCoverLogoLeft(coverLogoLeft); pdfBuilder.setCoverLogoTop(coverLogoTop); pdfBuilder.setCoverUrl(coverUrl); + pdfBuilder.setPdfFilenameBase(pdfFilenameBase); pdfBuilder.setBranding(branding); pdfBuilder.setSecurity(security); diff --git a/src/main/java/com/rackspace/cloud/api/docs/builders/PDFBuilder.java b/src/main/java/com/rackspace/cloud/api/docs/builders/PDFBuilder.java index 30e4bd9..d7d1502 100644 --- a/src/main/java/com/rackspace/cloud/api/docs/builders/PDFBuilder.java +++ b/src/main/java/com/rackspace/cloud/api/docs/builders/PDFBuilder.java @@ -122,6 +122,7 @@ public class PDFBuilder { private String statusBarText; private String trimWadlUriCount; private String computeWadlPathFromDocbookPath; + private String pdfFilenameBase; /** * The location of the stylesheet customization. @@ -194,8 +195,14 @@ public class PDFBuilder { final String inputFilename = included[i]; //final String inputFilename = sourceFilePath; - // targetFilename is inputFilename - ".xml" + targetFile extension - String baseTargetFile = inputFilename.substring(0, inputFilename.length() - 4); + // targetFilename is inputFilename - ".xml" + targetFile extension + String baseTargetFile; + if(null != pdfFilenameBase && pdfFilenameBase != ""){ + baseTargetFile = pdfFilenameBase; + } else { + baseTargetFile = inputFilename.substring(0, inputFilename.length() - 4); + } + final String targetFilename = baseTargetFile + ".fo"; final File sourceFile = new File(sourceDirectory+"/"+inputFilename); @@ -412,7 +419,8 @@ public class PDFBuilder { transformer.setParameter("source.directory",sourceDirectory); transformer.setParameter("compute.wadl.path.from.docbook.path",computeWadlPathFromDocbookPath); - + transformer.setParameter("pdfFilenameBase",pdfFilenameBase) +; transformer.setParameter ("admon.graphics.path", imageDirectory.getAbsolutePath()+File.separator); transformer.setParameter ("callout.graphics.path", calloutDirectory.getAbsolutePath()+File.separator); @@ -710,6 +718,16 @@ public class PDFBuilder { this.computeWadlPathFromDocbookPath = computeWadlPathFromDocbookPath; } + public String getPdfFilenameBase() { + return pdfFilenameBase; + } + + public void setPdfFilenameBase( + String pdfFilenameBase) { + this.pdfFilenameBase = pdfFilenameBase; + } + + public List getEntities() { return entities; } diff --git a/src/main/resources/cloud/webhelp/bookinfo.xsl b/src/main/resources/cloud/webhelp/bookinfo.xsl index 1d77dc5..c2527e8 100644 --- a/src/main/resources/cloud/webhelp/bookinfo.xsl +++ b/src/main/resources/cloud/webhelp/bookinfo.xsl @@ -19,6 +19,7 @@ external rackspace + 0 @@ -27,6 +28,14 @@ + + + + + + + + @@ -45,9 +54,9 @@ href="{$base.dir}/bookinfo.xml" method="xml" indent="yes" encoding="UTF-8"> - - -latest.pdf.pdf - + -latest.pdf + +