psmith 2003/06/24 15:32:52
Modified: src/java/org/apache/log4j/chainsaw EventContainer.java
ChainsawCyclicBufferTableModel.java
Log:
Modifications to allow detection of when a Cyclic style buffer is being
used.
Revision Changes Path
1.8 +6 -0
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/EventContainer.java
Index: EventContainer.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/EventContainer.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- EventContainer.java 17 Jun 2003 20:06:50 -0000 1.7
+++ EventContainer.java 24 Jun 2003 22:32:52 -0000 1.8
@@ -74,6 +74,12 @@
void clearModel();
/**
+ * Returns true if this model is Cyclic (bounded) or not
+ * @return true/false
+ */
+ public boolean isCyclic();
+
+ /**
* Locates a row number, starting from startRow, containing the text
* within any column
* @param startRow
1.17 +24 -2
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
Index: ChainsawCyclicBufferTableModel.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- ChainsawCyclicBufferTableModel.java 16 Jun 2003 07:24:40 -0000 1.16
+++ ChainsawCyclicBufferTableModel.java 24 Jun 2003 22:32:52 -0000 1.17
@@ -86,6 +86,8 @@
*/
class ChainsawCyclicBufferTableModel extends AbstractTableModel
implements EventContainer {
+ private boolean cyclic;
+ private final int INITIAL_CAPACITY = 1024;
final List unfilteredList;
final List filteredList;
private static final DateFormat DATE_FORMATTER =
@@ -104,12 +106,13 @@
int uniqueRow;
public ChainsawCyclicBufferTableModel(boolean isCyclic, int bufferSize) {
+ this.cyclic = isCyclic;
if (isCyclic) {
unfilteredList = new CyclicBufferList(bufferSize);
filteredList = new CyclicBufferList(bufferSize);
} else {
- unfilteredList = new ArrayList();
- filteredList = new ArrayList();
+ unfilteredList = new ArrayList(INITIAL_CAPACITY);
+ filteredList = new ArrayList(INITIAL_CAPACITY);
}
}
@@ -618,4 +621,23 @@
notifyCountListeners();
}
}
+ /**
+ * Returns true if this model is Cyclic (bounded) or not
+ * @return true/false
+ */
+ public boolean isCyclic() {
+ return cyclic;
+ }
+
+ /**
+ * @return
+ */
+ protected int getMaxSize() {
+ if(!isCyclic()){
+ throw new IllegalStateException("You cannot call getMaxSize() when the model
is not cyclic");
+ }
+ return ((CyclicBufferList)unfilteredList).getMaxSize();
+ }
+
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]