KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > opencms > workplace > CmsAdminLogFileViewer


1 /*
2 * File : $Source: /usr/local/cvs/opencms/src-modules/com/opencms/workplace/CmsAdminLogFileViewer.java,v $
3 * Date : $Date: 2005/06/27 23:22:07 $
4 * Version: $Revision: 1.2 $
5 *
6 * This library is part of OpenCms -
7 * the Open Source Content Mananagement System
8 *
9 * Copyright (C) 2001 The OpenCms Group
10 *
11 * This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU Lesser General Public
13 * License as published by the Free Software Foundation; either
14 * version 2.1 of the License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * Lesser General Public License for more details.
20 *
21 * For further information about OpenCms, please see the
22 * OpenCms Website: http://www.opencms.org
23 *
24 * You should have received a copy of the GNU Lesser General Public
25 * License along with this library; if not, write to the Free Software
26 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 */

28
29 package com.opencms.workplace;
30
31 import org.opencms.file.CmsObject;
32 import org.opencms.i18n.CmsEncoder;
33 import org.opencms.main.CmsException;
34 import org.opencms.main.OpenCms;
35
36 import com.opencms.template.CmsXmlTemplateFile;
37
38 import java.io.File JavaDoc;
39 import java.io.FileReader JavaDoc;
40 import java.io.LineNumberReader JavaDoc;
41 import java.util.Hashtable JavaDoc;
42
43 /**
44  * Template class for displaying OpenCms workplace administration synchronisation properties.
45  *
46  * Creation date: ()
47  * @author Edna Falkenhan
48  *
49  * @deprecated Will not be supported past the OpenCms 6 release.
50  */

51 public class CmsAdminLogFileViewer extends CmsWorkplaceDefault {
52
53     /**
54      * Gets the content of a defined section in a given template file and its subtemplates
55      * with the given parameters.
56      *
57      * @see #getContent(CmsObject, String, String, Hashtable, String)
58      * @param cms CmsObject Object for accessing system resources.
59      * @param templateFile Filename of the template file.
60      * @param elementName Element name of this template in our parent template.
61      * @param parameters Hashtable with all template class parameters.
62      * @param templateSelector template section that should be processed.
63      */

64     public byte[] getContent(CmsObject cms, String JavaDoc templateFile, String JavaDoc elementName, Hashtable JavaDoc parameters, String JavaDoc templateSelector) throws CmsException {
65
66         CmsXmlTemplateFile templateDocument = getOwnTemplateFile(cms, templateFile, elementName, parameters, templateSelector);
67         long length = 0;
68         long toSkip;
69
70         if("ok".equalsIgnoreCase((String JavaDoc)parameters.get("step"))){
71             templateSelector = "done";
72         } else {
73             StringBuffer JavaDoc logfilecontent = new StringBuffer JavaDoc();
74             String JavaDoc logfilename = OpenCms.getSystemInfo().getLogFileRfsPath();
75             try {
76                 File file = new File(logfilename);
77                 length = file.length();
78                 toSkip = length - 10000;
79                 FileReader JavaDoc reader = new FileReader JavaDoc(file);
80                 LineNumberReader JavaDoc lnr = new LineNumberReader JavaDoc(reader);
81                 if(toSkip > 0) {
82                     lnr.skip(toSkip);
83                     lnr.readLine();
84                 }
85                 String JavaDoc line = lnr.readLine();
86                 while(line != null) {
87                     logfilecontent.append(line + "\n");
88                     line = lnr.readLine();
89                 }
90             } catch(Exception JavaDoc exc) {
91                 logfilecontent.append(CmsException.getStackTraceAsString(exc));
92             }
93             templateDocument.setData("logfile", CmsEncoder.escapeWBlanks(logfilecontent.toString(),
94                 cms.getRequestContext().getEncoding()));
95             templateDocument.setData("logfilesize", length + "");
96         }
97         // Now load the template file and start the processing
98
return startProcessing(cms, templateDocument, elementName, parameters, templateSelector);
99     }
100 }
Popular Tags