diff options
Diffstat (limited to 'base/console/src/com/netscape/admin/certsrv/status/LogDataModel.java')
-rw-r--r-- | base/console/src/com/netscape/admin/certsrv/status/LogDataModel.java | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/base/console/src/com/netscape/admin/certsrv/status/LogDataModel.java b/base/console/src/com/netscape/admin/certsrv/status/LogDataModel.java new file mode 100644 index 000000000..61d127524 --- /dev/null +++ b/base/console/src/com/netscape/admin/certsrv/status/LogDataModel.java @@ -0,0 +1,107 @@ +// --- BEGIN COPYRIGHT BLOCK --- +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; version 2 of the License. +// +// This program 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// (C) 2007 Red Hat, Inc. +// All rights reserved. +// --- END COPYRIGHT BLOCK --- +package com.netscape.admin.certsrv.status; + +import java.awt.*; +import java.util.*; +import java.text.*; +import java.io.*; +import java.awt.event.*; +import javax.swing.*; +import com.netscape.admin.certsrv.connection.*; +import com.netscape.admin.certsrv.*; + +/** + * LogDataModel to be displayed at the right hand side + * + * We need the log order in REVERSE. + * + * @author Jack Pan-Chen + * @version $Revision$, $Date$ + * @see com.netscape.admin.certsrv.status + */ +public class LogDataModel extends CMSTableModel + implements IDataProcessor +{ + + /*========================================================== + * variables + *==========================================================*/ + public static String ILOGENTRY = "ILOGENTRY"; + + protected String[] mColumns = {SOURCE, SEVERITY, DATE, TIME, DETAILS}; + protected ILogParser mParser = null; + + /*========================================================== + * constructors + *==========================================================*/ + public LogDataModel() { + super(); + init(mColumns); + } + + public LogDataModel(ILogParser parser) { + this(); + mParser = parser; + } + + /*========================================================== + * public methods + *==========================================================*/ + + /** + * set the log parser + */ + public void setParser(ILogParser parser) { + mParser = parser; + } + + + /** + * Process data called back + */ + public void processData(Object data) { + Vector row; + if (mParser == null) + mParser = new DefaultLogParser(); + try { + row = mParser.parse((String) data); + } catch (ParseException e) { + //Debug.println("LogDataModel: processData()"); + return; + } + addRow(row); + } + + /** + * NEED TO OVERWRITE THE TABLE MODEL ADD FUNCTION + * SINCE WE ARE PROVIDING REVERSE ORDER ENTRIES IN + * LOG FILES + */ + public synchronized void addRow(Vector values) { + int row = 0; + for (int i=0; i < values.size(); i++) { + Vector v = (Vector)_tableColumns.elementAt(i); + v.insertElementAt(values.elementAt(i),0); + if (i == 0) + row = v.size() - 1; + } + fireTableDataChanged(); + } + +} |