gmazza 2003/07/27 13:16:03
Modified: src/java/org/apache/fop/apps CommandLineOptions.java
CommandLineStarter.java Driver.java
src/java/org/apache/fop/render/awt AWTPrintRenderer.java
Removed: src/java/org/apache/fop/apps PrintStarter.java
Log:
PrintStarter simplified and then obsoleted; PrinterJob object that the
AWTPrintRenderer needs is now created within Driver.
Revision Changes Path
1.8 +0 -9 xml-fop/src/java/org/apache/fop/apps/CommandLineOptions.java
Index: CommandLineOptions.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/CommandLineOptions.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- CommandLineOptions.java 27 Jul 2003 16:37:13 -0000 1.7
+++ CommandLineOptions.java 27 Jul 2003 20:16:03 -0000 1.8
@@ -525,15 +525,6 @@
throw new FOPException("AWTStarter could not be loaded.", e);
}
break;
- case PRINT_OUTPUT:
- try {
- starter = new PrintStarter(this);
- } catch (FOPException e) {
- throw e;
- } catch (Exception e) {
- throw new FOPException("PrintStarter could not be loaded.", e);
- }
- break;
default:
starter = new CommandLineStarter(this);
}
1.5 +11 -4 xml-fop/src/java/org/apache/fop/apps/CommandLineStarter.java
Index: CommandLineStarter.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/CommandLineStarter.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- CommandLineStarter.java 27 Jul 2003 16:37:13 -0000 1.4
+++ CommandLineStarter.java 27 Jul 2003 20:16:03 -0000 1.5
@@ -81,6 +81,7 @@
* @exception FOPException if there is an error during processing
*/
public void run() throws FOPException {
+ BufferedOutputStream bos = null;
String version = Version.getVersion();
getLogger().info(version);
Driver driver = new Driver();
@@ -88,17 +89,23 @@
try {
driver.setRenderer(commandLineOptions.getRenderer());
- BufferedOutputStream bos = new BufferedOutputStream(new
FileOutputStream(
- commandLineOptions.getOutputFile()));
+
try {
- driver.setOutputStream(bos);
+ if (commandLineOptions.getOutputFile() != null) {
+ bos = new BufferedOutputStream(new FileOutputStream(
+ commandLineOptions.getOutputFile()));
+ driver.setOutputStream(bos);
+ }
+
if (driver.getRenderer() != null) {
driver.getRenderer().setOptions(
commandLineOptions.getRendererOptions());
}
driver.render(inputHandler);
} finally {
- bos.close();
+ if (bos != null) {
+ bos.close();
+ }
}
System.exit(0);
} catch (Exception e) {
1.11 +21 -3 xml-fop/src/java/org/apache/fop/apps/Driver.java
Index: Driver.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/Driver.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Driver.java 27 Jul 2003 16:37:13 -0000 1.10
+++ Driver.java 27 Jul 2003 20:16:03 -0000 1.11
@@ -50,6 +50,9 @@
*/
package org.apache.fop.apps;
+// Java
+import java.awt.print.PrinterJob;
+
// FOP
import org.apache.fop.fo.ElementMapping;
import org.apache.fop.fo.FOTreeBuilder;
@@ -58,6 +61,7 @@
import org.apache.fop.layoutmgr.LayoutHandler;
import org.apache.fop.mif.MIFHandler;
import org.apache.fop.render.Renderer;
+import org.apache.fop.render.awt.AWTPrintRenderer;
import org.apache.fop.rtf.renderer.RTFHandler;
import org.apache.fop.tools.DocumentInputSource;
import org.apache.fop.tools.DocumentReader;
@@ -407,7 +411,17 @@
case RENDER_AWT:
throw new IllegalArgumentException("Use renderer form of setRenderer()
for AWT");
case RENDER_PRINT:
- throw new IllegalArgumentException("Use renderer form of setRenderer()
for PRINT");
+ // a PrinterJob object is needed to create this renderer
+ PrinterJob pj = PrinterJob.getPrinterJob();
+ int copies = AWTPrintRenderer.getIntProperty("copies", 1);
+ pj.setCopies(copies);
+ if (System.getProperty("dialog") != null) {
+ if (!pj.printDialog()) {
+ throw new IllegalArgumentException("Printing cancelled by
operator");
+ }
+ }
+ setRenderer(new AWTPrintRenderer(pj));
+ break;
case RENDER_PCL:
setRenderer("org.apache.fop.render.pcl.PCLRenderer");
break;
@@ -439,6 +453,7 @@
* @param renderer the renderer instance to use (Note: Logger must be set at
this point)
*/
public void setRenderer(Renderer renderer) {
+ renderer.setProducer(Version.getVersion());
renderer.setUserAgent(getUserAgent());
this.renderer = renderer;
}
@@ -528,8 +543,11 @@
if (!isInitialized()) {
initialize();
}
- validateOutputStream();
-
+
+ if (rendererType != RENDER_PRINT && rendererType != RENDER_AWT) {
+ validateOutputStream();
+ }
+
// TODO: - do this stuff in a better way
// PIJ: I guess the structure handler should be created by the renderer.
if (rendererType == RENDER_MIF) {
1.2 +2 -2 xml-fop/src/java/org/apache/fop/render/awt/AWTPrintRenderer.java
Index: AWTPrintRenderer.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/render/awt/AWTPrintRenderer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AWTPrintRenderer.java 10 Jul 2003 23:49:55 -0000 1.1
+++ AWTPrintRenderer.java 27 Jul 2003 20:16:03 -0000 1.2
@@ -102,7 +102,7 @@
}
}
- private int getIntProperty(String name, int def) {
+ public static int getIntProperty(String name, int def) {
String propValue = System.getProperty(name);
if (propValue != null) {
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]