1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir package stats; 29*cdf0e10cSrcweir 30*cdf0e10cSrcweir import share.LogWriter; 31*cdf0e10cSrcweir import java.io.File; 32*cdf0e10cSrcweir import java.io.FileWriter; 33*cdf0e10cSrcweir 34*cdf0e10cSrcweir public class SimpleFileOutProducer implements LogWriter { 35*cdf0e10cSrcweir 36*cdf0e10cSrcweir 37*cdf0e10cSrcweir /** initialization, here a filename might be given 38*cdf0e10cSrcweir * or a dbUrL 39*cdf0e10cSrcweir */ 40*cdf0e10cSrcweir public boolean initialize(share.DescEntry entry, boolean active) { 41*cdf0e10cSrcweir return true; 42*cdf0e10cSrcweir } 43*cdf0e10cSrcweir 44*cdf0e10cSrcweir /** Method to print 45*cdf0e10cSrcweir */ 46*cdf0e10cSrcweir public void println(String msg) { 47*cdf0e10cSrcweir 48*cdf0e10cSrcweir } 49*cdf0e10cSrcweir 50*cdf0e10cSrcweir /** will mostly be used by outproducers to sum up 51*cdf0e10cSrcweir * the information, maybe write them to a db 52*cdf0e10cSrcweir */ 53*cdf0e10cSrcweir public boolean summary(share.DescEntry entry) { 54*cdf0e10cSrcweir try { 55*cdf0e10cSrcweir String outpath = (String) entry.UserDefinedParams.get("OutputPath"); 56*cdf0e10cSrcweir if (outpath==null) { 57*cdf0e10cSrcweir System.out.println("## Parameter OutputPath isn't defined using default"); 58*cdf0e10cSrcweir return summary_default(entry); 59*cdf0e10cSrcweir } 60*cdf0e10cSrcweir String FileName = entry.longName + ".out"; 61*cdf0e10cSrcweir if (!entry.EntryType.equals("component")) { 62*cdf0e10cSrcweir FileName = entry.longName.substring(0, 63*cdf0e10cSrcweir entry.longName.indexOf(":")) + ".out"; 64*cdf0e10cSrcweir } 65*cdf0e10cSrcweir util.utils.make_Directories("",outpath); 66*cdf0e10cSrcweir File outputFile = new File(outpath, FileName); 67*cdf0e10cSrcweir FileWriter out = new FileWriter(outputFile.toString(),true); 68*cdf0e10cSrcweir String ls = System.getProperty("line.separator"); 69*cdf0e10cSrcweir String date = new java.util.Date().toString(); 70*cdf0e10cSrcweir String header = "***** State for "+entry.longName+"( "+ date +" ) ******"; 71*cdf0e10cSrcweir out.write(header+ls); 72*cdf0e10cSrcweir if (entry.hasErrorMsg) { 73*cdf0e10cSrcweir out.write(entry.ErrorMsg+ls); 74*cdf0e10cSrcweir out.write("Whole "+entry.EntryType+": "+entry.State+ls); 75*cdf0e10cSrcweir } else { 76*cdf0e10cSrcweir out.write("Whole "+entry.EntryType+": "+entry.State+ls); 77*cdf0e10cSrcweir } 78*cdf0e10cSrcweir String bottom=""; 79*cdf0e10cSrcweir for (int i=0;i<header.length();i++) { 80*cdf0e10cSrcweir bottom += "*"; 81*cdf0e10cSrcweir } 82*cdf0e10cSrcweir out.write(bottom+ls); 83*cdf0e10cSrcweir out.write(""+ls); 84*cdf0e10cSrcweir out.close(); 85*cdf0e10cSrcweir } catch (java.io.IOException e) { 86*cdf0e10cSrcweir 87*cdf0e10cSrcweir } 88*cdf0e10cSrcweir return true; 89*cdf0e10cSrcweir } 90*cdf0e10cSrcweir 91*cdf0e10cSrcweir public boolean summary_default(share.DescEntry entry) { 92*cdf0e10cSrcweir String header = "***** State for "+entry.longName+" ******"; 93*cdf0e10cSrcweir System.out.println(header); 94*cdf0e10cSrcweir if (entry.hasErrorMsg) { 95*cdf0e10cSrcweir System.out.println(entry.ErrorMsg); 96*cdf0e10cSrcweir System.out.println("Whole "+entry.EntryType+": "+entry.State); 97*cdf0e10cSrcweir } else { 98*cdf0e10cSrcweir System.out.println("Whole "+entry.EntryType+": "+entry.State); 99*cdf0e10cSrcweir } 100*cdf0e10cSrcweir for (int i=0;i<header.length();i++) { 101*cdf0e10cSrcweir System.out.print("*"); 102*cdf0e10cSrcweir } 103*cdf0e10cSrcweir System.out.println(""); 104*cdf0e10cSrcweir return true; 105*cdf0e10cSrcweir } 106*cdf0e10cSrcweir 107*cdf0e10cSrcweir public Object getWatcher() { 108*cdf0e10cSrcweir return null; 109*cdf0e10cSrcweir } 110*cdf0e10cSrcweir 111*cdf0e10cSrcweir public void setWatcher(Object watcher) { 112*cdf0e10cSrcweir } 113*cdf0e10cSrcweir 114*cdf0e10cSrcweir } 115