You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by fo...@locus.apache.org on 2000/01/25 14:51:18 UTC
cvs commit: xml-fop/src/org/apache/fop/apps AWTCommandLine.java CommandLine.java
fotis 00/01/25 05:51:18
Modified: src/org/apache/fop/apps AWTCommandLine.java CommandLine.java
Log:
changes (made by Stanislav Gorkhover):
- previewer is internationalized
- translations included
- support for printing
Revision Changes Path
1.3 +123 -58 xml-fop/src/org/apache/fop/apps/AWTCommandLine.java
Index: AWTCommandLine.java
===================================================================
RCS file: /home/cvs/xml-fop/src/org/apache/fop/apps/AWTCommandLine.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AWTCommandLine.java 1999/12/03 12:27:12 1.2
+++ AWTCommandLine.java 2000/01/25 13:51:17 1.3
@@ -29,11 +29,12 @@
import java.io.PrintWriter;
import java.io.IOException;
import java.io.FileNotFoundException;
+import java.io.FileInputStream;
import java.net.URL;
+import java.util.*;
-
/**
* initialize AWT previewer
*/
@@ -41,34 +42,85 @@
public class AWTCommandLine {
- public AWTCommandLine(AWTRenderer aRenderer) {
+ public static String DEFAULT_TRANSLATION_PATH
+ = "../viewer/resources/resources." +
+ System.getProperty("user.language");
- PreviewDialog frame = new PreviewDialog(aRenderer);
- frame.validate();
- // center window
- Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
- Dimension frameSize = frame.getSize();
- if (frameSize.height > screenSize.height)
- frameSize.height = screenSize.height;
- if (frameSize.width > screenSize.width)
- frameSize.width = screenSize.width;
- frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
- frame.setVisible(true);
+ private Translator resource;
+
+
+
+ public AWTCommandLine(String srcFile, String translationPath) {
+
+ resource = getResourceBundle(translationPath);
+
+ String messPath = new File(translationPath).getAbsoluteFile().getParent();
+ if (!messPath.endsWith(System.getProperty("file.separator")))
+ messPath += System.getProperty("file.separator");
+ messPath += "messages." + System.getProperty("user.language");
+ System.out.println("Set messages resource: " + messPath);
+ UserMessage.setTranslator(getResourceBundle(messPath));
+
+ resource.setMissingEmphasized(false);
+
+ if (!resource.isSourceFound())
+ UserMessage.show("TRANSLATION_SOURCE_NOT_FOUND",
+ new File(translationPath).getAbsolutePath());
+
+ AWTRenderer renderer = new AWTRenderer(resource);
+ PreviewDialog frame = createPreviewDialog(renderer, resource);
+ renderer.setProgressListener(frame);
+
+
+//init parser
+ frame.progress(resource.getString("Init parser") + " ...");
+ Parser parser = createParser();
+
+
+ if (parser == null) {
+ System.err.println("ERROR: Unable to create SAX parser");
+ System.exit(1);
+ }
+
+
+ try {
+ Driver driver = new Driver();
+ driver.setRenderer(renderer);
+
+// init mappings: time
+ frame.progress(resource.getString("Init mappings") + " ...");
+
+ driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");
+ driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");
+
+// build FO tree: time
+ frame.progress(resource.getString("Build FO tree") + " ...");
+ driver.buildFOTree(parser, fileInputSource(srcFile));
+
+// layout FO tree: time
+ frame.progress(resource.getString("Layout FO tree") + " ...");
+ driver.format();
+
+// render: time
+ frame.progress(resource.getString("Render") + " ...");
+ driver.render();
+
+ frame.progress(resource.getString("Show"));
+
+ } catch (Exception e) {
+ System.err.println("FATAL ERROR: " + e.getMessage());
+ e.printStackTrace();
+ System.exit(1);
+ }
}
- /**
- * creates a SAX parser, using the value of org.xml.sax.parser
- * defaulting to org.apache.xerces.parsers.SAXParser
- *
- * @return the created SAX parser
- */
static Parser createParser() {
String parserClassName =
System.getProperty("org.xml.sax.parser");
if (parserClassName == null) {
- parserClassName = "org.apache.xerces.parsers.SAXParser";
+ parserClassName = "com.jclark.xml.sax.Driver";
}
System.err.println("using SAX parser " + parserClassName);
@@ -88,6 +140,26 @@
return null;
}
+
+
+ protected PreviewDialog createPreviewDialog(AWTRenderer renderer, Translator res) {
+ PreviewDialog frame = new PreviewDialog(renderer, res);
+ frame.validate();
+
+ // center window
+ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+ Dimension frameSize = frame.getSize();
+ if (frameSize.height > screenSize.height)
+ frameSize.height = screenSize.height;
+ if (frameSize.width > screenSize.width)
+ frameSize.width = screenSize.width;
+ frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
+ frame.setVisible(true);
+ return frame;
+ }
+
+
+
/**
* create an InputSource from a file name
*
@@ -114,7 +186,18 @@
}
+ private SecureResourceBundle getResourceBundle(String path) {
+ FileInputStream in = null;
+ try {
+ in = new FileInputStream(path);
+ } catch(Exception ex) {
+ System.out.println("Abgefangene Exception: " + ex.getMessage());
+ }
+ return new SecureResourceBundle(in);
+ }
+
+
/* main
*/
public static void main(String[] args) {
@@ -125,52 +208,34 @@
}
String srcPath = null;
+ String translationFile = null;
+ String imageDir = null;
System.err.println(Version.getVersion());
- if (args.length == 1) {
- srcPath = args[0];
- }
- else {
- System.err.println("usage: java " +
- "AWTCommandLine " +
- "formatting-object-file");
-
+ if (args.length < 1 || args.length > 3) {
+ System.err.println("usage: java AWTCommandLine " +
+ "formatting-object-file [translation-file] " +
+ "[image-dir]");
System.exit(1);
}
-
-
- AWTRenderer renderer = new AWTRenderer();
- new AWTCommandLine(renderer);
-
-//init parser
- Parser parser = createParser();
-
- if (parser == null) {
- System.err.println("ERROR: Unable to create SAX parser");
- System.exit(1);
- }
-
- try {
- Driver driver = new Driver();
- driver.setRenderer(renderer);
-
-// init mappings: time
- driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");
- driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");
-// build FO tree: time
- driver.buildFOTree(parser, fileInputSource(srcPath));
+ srcPath = args[0];
+ if (args.length > 1) {
+ translationFile = args[1];
+ }
+ if (args.length > 2) {
+ imageDir = args[2];
+ if (!imageDir.endsWith(System.getProperty("file.separator")))
+ imageDir += System.getProperty("file.separator");
+
+ Command.IMAGE_DIR = imageDir;
+ }
-// layout FO tree: time
- driver.format();
+ if (translationFile == null)
+ translationFile = DEFAULT_TRANSLATION_PATH;
-// render: time
- driver.render();
- } catch (Exception e) {
- System.err.println("FATAL ERROR: " + e.getMessage());
- System.exit(1);
- }
+ new AWTCommandLine(srcPath, translationFile);
} // main
} // AWTCommandLine
1.7 +2 -2 xml-fop/src/org/apache/fop/apps/CommandLine.java
Index: CommandLine.java
===================================================================
RCS file: /home/cvs/xml-fop/src/org/apache/fop/apps/CommandLine.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- CommandLine.java 1999/12/03 12:27:12 1.6
+++ CommandLine.java 2000/01/25 13:51:17 1.7
@@ -1,4 +1,4 @@
-/*-- $Id: CommandLine.java,v 1.6 1999/12/03 12:27:12 fotis Exp $ --
+/*-- $Id: CommandLine.java,v 1.7 2000/01/25 13:51:17 fotis Exp $ --
============================================================================
The Apache Software License, Version 1.1
@@ -69,7 +69,7 @@
* mainline class.
*
* Gets input and output filenames from the command line.
- * Creates a SAX Parser (defaulting to XP).
+ * Creates a SAX Parser (defaulting to Xerces).
*
*/
public class CommandLine {