View Javadoc

1   package org.catacomb.druid.guimodel;
2   
3   import org.catacomb.interlish.structure.InfoMessage;
4   import org.catacomb.interlish.util.JUtil;
5   import org.catacomb.util.Timestamp;
6   
7   
8   
9   public class LogEntry implements InfoMessage {
10  
11      String timestamp;
12      int severity;
13      String context;
14      String text;
15  
16      String logEntryTemplate;
17      String htmlText;
18  
19  
20  
21      public LogEntry(String s) {
22          this(INFO, "default", s);
23      }
24  
25  
26      public LogEntry(int level, String msg) {
27          this(level, "default", msg);
28      }
29  
30  
31      public LogEntry(int level, String ctx, String msg) {
32          severity = level;
33          context = ctx;
34          text = msg;
35  
36          timestamp = Timestamp.withinSessionTimestamp();
37  
38      }
39  
40  
41  
42      public String getPlainText() {
43          return (timestamp + " " + textLevels[severity] + " " + context + " " + text);
44      }
45  
46  
47  
48      public String getHTML() {
49          if (htmlText == null) {
50              if (logEntryTemplate == null) {
51                  logEntryTemplate = JUtil.getRelativeResource(this, "LogEntryTemplate.txt");
52              }
53              String s = logEntryTemplate.replaceAll("LEVEL", "" + textLevels[severity]);
54              s = s.replaceAll("TIMESTAMP", timestamp);
55              s = s.replaceAll("CONTEXT", context);
56              s = s.replaceAll("TEXT", text);
57  
58              htmlText = s;
59          }
60          return htmlText;
61      }
62  
63  
64      public int getLevel() {
65          return severity;
66      }
67  
68  
69      public String getContext() {
70          return context;
71      }
72  
73  
74      public boolean sameAs(InfoMessage im) {
75          boolean ret = false;
76  
77          if (im instanceof LogEntry) {
78              LogEntry le = (LogEntry)im;
79              if (le.getPlainText().equals(getPlainText())) {
80                  ret = true;
81              }
82          }
83          return ret;
84      }
85  
86  }