summaryrefslogtreecommitdiff
path: root/l10ntools/java/l10nconv/java/com/sun/star/tooling/converter/OutputHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'l10ntools/java/l10nconv/java/com/sun/star/tooling/converter/OutputHandler.java')
-rwxr-xr-xl10ntools/java/l10nconv/java/com/sun/star/tooling/converter/OutputHandler.java228
1 files changed, 228 insertions, 0 deletions
diff --git a/l10ntools/java/l10nconv/java/com/sun/star/tooling/converter/OutputHandler.java b/l10ntools/java/l10nconv/java/com/sun/star/tooling/converter/OutputHandler.java
new file mode 100755
index 000000000000..997c05a70b4f
--- /dev/null
+++ b/l10ntools/java/l10nconv/java/com/sun/star/tooling/converter/OutputHandler.java
@@ -0,0 +1,228 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: OutputHandler.java,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+/*
+ * Creates logfile and file for debug information
+ *
+ */
+package com.sun.star.tooling.converter;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+
+/**
+ * Handle the whole output during converting process except the converted files.
+ * Write output to logfiles and to screen depending on switches given
+ * at command line.
+ * @author Christian Schmidt 2005
+ *
+ */
+public class OutputHandler {
+
+ private static final String EMPTY = "";
+
+ /**
+ * The logfile to write
+ */
+ public static BufferedWriter logFile;
+
+ /**
+ * Indicates whether excisting files should be overwritten
+ */
+ public static boolean doLog = false;
+
+ /**
+ * Indicate whether the debug information should be written
+ */
+ public static boolean doDebug = false;
+
+ /**
+ * The File to write the debug information to
+ */
+ public static BufferedWriter dbgFile;
+
+ /**
+ * Write the data to screen and if the switches were set to
+ * logfile and debugfile
+ *
+ * @param out the String to write
+ */
+ final static void out(String out) {
+ try {
+ if (doDebug)
+ OutputHandler.dbg(out);
+
+ if (!doLog || logFile == null) {
+ System.out.println(out);
+ } else {
+ System.out.println(out);
+ if (EMPTY.equals(out)) {
+ OutputHandler.log(EMPTY);
+ } else {
+ OutputHandler.log(out);
+ }
+ }
+ } catch (IOException e) {
+
+ OutputHandler.log(e.toString());
+ }
+ }
+
+ /**
+ * make a dot on the screen to show the user that it is going on
+ */
+ final static void printDot() {
+ System.out.print(".");
+
+ }
+
+ /**
+ * write the data to log file and if the switch is set
+ * to the debug file
+ *
+ * @param out the String to write
+ */
+ final static void log(String out) {
+ try {
+ if(out==null) return;
+ if (doDebug)
+
+ OutputHandler.dbg(out);
+
+ if (doLog) {
+ if (!EMPTY.equals(out)) {
+ logFile.write(out);
+ }
+ logFile.newLine();
+ logFile.flush();
+ }
+ } catch (IOException e) {
+
+ System.out.println(e.getMessage());
+ }
+ }
+
+ /**
+ * write the string to the debug file
+ *
+ * @param out the String to write
+ * @throws IOException
+ */
+ final static void dbg(String out) throws IOException {
+ if(out==null) return;
+ if (doDebug) {
+ if (!EMPTY.equals(out)) {
+ dbgFile.write(out);
+
+ }
+ dbgFile.newLine();
+ dbgFile.flush();
+ }
+ }
+
+ /**
+ * Set a new value to indicate whether a debug file should be written or not
+ *
+ * @param doDebug
+ * The debug value to set.
+ */
+ private static void setDebug(boolean doDebug) {
+ OutputHandler.doDebug = doDebug;
+ }
+
+ // /**
+ // * @return Returns the doDebug.
+ // */
+ // private static boolean isDebug() {
+ // return doDebug;
+ // }
+
+ /**
+ * Set the debug file to write to.
+ *
+ * @param dbgFile
+ * The debug File to use.
+ */
+ private static void setDbgFile(BufferedWriter dbgFile) {
+ OutputHandler.dbgFile = dbgFile;
+ }
+
+ /**
+ * @return Returns the debug File.
+ */
+ private static BufferedWriter getDbgFile() {
+ return dbgFile;
+ }
+
+ /**
+ * @param doLog
+ * The log value to set.
+ */
+ private static void setLog(boolean doLog) {
+ OutputHandler.doLog = doLog;
+ }
+
+ /**
+ * @return Returns the log value.
+ */
+ private static boolean isLog() {
+ return doLog;
+ }
+
+ /**
+ * @param logFile
+ * The logFile to set.
+ */
+ private static void setLogFile(BufferedWriter logFile) {
+ OutputHandler.logFile = logFile;
+ }
+
+ /**
+ * @return Returns the logFile.
+ */
+ private static BufferedWriter getLogFile() {
+ return logFile;
+ }
+
+ /**
+ * @throws IOException
+ * close log and dbg
+ */
+ public static void closeAll() throws IOException {
+ if (OutputHandler.logFile != null) {
+ OutputHandler.logFile.flush();
+ OutputHandler.logFile.close();
+ }
+ if (OutputHandler.dbgFile != null) {
+ OutputHandler.dbgFile.flush();
+ OutputHandler.dbgFile.close();
+ }
+ }
+
+} \ No newline at end of file