1*ef39d40dSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*ef39d40dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*ef39d40dSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*ef39d40dSAndrew Rist * distributed with this work for additional information 6*ef39d40dSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*ef39d40dSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*ef39d40dSAndrew Rist * "License"); you may not use this file except in compliance 9*ef39d40dSAndrew Rist * with the License. You may obtain a copy of the License at 10*ef39d40dSAndrew Rist * 11*ef39d40dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*ef39d40dSAndrew Rist * 13*ef39d40dSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*ef39d40dSAndrew Rist * software distributed under the License is distributed on an 15*ef39d40dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*ef39d40dSAndrew Rist * KIND, either express or implied. See the License for the 17*ef39d40dSAndrew Rist * specific language governing permissions and limitations 18*ef39d40dSAndrew Rist * under the License. 19*ef39d40dSAndrew Rist * 20*ef39d40dSAndrew Rist *************************************************************/ 21*ef39d40dSAndrew Rist 22*ef39d40dSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir package stats; 25cdf0e10cSrcweir 26cdf0e10cSrcweir import share.LogWriter; 27cdf0e10cSrcweir import java.io.File; 28cdf0e10cSrcweir import java.io.FileWriter; 29cdf0e10cSrcweir 30cdf0e10cSrcweir public class SimpleFileOutProducer implements LogWriter { 31cdf0e10cSrcweir 32cdf0e10cSrcweir 33cdf0e10cSrcweir /** initialization, here a filename might be given 34cdf0e10cSrcweir * or a dbUrL 35cdf0e10cSrcweir */ initialize(share.DescEntry entry, boolean active)36cdf0e10cSrcweir public boolean initialize(share.DescEntry entry, boolean active) { 37cdf0e10cSrcweir return true; 38cdf0e10cSrcweir } 39cdf0e10cSrcweir 40cdf0e10cSrcweir /** Method to print 41cdf0e10cSrcweir */ println(String msg)42cdf0e10cSrcweir public void println(String msg) { 43cdf0e10cSrcweir 44cdf0e10cSrcweir } 45cdf0e10cSrcweir 46cdf0e10cSrcweir /** will mostly be used by outproducers to sum up 47cdf0e10cSrcweir * the information, maybe write them to a db 48cdf0e10cSrcweir */ summary(share.DescEntry entry)49cdf0e10cSrcweir public boolean summary(share.DescEntry entry) { 50cdf0e10cSrcweir try { 51cdf0e10cSrcweir String outpath = (String) entry.UserDefinedParams.get("OutputPath"); 52cdf0e10cSrcweir if (outpath==null) { 53cdf0e10cSrcweir System.out.println("## Parameter OutputPath isn't defined using default"); 54cdf0e10cSrcweir return summary_default(entry); 55cdf0e10cSrcweir } 56cdf0e10cSrcweir String FileName = entry.longName + ".out"; 57cdf0e10cSrcweir if (!entry.EntryType.equals("component")) { 58cdf0e10cSrcweir FileName = entry.longName.substring(0, 59cdf0e10cSrcweir entry.longName.indexOf(":")) + ".out"; 60cdf0e10cSrcweir } 61cdf0e10cSrcweir util.utils.make_Directories("",outpath); 62cdf0e10cSrcweir File outputFile = new File(outpath, FileName); 63cdf0e10cSrcweir FileWriter out = new FileWriter(outputFile.toString(),true); 64cdf0e10cSrcweir String ls = System.getProperty("line.separator"); 65cdf0e10cSrcweir String date = new java.util.Date().toString(); 66cdf0e10cSrcweir String header = "***** State for "+entry.longName+"( "+ date +" ) ******"; 67cdf0e10cSrcweir out.write(header+ls); 68cdf0e10cSrcweir if (entry.hasErrorMsg) { 69cdf0e10cSrcweir out.write(entry.ErrorMsg+ls); 70cdf0e10cSrcweir out.write("Whole "+entry.EntryType+": "+entry.State+ls); 71cdf0e10cSrcweir } else { 72cdf0e10cSrcweir out.write("Whole "+entry.EntryType+": "+entry.State+ls); 73cdf0e10cSrcweir } 74cdf0e10cSrcweir String bottom=""; 75cdf0e10cSrcweir for (int i=0;i<header.length();i++) { 76cdf0e10cSrcweir bottom += "*"; 77cdf0e10cSrcweir } 78cdf0e10cSrcweir out.write(bottom+ls); 79cdf0e10cSrcweir out.write(""+ls); 80cdf0e10cSrcweir out.close(); 81cdf0e10cSrcweir } catch (java.io.IOException e) { 82cdf0e10cSrcweir 83cdf0e10cSrcweir } 84cdf0e10cSrcweir return true; 85cdf0e10cSrcweir } 86cdf0e10cSrcweir summary_default(share.DescEntry entry)87cdf0e10cSrcweir public boolean summary_default(share.DescEntry entry) { 88cdf0e10cSrcweir String header = "***** State for "+entry.longName+" ******"; 89cdf0e10cSrcweir System.out.println(header); 90cdf0e10cSrcweir if (entry.hasErrorMsg) { 91cdf0e10cSrcweir System.out.println(entry.ErrorMsg); 92cdf0e10cSrcweir System.out.println("Whole "+entry.EntryType+": "+entry.State); 93cdf0e10cSrcweir } else { 94cdf0e10cSrcweir System.out.println("Whole "+entry.EntryType+": "+entry.State); 95cdf0e10cSrcweir } 96cdf0e10cSrcweir for (int i=0;i<header.length();i++) { 97cdf0e10cSrcweir System.out.print("*"); 98cdf0e10cSrcweir } 99cdf0e10cSrcweir System.out.println(""); 100cdf0e10cSrcweir return true; 101cdf0e10cSrcweir } 102cdf0e10cSrcweir getWatcher()103cdf0e10cSrcweir public Object getWatcher() { 104cdf0e10cSrcweir return null; 105cdf0e10cSrcweir } 106cdf0e10cSrcweir setWatcher(Object watcher)107cdf0e10cSrcweir public void setWatcher(Object watcher) { 108cdf0e10cSrcweir } 109cdf0e10cSrcweir 110cdf0e10cSrcweir } 111