浏览代码

Refactoring command line creation and path definition

jhonnymertz 9 年之前
父节点
当前提交
df3287d6d0

+ 7 - 0
pom.xml

@@ -19,6 +19,13 @@
             <version>1.8.9</version>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>3.4</version>
+        </dependency>
+
+
     </dependencies>
 
 </project>

+ 7 - 24
src/main/java/br/eti/mertz/wkhtmltopdf/wrapper/Pdf.java

@@ -8,6 +8,7 @@ import java.util.List;
 import br.eti.mertz.wkhtmltopdf.wrapper.configurations.WrapperConfig;
 import br.eti.mertz.wkhtmltopdf.wrapper.configurations.WrapperConfigBuilder;
 import br.eti.mertz.wkhtmltopdf.wrapper.params.Param;
+import org.apache.commons.lang3.StringUtils;
 
 public class Pdf implements PdfService {
 
@@ -15,28 +16,18 @@ public class Pdf implements PdfService {
 
     private WrapperConfig wrapperConfig;
 
-    private String path;
     private List<Param> params;
 
 	private String htmlInput = null;
     private boolean htmlFromString = false;
 
-	public Pdf(WrapperConfig wrapperConfig, String path, List<Param> params) {
+	public Pdf(WrapperConfig wrapperConfig) {
         this.wrapperConfig = wrapperConfig;
-        this.params = params;
-        this.path = path;
+        this.params = new ArrayList<Param>();
 	}
 
-	public Pdf(String path, List<Param> params) {
-		this(new WrapperConfigBuilder().build(), path, params);
-	}
-
-	public Pdf(String path, Param... params) {
-		this(new WrapperConfigBuilder().build(), path, Arrays.asList(params));
-	}
-
-	public Pdf(String path) {
-		this(new WrapperConfigBuilder().build(), path, new ArrayList<Param>());
+	public Pdf() {
+		this(new WrapperConfigBuilder().build());
 	}
 
     public void addHtmlInput(String input) {
@@ -123,20 +114,12 @@ public class Pdf implements PdfService {
                 commandLine.add(p.getValue());
             }
         }
-        commandLine.add(path);
+        commandLine.add(STDOUT);
         return commandLine.toArray(new String[commandLine.size()]);
     }
 
     public String getCommand(){
-        return Arrays.toString(getCommandAsArray());
-    }
-
-    public String getPath() {
-        return path;
-    }
-
-    public void setPath(String path) {
-        this.path = path;
+        return StringUtils.join(getCommandAsArray(), " ");
     }
 
 }

+ 3 - 1
src/tests/java/br/eti/mertz/wkhtmltopdf/wrapper/PdfTest.java

@@ -1,5 +1,7 @@
 package br.eti.mertz.wkhtmltopdf.wrapper;
 
+import br.eti.mertz.wkhtmltopdf.wrapper.configurations.WrapperConfig;
+import br.eti.mertz.wkhtmltopdf.wrapper.configurations.WrapperConfigBuilder;
 import br.eti.mertz.wkhtmltopdf.wrapper.params.Param;
 import org.apache.pdfbox.pdfparser.PDFParser;
 import org.apache.pdfbox.pdmodel.PDDocument;
@@ -17,7 +19,7 @@ public class PdfTest {
     public void testCommand() throws Exception {
         Pdf pdf = new Pdf();
         pdf.addParam(new Param("--enable-javascript"), new Param("--html-header", "file:///example.html"));
-        Assert.assertThat("command params should contain the --enable-javascript and --html-header", pdf.commandParameters(), containsString("wkhtmltopdf --enable-javascript --html-header file:///example.html"));
+        Assert.assertThat("command params should contain the --enable-javascript and --html-header", pdf.getCommand(), containsString("wkhtmltopdf --enable-javascript --html-header file:///example.html"));
     }
 
     @Test