You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(73) |
Sep
(92) |
Oct
(9) |
Nov
(80) |
Dec
(60) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(92) |
Feb
(52) |
Mar
(71) |
Apr
(64) |
May
(53) |
Jun
(10) |
Jul
(111) |
Aug
(93) |
Sep
(134) |
Oct
|
Nov
|
Dec
|
Update of /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime
In directory usw-pr-cvs1:/tmp/cvs-serv12814
Modified Files:
AllocThreadMethodR.java AllocThreadTraceR.java
AllocTraceR.java AllocTypeMethodR.java
AllocTypeThreadMethodR.java AllocTypeThreadR.java
AllocTypeThreadTraceR.java AllocTypeTraceR.java ClassR.java
CPUThreadMethodR.java CPUThreadTraceR.java CPUTraceR.java
DataR.java ImageR.java MethodR.java MonThreadMethodR.java
MonThreadTraceR.java MonTraceR.java MultiRootDataR.java
ThreadGroupR.java ThreadR.java TypeR.java
Log Message:
created auto-refreshing task where children listeners are registered
Index: AllocThreadMethodR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/AllocThreadMethodR.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** AllocThreadMethodR.java 24 Jul 2002 22:29:03 -0000 1.12
--- AllocThreadMethodR.java 20 Aug 2002 18:59:18 -0000 1.13
***************
*** 79,83 ****
protected EventListenerList listenerList=new EventListenerList();
protected transient AllocStatEvent allocEvent;
- private Map listenersMap=new HashMap(1);
/** Constructs multi-rooted object
--- 79,82 ----
***************
*** 133,136 ****
--- 132,171 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_THREAD_METHOD:
+ refreshAllocTypeThreadMethods();
+ return;
+ case Constants.ALLOC_THREAD_TRACE:
+ refreshAllocThreadTraces();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_THREAD_METHOD:
+ return getAllocTypeThreadMethods();
+ case Constants.ALLOC_THREAD_TRACE:
+ return getAllocThreadTraces();
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {Constants.ALLOC_TYPE_THREAD_METHOD,
+ Constants.ALLOC_THREAD_TRACE};
+ }
+
// ---------- return parents, roots
/** Returns TypeRef root of this object.
***************
*** 220,233 ****
void addAllocTypeThreadMethod(AllocTypeThreadMethodRef o) {
allocTypeThreadMethods.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_METHOD, new Object[]{o}, new int[]{
! allocTypeThreadMethods.size()-1}), listenersMap);
}
void addAllocThreadTrace(AllocThreadTraceRef o) {
allocThreadTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_THREAD_TRACE, new Object[]{o}, new int[]{
! allocThreadTraces.size()-1}), listenersMap);
}
--- 255,268 ----
void addAllocTypeThreadMethod(AllocTypeThreadMethodRef o) {
allocTypeThreadMethods.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_METHOD, new Object[]{o}, new int[]{
! allocTypeThreadMethods.size()-1}));
}
void addAllocThreadTrace(AllocThreadTraceRef o) {
allocThreadTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_THREAD_TRACE, new Object[]{o}, new int[]{
! allocThreadTraces.size()-1}));
}
***************
*** 352,358 ****
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.removeChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_THREAD_METHOD,
! Constants.ALLOC_THREAD_TRACE});
}
--- 387,391 ----
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.globalRemoveChildrenListener(getId(), type, l, getChildTypes());
}
***************
*** 367,373 ****
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.addChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_THREAD_METHOD,
! Constants.ALLOC_THREAD_TRACE});
}
--- 400,404 ----
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.globalAddChildrenListener(getId(), type, l, getChildTypes());
}
Index: AllocThreadTraceR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/AllocThreadTraceR.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** AllocThreadTraceR.java 24 Jul 2002 22:29:03 -0000 1.10
--- AllocThreadTraceR.java 20 Aug 2002 18:59:18 -0000 1.11
***************
*** 77,81 ****
protected EventListenerList listenerList = new EventListenerList();
protected transient AllocStatEvent allocEvent;
- private Map listenersMap=new HashMap(1);
/** Constructs multi-rooted object
--- 77,80 ----
***************
*** 120,123 ****
--- 119,152 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_THREAD_TRACE:
+ refreshAllocTypeThreadTraces();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_THREAD_TRACE:
+ return getAllocTypeThreadTraces();
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {Constants.ALLOC_TYPE_THREAD_TRACE};
+ }
+
// ---------- return parents, roots
***************
*** 211,217 ****
void addAllocTypeThreadTrace(AllocTypeThreadTraceRef o) {
allocTypeThreadTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_TRACE, new Object[]{o}, new int[]{
! allocTypeThreadTraces.size()-1}), listenersMap);
}
--- 240,246 ----
void addAllocTypeThreadTrace(AllocTypeThreadTraceRef o) {
allocTypeThreadTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_TRACE, new Object[]{o}, new int[]{
! allocTypeThreadTraces.size()-1}));
}
***************
*** 350,355 ****
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.removeChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_THREAD_TRACE});
}
--- 379,383 ----
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.globalRemoveChildrenListener(getId(), type, l, getChildTypes());
}
***************
*** 364,369 ****
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.addChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_THREAD_TRACE});
}
--- 392,396 ----
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.globalAddChildrenListener(getId(), type, l, getChildTypes());
}
Index: AllocTraceR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/AllocTraceR.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** AllocTraceR.java 24 Jul 2002 22:29:03 -0000 1.11
--- AllocTraceR.java 20 Aug 2002 18:59:18 -0000 1.12
***************
*** 81,85 ****
protected EventListenerList listenerList = new EventListenerList();
protected transient AllocStatEvent allocEvent;
- private Map listenersMap=new HashMap(1);
/** Constructs new object with info.
--- 81,84 ----
***************
*** 140,143 ****
--- 139,178 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_TRACE:
+ refreshAllocTypeTraces();
+ return;
+ case Constants.ALLOC_THREAD_TRACE:
+ refreshAllocThreadTraces();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_TRACE:
+ return getAllocTypeTraces();
+ case Constants.ALLOC_THREAD_TRACE:
+ return getAllocThreadTraces();
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {Constants.ALLOC_TYPE_TRACE,
+ Constants.ALLOC_THREAD_TRACE};
+ }
+
// image getter method
***************
*** 189,202 ****
void addAllocTypeTrace(AllocTypeTraceRef o) {
allocTypeTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_TRACE, new Object[]{o}, new int[]{
! allocTypeTraces.size()-1}), listenersMap);
}
void addAllocThreadTrace(AllocThreadTraceRef o) {
allocThreadTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_THREAD_TRACE, new Object[]{o}, new int[]{
! allocThreadTraces.size()-1}), listenersMap);
}
--- 224,237 ----
void addAllocTypeTrace(AllocTypeTraceRef o) {
allocTypeTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_TRACE, new Object[]{o}, new int[]{
! allocTypeTraces.size()-1}));
}
void addAllocThreadTrace(AllocThreadTraceRef o) {
allocThreadTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_THREAD_TRACE, new Object[]{o}, new int[]{
! allocThreadTraces.size()-1}));
}
***************
*** 353,359 ****
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.removeChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_TRACE,
! Constants.ALLOC_THREAD_TRACE});
}
--- 388,392 ----
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.globalRemoveChildrenListener(getId(), type, l, getChildTypes());
}
***************
*** 368,374 ****
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.addChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_TRACE,
! Constants.ALLOC_THREAD_TRACE});
}
--- 401,405 ----
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.globalAddChildrenListener(getId(), type, l, getChildTypes());
}
Index: AllocTypeMethodR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/AllocTypeMethodR.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** AllocTypeMethodR.java 24 Jul 2002 22:29:03 -0000 1.11
--- AllocTypeMethodR.java 20 Aug 2002 18:59:18 -0000 1.12
***************
*** 77,81 ****
protected EventListenerList listenerList = new EventListenerList();
protected transient AllocStatEvent allocEvent;
- private Map listenersMap=new HashMap(1);
/** Constructs multi-rooted object
--- 77,80 ----
***************
*** 176,179 ****
--- 175,214 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_TRACE:
+ refreshAllocTypeTraces();
+ return;
+ case Constants.ALLOC_TYPE_THREAD_METHOD:
+ refreshAllocTypeThreadMethods();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_TRACE:
+ return getAllocTypeTraces();
+ case Constants.ALLOC_TYPE_THREAD_METHOD:
+ return getAllocTypeThreadMethods();
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {Constants.ALLOC_TYPE_TRACE,
+ Constants.ALLOC_TYPE_THREAD_METHOD};
+ }
+
// ---------- profiler statistic
***************
*** 218,231 ****
void addAllocTypeTrace(AllocTypeTraceRef o) {
allocTypeTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_TRACE, new Object[]{o}, new int[]{
! allocTypeTraces.size()-1}), listenersMap);
}
void addAllocTypeThreadMethod(AllocTypeThreadMethodRef o) {
allocTypeThreadMethods.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_METHOD, new Object[]{o}, new int[]{
! allocTypeThreadMethods.size()-1}), listenersMap);
}
--- 253,266 ----
void addAllocTypeTrace(AllocTypeTraceRef o) {
allocTypeTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_TRACE, new Object[]{o}, new int[]{
! allocTypeTraces.size()-1}));
}
void addAllocTypeThreadMethod(AllocTypeThreadMethodRef o) {
allocTypeThreadMethods.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_METHOD, new Object[]{o}, new int[]{
! allocTypeThreadMethods.size()-1}));
}
***************
*** 324,330 ****
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.removeChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_TRACE,
! Constants.ALLOC_TYPE_THREAD_METHOD});
}
--- 359,363 ----
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.globalRemoveChildrenListener(getId(), type, l, getChildTypes());
}
***************
*** 339,345 ****
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.addChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_TRACE,
! Constants.ALLOC_TYPE_THREAD_METHOD});
}
--- 372,376 ----
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.globalAddChildrenListener(getId(), type, l, getChildTypes());
}
Index: AllocTypeThreadMethodR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/AllocTypeThreadMethodR.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** AllocTypeThreadMethodR.java 24 Jul 2002 22:29:03 -0000 1.11
--- AllocTypeThreadMethodR.java 20 Aug 2002 18:59:18 -0000 1.12
***************
*** 80,84 ****
protected EventListenerList listenerList = new EventListenerList();
protected transient AllocStatEvent allocEvent;
- private Map listenersMap=new HashMap(1);
/** Constructs multi-rooted object
--- 80,83 ----
***************
*** 123,126 ****
--- 122,155 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_THREAD_TRACE:
+ refreshAllocTypeThreadTraces();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_THREAD_TRACE:
+ return getAllocTypeThreadTraces();
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {Constants.ALLOC_TYPE_THREAD_TRACE};
+ }
+
// ---------- return parents
***************
*** 227,233 ****
void addAllocTypeThreadTrace(AllocTypeThreadTraceRef o) {
allocTypeThreadTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_TRACE, new Object[]{o}, new int[]{
! allocTypeThreadTraces.size()-1}), listenersMap);
}
--- 256,262 ----
void addAllocTypeThreadTrace(AllocTypeThreadTraceRef o) {
allocTypeThreadTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_TRACE, new Object[]{o}, new int[]{
! allocTypeThreadTraces.size()-1}));
}
***************
*** 371,376 ****
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.removeChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_THREAD_TRACE});
}
--- 400,404 ----
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.globalRemoveChildrenListener(getId(), type, l, getChildTypes());
}
***************
*** 385,390 ****
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.addChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_THREAD_TRACE});
}
--- 413,417 ----
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.globalAddChildrenListener(getId(), type, l, getChildTypes());
}
Index: AllocTypeThreadR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/AllocTypeThreadR.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** AllocTypeThreadR.java 24 Jul 2002 22:29:03 -0000 1.12
--- AllocTypeThreadR.java 20 Aug 2002 18:59:19 -0000 1.13
***************
*** 77,81 ****
protected EventListenerList listenerList = new EventListenerList();
protected transient AllocStatEvent allocEvent;
- private Map listenersMap=new HashMap(1);
/** Constructs multi-rooted object
--- 77,80 ----
***************
*** 175,178 ****
--- 174,213 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_THREAD_METHOD:
+ refreshAllocTypeThreadMethods();
+ return;
+ case Constants.ALLOC_TYPE_THREAD_TRACE:
+ refreshAllocTypeThreadTraces();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_THREAD_METHOD:
+ return getAllocTypeThreadMethods();
+ case Constants.ALLOC_TYPE_THREAD_TRACE:
+ return getAllocTypeThreadTraces();
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {Constants.ALLOC_TYPE_THREAD_METHOD,
+ Constants.ALLOC_TYPE_THREAD_TRACE};
+ }
+
// ---------- profiler statistic
***************
*** 217,230 ****
void addAllocTypeThreadMethod (AllocTypeThreadMethodRef o) {
allocTypeThreadMethods.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_METHOD, new Object[]{o}, new int[]{
! allocTypeThreadMethods.size()-1}), listenersMap);
}
void addAllocTypeThreadTrace(AllocTypeThreadTraceRef o) {
allocTypeThreadTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_TRACE, new Object[]{o}, new int[]{
! allocTypeThreadTraces.size()-1}), listenersMap);
}
--- 252,265 ----
void addAllocTypeThreadMethod (AllocTypeThreadMethodRef o) {
allocTypeThreadMethods.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_METHOD, new Object[]{o}, new int[]{
! allocTypeThreadMethods.size()-1}));
}
void addAllocTypeThreadTrace(AllocTypeThreadTraceRef o) {
allocTypeThreadTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_TRACE, new Object[]{o}, new int[]{
! allocTypeThreadTraces.size()-1}));
}
***************
*** 331,337 ****
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.removeChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_THREAD_METHOD,
! Constants.ALLOC_TYPE_THREAD_TRACE});
}
--- 366,370 ----
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.globalRemoveChildrenListener(getId(), type, l, getChildTypes());
}
***************
*** 346,352 ****
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.addChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_THREAD_METHOD,
! Constants.ALLOC_TYPE_THREAD_TRACE});
}
--- 379,383 ----
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.globalAddChildrenListener(getId(), type, l, getChildTypes());
}
Index: AllocTypeThreadTraceR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/AllocTypeThreadTraceR.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** AllocTypeThreadTraceR.java 24 Jul 2002 22:29:03 -0000 1.9
--- AllocTypeThreadTraceR.java 20 Aug 2002 18:59:19 -0000 1.10
***************
*** 105,108 ****
--- 105,129 ----
// ---------- return child Lists
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {};
+ }
+
// ---------- return parents
Index: AllocTypeTraceR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/AllocTypeTraceR.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** AllocTypeTraceR.java 24 Jul 2002 22:29:03 -0000 1.11
--- AllocTypeTraceR.java 20 Aug 2002 18:59:19 -0000 1.12
***************
*** 76,80 ****
protected EventListenerList listenerList = new EventListenerList();
protected transient AllocStatEvent allocEvent;
- private Map listenersMap=new HashMap(1);
/** Constructs multi-rooted object
--- 76,79 ----
***************
*** 119,122 ****
--- 118,151 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_THREAD_TRACE:
+ refreshAllocTypeThreadTraces();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ switch (type) {
+ case Constants.ALLOC_TYPE_THREAD_TRACE:
+ return getAllocTypeThreadTraces();
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {Constants.ALLOC_TYPE_THREAD_TRACE};
+ }
+
// ---------- return parents, roots
***************
*** 210,216 ****
void addAllocTypeThreadTrace(AllocTypeThreadTraceRef o) {
allocTypeThreadTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_TRACE, new Object[]{o}, new int[]{
! allocTypeThreadTraces.size()-1}), listenersMap);
}
--- 239,245 ----
void addAllocTypeThreadTrace(AllocTypeThreadTraceRef o) {
allocTypeThreadTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_THREAD_TRACE, new Object[]{o}, new int[]{
! allocTypeThreadTraces.size()-1}));
}
***************
*** 330,335 ****
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.removeChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_THREAD_TRACE});
}
--- 359,363 ----
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.globalRemoveChildrenListener(getId(), type, l, getChildTypes());
}
***************
*** 344,349 ****
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.addChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.ALLOC_TYPE_THREAD_TRACE});
}
--- 372,376 ----
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.globalAddChildrenListener(getId(), type, l, getChildTypes());
}
Index: ClassR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/ClassR.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** ClassR.java 24 Jul 2002 22:29:03 -0000 1.8
--- ClassR.java 20 Aug 2002 18:59:19 -0000 1.9
***************
*** 117,124 ****
public void refreshMethods() {
- List list=new ArrayList();
image.extractChildRoot(this.objId, IProf.CLASS_METHODS, image.
! methodFactory, list);
! image.addMethods(list);
}
--- 117,122 ----
public void refreshMethods() {
image.extractChildRoot(this.objId, IProf.CLASS_METHODS, image.
! methodFactory, null, Constants.METHOD);
}
***************
*** 129,132 ****
--- 127,160 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.METHOD:
+ refreshMethods();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ switch (type) {
+ case Constants.METHOD:
+ return getMethods();
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {Constants.METHOD};
+ }
+
// image getter method
***************
*** 188,191 ****
--- 216,222 ----
void addMethod(MethodRef o) {
methods.add(o);
+ // methods may be added unexpectedly for "unknown" classes
+ image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
+ METHOD, new Object[]{o}, new int[]{methods.size()-1}));
}
***************
*** 291,294 ****
--- 322,350 ----
public String toString() {
return getName();
+ }
+
+ // ---------- listeners
+
+ /**
+ * Removes an <code>ChildrenListener</code> from this object.
+ * @param type Type of children to listen events for. Constants are defined
+ * in net.sourceforge.javaprofiler.jpi.Constants.
+ * @param l the listener to be removed
+ */
+ public void removeChildrenListener(int type, ChildrenListener l) {
+ image.globalRemoveChildrenListener(getId(), type, l, getChildTypes());
+ }
+
+ /**
+ * Adds an <code>ChildrenListener</code> to this object.
+ * <strong>Warning:</strong> Events are not dispatched in the swing event-
+ * dispatching thread, rather they are dispatched in the thread which
+ * caused new data to be loaded.
+ * @param type Type of children to listen events for. Constants are defined
+ * in net.sourceforge.javaprofiler.jpi.Constants.
+ * @param l the listener to be added
+ */
+ public void addChildrenListener(int type, ChildrenListener l) {
+ image.globalAddChildrenListener(getId(), type, l, getChildTypes());
}
}
Index: CPUThreadMethodR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/CPUThreadMethodR.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** CPUThreadMethodR.java 24 Jul 2002 22:29:03 -0000 1.9
--- CPUThreadMethodR.java 20 Aug 2002 18:59:19 -0000 1.10
***************
*** 74,78 ****
protected EventListenerList listenerList = new EventListenerList();
protected transient CPUStatEvent CPUEvent;
- private Map listenersMap=new HashMap(1);
/** Constructs multi-rooted object
--- 74,77 ----
***************
*** 117,120 ****
--- 116,149 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.CPU_THREAD_TRACE:
+ refreshCPUThreadTraces();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ switch (type) {
+ case Constants.CPU_THREAD_TRACE:
+ return getCPUThreadTraces();
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {Constants.CPU_THREAD_TRACE};
+ }
+
// ---------- return parents, roots
***************
*** 193,199 ****
void addCPUThreadTrace(CPUThreadTraceRef o) {
cpuThreadTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
CPU_THREAD_TRACE, new Object[]{o}, new int[]{
! cpuThreadTraces.size()-1}), listenersMap);
}
--- 222,228 ----
void addCPUThreadTrace(CPUThreadTraceRef o) {
cpuThreadTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
CPU_THREAD_TRACE, new Object[]{o}, new int[]{
! cpuThreadTraces.size()-1}));
}
***************
*** 309,314 ****
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.removeChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.CPU_THREAD_TRACE});
}
--- 338,342 ----
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.globalRemoveChildrenListener(getId(), type, l, getChildTypes());
}
***************
*** 323,328 ****
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.addChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.CPU_THREAD_TRACE});
}
--- 351,355 ----
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.globalAddChildrenListener(getId(), type, l, getChildTypes());
}
Index: CPUThreadTraceR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/CPUThreadTraceR.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** CPUThreadTraceR.java 24 Jul 2002 22:29:03 -0000 1.8
--- CPUThreadTraceR.java 20 Aug 2002 18:59:19 -0000 1.9
***************
*** 99,102 ****
--- 99,123 ----
// ---------- return child Lists
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {};
+ }
+
// ---------- return parents
Index: CPUTraceR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/CPUTraceR.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** CPUTraceR.java 24 Jul 2002 22:29:03 -0000 1.10
--- CPUTraceR.java 20 Aug 2002 18:59:19 -0000 1.11
***************
*** 76,80 ****
protected EventListenerList listenerList = new EventListenerList();
protected transient CPUStatEvent CPUEvent;
- private Map listenersMap=new HashMap(1);
/** Constructs new object with info.
--- 76,79 ----
***************
*** 124,127 ****
--- 123,156 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.CPU_THREAD_TRACE:
+ refreshCPUThreadTraces();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ switch (type) {
+ case Constants.CPU_THREAD_TRACE:
+ return getCPUThreadTraces();
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {Constants.CPU_THREAD_TRACE};
+ }
+
// image getter method
***************
*** 194,200 ****
void addCPUThreadTrace(CPUThreadTraceRef o) {
cpuThreadTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
CPU_THREAD_TRACE, new Object[]{o}, new int[]{
! cpuThreadTraces.size()-1}), listenersMap);
}
--- 223,229 ----
void addCPUThreadTrace(CPUThreadTraceRef o) {
cpuThreadTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
CPU_THREAD_TRACE, new Object[]{o}, new int[]{
! cpuThreadTraces.size()-1}));
}
***************
*** 308,313 ****
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.removeChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.CPU_THREAD_TRACE});
}
--- 337,341 ----
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.globalRemoveChildrenListener(getId(), type, l, getChildTypes());
}
***************
*** 322,327 ****
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.addChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.CPU_THREAD_TRACE});
}
--- 350,354 ----
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.globalAddChildrenListener(getId(), type, l, getChildTypes());
}
Index: DataR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/DataR.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** DataR.java 24 Jul 2002 22:29:03 -0000 1.6
--- DataR.java 20 Aug 2002 18:59:19 -0000 1.7
***************
*** 69,71 ****
--- 69,77 ----
*/
public abstract DataR getLocationR();
+
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public abstract void refresh(int type);
}
Index: ImageR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/ImageR.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** ImageR.java 24 Jul 2002 22:29:03 -0000 1.13
--- ImageR.java 20 Aug 2002 18:59:19 -0000 1.14
***************
*** 128,131 ****
--- 128,143 ----
protected EventListenerList threadgroupListeners = new EventListenerList();
+ /** Maps from data object and child type to <code>ChildrenListener</code>
+ * list.
+ */
+ private Map childListeners=new HashMap(1);
+ /** Maps from image child type to <code>ChildrenListener</code> list. */
+ private Map imageChildListeners=new HashMap(1);
+
[...1270 lines suppressed...]
! int type=(int) (key.longValue() >> 32);
!
! refresh(type);
! }
! }
! };
! }
! return task;
}
!
! /** Returns a <code>Timer</code> that can be used for refreshing realtime
! * image.
*/
! public Timer getTimer() {
! if (timer==null) {
! timer=new Timer(true);
! }
! return timer;
}
}
Index: MethodR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/MethodR.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** MethodR.java 24 Jul 2002 22:29:03 -0000 1.12
--- MethodR.java 20 Aug 2002 18:59:19 -0000 1.13
***************
*** 104,108 ****
protected transient CPUStatEvent CPUEvent;
protected transient MonStatEvent monEvent;
- private Map listenersMap=new HashMap(1);
/** Constructs new object with info.
--- 104,107 ----
***************
*** 157,164 ****
public void refreshCPUTraces() {
- List list=new ArrayList();
image.extractChildRoot(this.objId, IProf.CPU_METHOD_TRACES, image.
! cpuTraceFactory, list);
! image.addCPUTraces(list);
}
--- 156,161 ----
public void refreshCPUTraces() {
image.extractChildRoot(this.objId, IProf.CPU_METHOD_TRACES, image.
! cpuTraceFactory, null, Constants.CPU_TRACE);
}
***************
*** 170,177 ****
public void refreshAllocTraces() {
- List list=new ArrayList();
image.extractChildRoot(this.objId, IProf.ALLOC_METHOD_TRACES, image.
! allocTraceFactory, list);
! image.addAllocTraces(list);
}
--- 167,172 ----
public void refreshAllocTraces() {
image.extractChildRoot(this.objId, IProf.ALLOC_METHOD_TRACES, image.
! allocTraceFactory, null, Constants.ALLOC_TRACE);
}
***************
*** 183,190 ****
public void refreshMonTraces() {
- List list=new ArrayList();
image.extractChildRoot(this.objId, IProf.MON_METHOD_TRACES, image.
! monTraceFactory, list);
! image.addMonTraces(list);
}
--- 178,183 ----
public void refreshMonTraces() {
image.extractChildRoot(this.objId, IProf.MON_METHOD_TRACES, image.
! monTraceFactory, null, Constants.MON_TRACE);
}
***************
*** 239,242 ****
--- 232,301 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.CPU_TRACE:
+ refreshCPUTraces();
+ return;
+ case Constants.ALLOC_TRACE:
+ refreshAllocTraces();
+ return;
+ case Constants.MON_TRACE:
+ refreshMonTraces();
+ return;
+ case Constants.ALLOC_TYPE_METHOD:
+ refreshAllocTypeMethods();
+ return;
+ case Constants.ALLOC_THREAD_METHOD:
+ refreshAllocThreadMethods();
+ return;
+ case Constants.CPU_THREAD_METHOD:
+ refreshCPUThreadMethods();
+ return;
+ case Constants.MON_THREAD_METHOD:
+ refreshMonThreadMethods();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ switch (type) {
+ case Constants.CPU_TRACE:
+ return getCPUTraces();
+ case Constants.ALLOC_TRACE:
+ return getAllocTraces();
+ case Constants.MON_TRACE:
+ return getMonTraces();
+ case Constants.ALLOC_TYPE_METHOD:
+ return getAllocTypeMethods();
+ case Constants.ALLOC_THREAD_METHOD:
+ return getAllocThreadMethods();
+ case Constants.CPU_THREAD_METHOD:
+ return getCPUThreadMethods();
+ case Constants.MON_THREAD_METHOD:
+ return getMonThreadMethods();
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {Constants.CPU_TRACE,
+ Constants.ALLOC_TRACE,
+ Constants.MON_TRACE,
+ Constants.ALLOC_TYPE_METHOD,
+ Constants.ALLOC_THREAD_METHOD,
+ Constants.CPU_THREAD_METHOD,
+ Constants.MON_THREAD_METHOD};
+ }
+
// image getter method
***************
*** 296,302 ****
*/
public void refresh() {
! refresh(IProf.ALLOC_DATA);
! refresh(IProf.CPU_DATA);
! refresh(IProf.MON_DATA);
}
--- 355,361 ----
*/
public void refresh() {
! refreshStatistics(IProf.ALLOC_DATA);
! refreshStatistics(IProf.CPU_DATA);
! refreshStatistics(IProf.MON_DATA);
}
***************
*** 335,383 ****
void addCPUTrace(CPUTraceRef o) {
cpuTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
CPU_TRACE, new Object[]{o}, new int[]{
! cpuTraces.size()-1}), listenersMap);
}
void addAllocTrace(AllocTraceRef o) {
allocTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TRACE, new Object[]{o}, new int[]{
! allocTraces.size()-1}), listenersMap);
}
void addMonTrace(MonTraceRef o) {
monTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
MON_TRACE, new Object[]{o}, new int[]{
! monTraces.size()-1}), listenersMap);
}
void addAllocTypeMethod(AllocTypeMethodRef o) {
allocTypeMethods.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_METHOD, new Object[]{o}, new int[]{
! allocTypeMethods.size()-1}), listenersMap);
}
void addAllocThreadMethod(AllocThreadMethodRef o) {
allocThreadMethods.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_THREAD_METHOD, new Object[]{o}, new int[]{
! allocThreadMethods.size()-1}), listenersMap);
}
void addCPUThreadMethod(CPUThreadMethodRef o) {
cpuThreadMethods.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
CPU_THREAD_METHOD, new Object[]{o}, new int[]{
! cpuThreadMethods.size()-1}), listenersMap);
}
void addMonThreadMethod(MonThreadMethodRef o) {
monThreadMethods.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
MON_THREAD_METHOD, new Object[]{o}, new int[]{
! monThreadMethods.size()-1}), listenersMap);
}
--- 394,442 ----
void addCPUTrace(CPUTraceRef o) {
cpuTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
CPU_TRACE, new Object[]{o}, new int[]{
! cpuTraces.size()-1}));
}
void addAllocTrace(AllocTraceRef o) {
allocTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TRACE, new Object[]{o}, new int[]{
! allocTraces.size()-1}));
}
void addMonTrace(MonTraceRef o) {
monTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
MON_TRACE, new Object[]{o}, new int[]{
! monTraces.size()-1}));
}
void addAllocTypeMethod(AllocTypeMethodRef o) {
allocTypeMethods.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_TYPE_METHOD, new Object[]{o}, new int[]{
! allocTypeMethods.size()-1}));
}
void addAllocThreadMethod(AllocThreadMethodRef o) {
allocThreadMethods.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
ALLOC_THREAD_METHOD, new Object[]{o}, new int[]{
! allocThreadMethods.size()-1}));
}
void addCPUThreadMethod(CPUThreadMethodRef o) {
cpuThreadMethods.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
CPU_THREAD_METHOD, new Object[]{o}, new int[]{
! cpuThreadMethods.size()-1}));
}
void addMonThreadMethod(MonThreadMethodRef o) {
monThreadMethods.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
MON_THREAD_METHOD, new Object[]{o}, new int[]{
! monThreadMethods.size()-1}));
}
***************
*** 425,429 ****
* IProf.MON_DATA.
*/
! private void refresh(int what) {
IProf.sData data;
try {
--- 484,488 ----
* IProf.MON_DATA.
*/
! private void refreshStatistics(int what) {
IProf.sData data;
try {
***************
*** 452,456 ****
private void conditionalRefresh(int what) {
if (image.getAlwaysRefresh())
! refresh(what);
}
--- 511,515 ----
private void conditionalRefresh(int what) {
if (image.getAlwaysRefresh())
! refreshStatistics(what);
}
***************
*** 546,557 ****
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.removeChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.CPU_TRACE,
! Constants.ALLOC_TRACE,
! Constants.MON_TRACE,
! Constants.ALLOC_TYPE_METHOD,
! Constants.ALLOC_THREAD_METHOD,
! Constants.CPU_THREAD_METHOD,
! Constants.MON_THREAD_METHOD});
}
--- 605,609 ----
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.globalRemoveChildrenListener(getId(), type, l, getChildTypes());
}
***************
*** 566,577 ****
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.addChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.CPU_TRACE,
! Constants.ALLOC_TRACE,
! Constants.MON_TRACE,
! Constants.ALLOC_TYPE_METHOD,
! Constants.ALLOC_THREAD_METHOD,
! Constants.CPU_THREAD_METHOD,
! Constants.MON_THREAD_METHOD});
}
--- 618,622 ----
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.globalAddChildrenListener(getId(), type, l, getChildTypes());
}
Index: MonThreadMethodR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/MonThreadMethodR.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** MonThreadMethodR.java 24 Jul 2002 22:29:03 -0000 1.9
--- MonThreadMethodR.java 20 Aug 2002 18:59:19 -0000 1.10
***************
*** 74,78 ****
protected EventListenerList listenerList = new EventListenerList();
protected transient MonStatEvent monEvent;
- private Map listenersMap=new HashMap(1);
/** Constructs multi-rooted object
--- 74,77 ----
***************
*** 117,120 ****
--- 116,149 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.MON_THREAD_TRACE:
+ refreshMonThreadTraces();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ switch (type) {
+ case Constants.MON_THREAD_TRACE:
+ return getMonThreadTraces();
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {Constants.MON_THREAD_TRACE};
+ }
+
// ---------- return parents, roots
/** Returns ThreadRef root of this object.
***************
*** 193,199 ****
void addMonThreadTrace(MonThreadTraceRef o) {
monThreadTraces.add(o);
! image.fireChildrenAdded(new ChildrenEvent(this, Constants.
MON_THREAD_TRACE, new Object[]{o}, new int[]{
! monThreadTraces.size()-1}), listenersMap);
}
--- 222,228 ----
void addMonThreadTrace(MonThreadTraceRef o) {
monThreadTraces.add(o);
! image.globalFireChildrenAdded(new ChildrenEvent(this, Constants.
MON_THREAD_TRACE, new Object[]{o}, new int[]{
! monThreadTraces.size()-1}));
}
***************
*** 309,314 ****
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.removeChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.MON_THREAD_TRACE});
}
--- 338,342 ----
*/
public void removeChildrenListener(int type, ChildrenListener l) {
! image.globalRemoveChildrenListener(getId(), type, l, getChildTypes());
}
***************
*** 323,328 ****
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.addChildrenListenerChecked(type, l, listenersMap,
! new int[] {Constants.MON_THREAD_TRACE});
}
--- 351,355 ----
*/
public void addChildrenListener(int type, ChildrenListener l) {
! image.globalAddChildrenListener(getId(), type, l, getChildTypes());
}
Index: MonThreadTraceR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/MonThreadTraceR.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** MonThreadTraceR.java 24 Jul 2002 22:29:03 -0000 1.8
--- MonThreadTraceR.java 20 Aug 2002 18:59:19 -0000 1.9
***************
*** 99,102 ****
--- 99,123 ----
// ---------- return child Lists
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public List getChildren(int type) {
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns child types which this object can have. */
+ public int[] getChildTypes() {
+ return new int[] {};
+ }
+
// ---------- return parents, roots
Index: MonTraceR.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/realtime/MonTraceR.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** MonTraceR.java 24 Jul 2002 22:29:03 -0000 1.10
--- MonTraceR.java 20 Aug 2002 18:59:19 -0000 1.11
***************
*** 76,80 ****
protected EventListenerList listenerList = new EventListenerList();
protected transient MonStatEvent monEvent;
- private Map listenersMap=new HashMap(1);
/** Constructs new object with info.
--- 76,79 ----
***************
*** 124,127 ****
--- 123,156 ----
}
+ /** Refreshes a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
+ */
+ public void refresh(int type) {
+ switch (type) {
+ case Constants.MON_THREAD_TRACE:
+ refreshMonThreadTraces();
+ return;
+ }
+ throw new IllegalArgumentException("Illegal child type");
+ }
+
+ /** Returns a child list specified by the <code>type</code> argument.
+ * @param type Type of child list. Constants are defined in
+ * net.sourceforge.javaprofiler.jpi.Constants.
...
[truncated message content] |
|
From: Pavel V. <va...@us...> - 2002-08-19 10:53:41
|
Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views
In directory usw-pr-cvs1:/tmp/cvs-serv5307
Modified Files:
AllocHistogramTableModel.java
Log Message:
changed order of columns
Index: AllocHistogramTableModel.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/AllocHistogramTableModel.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** AllocHistogramTableModel.java 19 Aug 2002 09:07:20 -0000 1.9
--- AllocHistogramTableModel.java 19 Aug 2002 10:53:31 -0000 1.10
***************
*** 34,39 ****
public class AllocHistogramTableModel extends AbstractTableModel {
private List allocStats;
! private String columnNames[] = { "name", "count", "total count", "histogram", "space", "total space" };
! private Class columnClasses[] = { String.class, Long.class, Long.class, AllocStat.class, Long.class, Long.class };
private AllocStatListener statListener;
--- 34,39 ----
public class AllocHistogramTableModel extends AbstractTableModel {
private List allocStats;
! private String columnNames[] = { "name", "count", "histogram", "total count", "space", "total space" };
! private Class columnClasses[] = { String.class, Long.class, AllocStat.class, Long.class, Long.class, Long.class };
private AllocStatListener statListener;
***************
*** 86,93 ****
}
case 2: {
! return new Long(alloc.getTotalInstancesCount() );
}
case 3: {
! return alloc;
}
case 4: {
--- 86,93 ----
}
case 2: {
! return alloc;
}
case 3: {
! return new Long(alloc.getTotalInstancesCount() );
}
case 4: {
***************
*** 194,197 ****
--- 194,200 ----
/*
* $Log$
+ * Revision 1.10 2002/08/19 10:53:31 vachis
+ * changed order of columns
+ *
* Revision 1.9 2002/08/19 09:07:20 vachis
* added loggin of changes
|
|
From: Pavel V. <va...@us...> - 2002-08-19 09:09:46
|
Update of /cvsroot/javaprofiler/test/module
In directory usw-pr-cvs1:/tmp/cvs-serv7544
Modified Files:
TestAllocHistView.java MainThreads.java
Log Message:
added loggin of changes
Index: TestAllocHistView.java
===================================================================
RCS file: /cvsroot/javaprofiler/test/module/TestAllocHistView.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** TestAllocHistView.java 8 Aug 2002 23:35:14 -0000 1.9
--- TestAllocHistView.java 19 Aug 2002 09:09:43 -0000 1.10
***************
*** 191,192 ****
--- 191,198 ----
}
+ /*
+ * $Log$
+ * Revision 1.10 2002/08/19 09:09:43 vachis
+ * added loggin of changes
+ *
+ */
Index: MainThreads.java
===================================================================
RCS file: /cvsroot/javaprofiler/test/module/MainThreads.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** MainThreads.java 7 Aug 2002 17:43:12 -0000 1.5
--- MainThreads.java 19 Aug 2002 09:09:43 -0000 1.6
***************
*** 120,121 ****
--- 120,128 ----
}
}
+
+ /*
+ * $Log$
+ * Revision 1.6 2002/08/19 09:09:43 vachis
+ * added loggin of changes
+ *
+ */
\ No newline at end of file
|
|
From: Pavel V. <va...@us...> - 2002-08-19 09:07:29
|
Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views
In directory usw-pr-cvs1:/tmp/cvs-serv7002
Modified Files:
TimeSeriesModel.java TimeSeriesGraph.java TableMap.java
TableClickSorter.java AllocTableClickSorter.java
AllocHistogramTableModel.java AllocHistogramTable.java
ActiveThreadsView.java
Log Message:
added loggin of changes
Index: TimeSeriesModel.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/TimeSeriesModel.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** TimeSeriesModel.java 30 Jul 2002 12:15:34 -0000 1.3
--- TimeSeriesModel.java 19 Aug 2002 09:07:20 -0000 1.4
***************
*** 172,174 ****
}
}
! }
\ No newline at end of file
--- 172,181 ----
}
}
! }
!
! /*
! * $Log$
! * Revision 1.4 2002/08/19 09:07:20 vachis
! * added loggin of changes
! *
! */
Index: TimeSeriesGraph.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/TimeSeriesGraph.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** TimeSeriesGraph.java 7 Aug 2002 17:41:13 -0000 1.4
--- TimeSeriesGraph.java 19 Aug 2002 09:07:20 -0000 1.5
***************
*** 250,251 ****
--- 250,258 ----
}
}
+
+ /*
+ * $Log$
+ * Revision 1.5 2002/08/19 09:07:20 vachis
+ * added loggin of changes
+ *
+ */
Index: TableMap.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/TableMap.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** TableMap.java 8 Aug 2002 23:33:04 -0000 1.2
--- TableMap.java 19 Aug 2002 09:07:20 -0000 1.3
***************
*** 90,95 ****
fireTableChanged(e); //forward event to our listeners
}
-
-
-
}
--- 90,99 ----
fireTableChanged(e); //forward event to our listeners
}
}
+
+ /*
+ * $Log$
+ * Revision 1.3 2002/08/19 09:07:20 vachis
+ * added loggin of changes
+ *
+ */
Index: TableClickSorter.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/TableClickSorter.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** TableClickSorter.java 18 Aug 2002 19:38:56 -0000 1.4
--- TableClickSorter.java 19 Aug 2002 09:07:20 -0000 1.5
***************
*** 417,418 ****
--- 417,425 ----
}
}
+
+ /*
+ * $Log$
+ * Revision 1.5 2002/08/19 09:07:20 vachis
+ * added loggin of changes
+ *
+ */
\ No newline at end of file
Index: AllocTableClickSorter.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/AllocTableClickSorter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** AllocTableClickSorter.java 18 Aug 2002 19:38:56 -0000 1.3
--- AllocTableClickSorter.java 19 Aug 2002 09:07:20 -0000 1.4
***************
*** 90,91 ****
--- 90,98 ----
}
+
+ /*
+ * $Log$
+ * Revision 1.4 2002/08/19 09:07:20 vachis
+ * added loggin of changes
+ *
+ */
Index: AllocHistogramTableModel.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/AllocHistogramTableModel.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** AllocHistogramTableModel.java 18 Aug 2002 19:38:56 -0000 1.8
--- AllocHistogramTableModel.java 19 Aug 2002 09:07:20 -0000 1.9
***************
*** 191,192 ****
--- 191,199 ----
}
}
+
+ /*
+ * $Log$
+ * Revision 1.9 2002/08/19 09:07:20 vachis
+ * added loggin of changes
+ *
+ */
Index: AllocHistogramTable.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/AllocHistogramTable.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** AllocHistogramTable.java 18 Aug 2002 19:38:56 -0000 1.9
--- AllocHistogramTable.java 19 Aug 2002 09:07:20 -0000 1.10
***************
*** 34,38 ****
*/
public class AllocHistogramTable extends JTable {
!
/** Creates a new instance of HistogramTable */
--- 34,38 ----
*/
public class AllocHistogramTable extends JTable {
! int stringColumn = 0; //in model column order!!
/** Creates a new instance of HistogramTable */
***************
*** 53,56 ****
--- 53,57 ----
if ( clazz == String.class ) {
cmodel.getColumn(i).setPreferredWidth(250);
+ stringColumn = i;
//JTextField textField = new JTextField();
//column.setCellEditor( new DefaultCellEditor( textField ) );
***************
*** 62,66 ****
}
!
protected boolean checkModel( TableModel model ) {
// int mcols = model.getColumnCount();
--- 63,67 ----
}
!
protected boolean checkModel( TableModel model ) {
// int mcols = model.getColumnCount();
***************
*** 74,81 ****
--- 75,122 ----
checkModel( dataModel );
super.setModel( dataModel );
+
+ Class clazz;
+ for (int i=0; i < getModel().getColumnCount(); i++ ) {
+ clazz = getModel().getColumnClass(i);
+ if ( clazz == String.class ) {
+ stringColumn = i;
+ break;
+ }
+ }
}
public void tableChanged( TableModelEvent e) {
+ int row = -1;
+ String str = "";
+
+ //hack
+ //store string in selection beacuse when all table changes, selection is cleared
+ // if (e.getType() == TableModelEvent.UPDATE
+ // && e.getLastRow() == Integer.MAX_VALUE) {
+ // if ( (row = getSelectedRow()) != -1)
+ // str = (String) getModel().getValueAt( row, stringColumn );
+ // }
+
super.tableChanged(e);
+
+ //restore selection with stored string
+ // if ( row != -1 ) {
+ //nothing changed
+ // if ( ((String) getModel().getValueAt( row, stringColumn ))
+ // .compareTo( str ) == 0 ) {
+ // setRowSelectionInterval( row, row );
+ // }
+ //}
+ // else {
+ // TableModel model = getModel();
+ // for( int i = 0; i < model.getColumnCount(); i++ ) {
+ // if ( ((String) model.getValueAt( i, stringColumn ))
+ // .compareTo( str ) == 0 ) {
+ // setRowSelectionInterval( i, i );
+ // }
+ // }
+ // }
+ // }
+
}
//---------- renderers
***************
*** 209,210 ****
--- 250,258 ----
}
+
+ /*
+ * $Log$
+ * Revision 1.10 2002/08/19 09:07:20 vachis
+ * added loggin of changes
+ *
+ */
Index: ActiveThreadsView.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/ActiveThreadsView.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** ActiveThreadsView.java 7 Aug 2002 17:42:06 -0000 1.3
--- ActiveThreadsView.java 19 Aug 2002 09:07:20 -0000 1.4
***************
*** 114,115 ****
--- 114,122 ----
}
}
+
+ /*
+ * $Log$
+ * Revision 1.4 2002/08/19 09:07:20 vachis
+ * added loggin of changes
+ *
+ */
\ No newline at end of file
|
Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views
In directory usw-pr-cvs1:/tmp/cvs-serv15127
Modified Files:
TableClickSorter.java AllocTableClickSorter.java
AllocHistogramTableModel.java AllocHistogramTable.java
Log Message:
sorting finished
Index: TableClickSorter.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/TableClickSorter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** TableClickSorter.java 17 Aug 2002 19:13:05 -0000 1.3
--- TableClickSorter.java 18 Aug 2002 19:38:56 -0000 1.4
***************
*** 51,58 ****
*/
public class TableClickSorter extends TableMap {
! private int indexes[] = null;
! private int usedCount = 0; //number uf used buckets in the indexes[]
private final LinkedList sortingColumns = new LinkedList();
! private boolean ascendColumns[] = null;
/** Creates a new instance of TableClickSorter */
--- 51,60 ----
*/
public class TableClickSorter extends TableMap {
! private int indexes[] = null;
! private int usedCount = 0; //number uf used buckets in the indexes[]
private final LinkedList sortingColumns = new LinkedList();
! private boolean ascendColumns[] = null;
! private int allwaysSortBy;
! private boolean allwaysSortAscend = true;
/** Creates a new instance of TableClickSorter */
***************
*** 75,80 ****
}
- /** Attention when use this, you need care about synchronization.
- */
public void setModel(TableModel model) {
super.setModel(model);
--- 77,80 ----
***************
*** 133,154 ****
//---------------- SORTING
!
public synchronized void sort() {
! //PENDING
super.tableChanged( new TableModelEvent(this) );
}
! /**Comparator interface, it compares rows in the table.
*/
! public int compare( Object v1, Object v2 ) {
!
! //PENDING
return 0;
}
/** This method is used by compare() for comparsion of objects in the cells.
! * Override this to add comparsion for new class.
*/
! public int compareObjs( Object o1, Object o2 ) {
// If both values are null, return 0.
--- 133,175 ----
//---------------- SORTING
! /**Sort table according actual sorting settings. Use <code> sortByColumn() </code> or
! * <code> setAllwaysSortBy()</code> to the settings.
! *@see #setAllwaysSortBy(int)
! *@see #sortByColumn(int)
! */
public synchronized void sort() {
! int[] aux = new int[indexes.length];
! mergeSort( indexes, aux, 0, indexes.length - 1 );
super.tableChanged( new TableModelEvent(this) );
}
! /** Compares rows in the model.
! * use: compare( indexes[i], indexes[j] )
*/
! protected int compare( int row1, int row2 ) {
! int result, i;
! int col;
! Object o1, o2;
!
! for( i = 0; i<sortingColumns.size(); i++ ) {
! col = ((Integer) sortingColumns.get( i )).intValue();
! o1 = model.getValueAt(row1, col);
! o2 = model.getValueAt(row2, col);
! result = compareObjs( o1, o2 ) * (ascendColumns[col] ? 1 :-1);
! if (result != 0)
! return result;
! }
! if ( allwaysSortBy != -1 ) {
! o1 = model.getValueAt(row1, allwaysSortBy);
! o2 = model.getValueAt(row2, allwaysSortBy);
! result = compareObjs( o1, o2 ) * (allwaysSortAscend ? 1 :-1);
! }
return 0;
}
/** This method is used by compare() for comparsion of objects in the cells.
! * override this to add comparsion for new class.
*/
! protected int compareObjs( Object o1, Object o2 ) {
// If both values are null, return 0.
***************
*** 210,217 ****
}
! public void sortByColumn( int column ) {
sortByColumn( column, ascendColumns[ column ] );
}
public synchronized void sortByColumn( int column, boolean ascending ) {
Integer col = new Integer( column );
--- 231,249 ----
}
! /** Sorts table by given column in stored order. Default order is asceding, this
! * could by changed by <code> SortByColumn(int, boolean) </code>.
! *
! *@see #sort()
! *@see #setAllwaysSortBy(int)
! */
! public synchronized void sortByColumn( int column ) {
sortByColumn( column, ascendColumns[ column ] );
}
+ /** Sorts table by given column in given order.
+ *
+ *@see #sort()
+ *@see #setAllwaysSortBy(int)
+ */
public synchronized void sortByColumn( int column, boolean ascending ) {
Integer col = new Integer( column );
***************
*** 226,230 ****
}
!
//---------------- handling events from TableModel listener
--- 258,310 ----
}
!
! /** Sets the column that will be used for distinction of rows if values in sorting column
! * equals.
! *
! *@see #sortByColumn(int)
! *@see #setAllwaysSortBy(int,boolean)
! */
! public void setAllwaysSortBy( int column ) {
! allwaysSortBy = column;
! }
!
! /** Sets the column that will be used for distinction of rows if values in sorting column
! * equals.
! *
! *@see #sortByColumn(int)
! *@see #setAllwaysSortBy(int)
! */
! public void setAllwaysSortBy( int column, boolean asceding ) {
! allwaysSortBy = column;
! allwaysSortAscend = asceding;
! }
!
!
! /**Gets the column that will be used for distinction of rows if values in sortin column
! * equals.
! *
! *@see #sortByColumn(int)
! *@see #setAllwaysSortBy(int)
! */
! public int getAllwaysSortBy() {
! return allwaysSortBy;
! }
!
! /**Gets asceding for the column from <code> getAllwaysSortBy </code>*/
! public boolean getAllwaysAscend() {
! return allwaysSortAscend;
! }
!
! /**Returns ascending order for given column. True = asceding, false = desceding.
! */
! protected boolean getAscending( int column ) {
! return ascendColumns[column];
! }
!
! /**Sets ascending order for given column. True = asceding, false = desceding.
! */
! protected void setAscending( int column, boolean asceding ) {
! ascendColumns[column] = asceding;
! }
//---------------- handling events from TableModel listener
***************
*** 293,296 ****
--- 373,418 ----
private synchronized int preferedArraySize( int size ) {
return (int) Math.ceil( Math.pow( 2, Math.log(size)/Math.log(2) ));
+ }
+
+ //-------- mergesort
+ //sorts src using aux
+ private synchronized void mergeSort( int[] src, int[] aux, int lo, int hi ) {
+ if( lo > hi )
+ throw new RuntimeException("Mergesort: low index is grater than high index. lo: " + lo +" hi:" + hi);
+ int len = hi - lo + 1;
+
+ if (len < 7 ) { //FIX
+ for (int i=lo; i<=hi; i++)
+ for (int j=i; j>lo && compare(src[j-1], src[j])>0; j--) {
+ int tmp = src[j];
+ src[j] = src[j-1];
+ src[j-1] = tmp;
+ }
+ return;
+ }
+
+ int mid = (lo + hi) >> 1;
+ mergeSort( src, aux, lo, mid );
+ mergeSort( src, aux, mid+1, hi );
+
+ //array is already sorted
+ if ( compare(src[mid], src[mid+1] ) <= 0) {
+ return;
+ }
+
+ //merge
+ int a = lo, b = mid+1, c = lo;
+ while ((a <= mid) && (b <= hi)){
+ if ( compare(src[a], src[b]) < 0 )
+ aux[c++]=src[a++];
+ else
+ aux[c++]=src[b++];
+ }
+ while (a <= mid)
+ aux[c++]=src[a++];
+ while (b <= hi)
+ aux[c++]=src[b++];
+
+ System.arraycopy(aux, lo, src, lo, len);
}
}
Index: AllocTableClickSorter.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/AllocTableClickSorter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** AllocTableClickSorter.java 16 Aug 2002 13:09:27 -0000 1.2
--- AllocTableClickSorter.java 18 Aug 2002 19:38:56 -0000 1.3
***************
*** 28,32 ****
* (Actually it sorts only indexes mapping to TableModel). The differnce is that
* AllocTableClickSorter can sort AllocStat objects therefore you have to you use this with
! * AllocHistogramTable and AllocHistogramModel.
*
*
--- 28,35 ----
* (Actually it sorts only indexes mapping to TableModel). The differnce is that
* AllocTableClickSorter can sort AllocStat objects therefore you have to you use this with
! * AllocHistogramTable and AllocHistogramModel.
! * This class also changes default asceding order.
! * Columns with strings are sorted in asceding order other in desceding order.
! * Model is allways sorted by first column with string {@link TableClickSorter#setAllwaysSortBy(int) }
*
*
***************
*** 39,45 ****
public AllocTableClickSorter( TableModel model ) {
super( model );
}
! public int compareObjs(Object o1, Object o2) {
if (o1 == null && o2 == null)
return 0;
--- 42,56 ----
public AllocTableClickSorter( TableModel model ) {
super( model );
+ initSorting();
}
!
! public void setModel( TableModel model ) {
! super.setModel( model );
! initSorting();
! }
! /** Compares objects, it adds comparsion for instances of the classes that implement AllocStat interface
! */
! protected int compareObjs(Object o1, Object o2) {
if (o1 == null && o2 == null)
return 0;
***************
*** 61,64 ****
--- 72,90 ----
return super.compareObjs( o1, o2 );
+ }
+
+ //--------------- private
+ private void initSorting() {
+ boolean first = true;
+ for (int i=0; i < getColumnCount(); i++ ) {
+ Class clazz = getColumnClass(i);
+ if ( clazz == String.class ) {
+ setAscending( i, true );
+ if ( first )
+ setAllwaysSortBy( i, true );
+ }
+ else
+ setAscending( i, false );
+ }
}
Index: AllocHistogramTableModel.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/AllocHistogramTableModel.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** AllocHistogramTableModel.java 17 Aug 2002 19:06:14 -0000 1.7
--- AllocHistogramTableModel.java 18 Aug 2002 19:38:56 -0000 1.8
***************
*** 27,31 ****
/**Model for table that shows instances count and "histogram" of instances count.
! * Columns contains name_of_type, instaces_count, count_of_all_instances_ever_created_in_VM,
* histogram_of_instances_count, size_of_instances, size_off_all_instances_ever_created_in_VM
*
--- 27,31 ----
/**Model for table that shows instances count and "histogram" of instances count.
! * Columns contain name_of_type, instaces_count, count_of_all_instances_ever_created_in_VM,
* histogram_of_instances_count, size_of_instances, size_off_all_instances_ever_created_in_VM
*
***************
*** 173,177 ****
//subcribing, unsubscribing
! protected void subscribeToJpi( List allocStats, HasChildren parent, int subscribeType ) {
this.parent = parent;
this.subscribeType = subscribeType;
--- 173,177 ----
//subcribing, unsubscribing
! private void subscribeToJpi( List allocStats, HasChildren parent, int subscribeType ) {
this.parent = parent;
this.subscribeType = subscribeType;
***************
*** 183,187 ****
}
! protected void unsubscribeFromJpi() {
parent.removeChildrenListener( subscribeType, childrenListener );
ListIterator iter = allocStats.listIterator();
--- 183,187 ----
}
! private void unsubscribeFromJpi() {
parent.removeChildrenListener( subscribeType, childrenListener );
ListIterator iter = allocStats.listIterator();
Index: AllocHistogramTable.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/AllocHistogramTable.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** AllocHistogramTable.java 16 Aug 2002 13:06:39 -0000 1.8
--- AllocHistogramTable.java 18 Aug 2002 19:38:56 -0000 1.9
***************
*** 23,26 ****
--- 23,27 ----
import java.awt.*;
import javax.swing.*;
+ import javax.swing.event.*;
import javax.swing.table.*;
import javax.swing.border.*;
***************
*** 74,78 ****
super.setModel( dataModel );
}
!
protected static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);
--- 75,84 ----
super.setModel( dataModel );
}
!
! public void tableChanged( TableModelEvent e) {
! super.tableChanged(e);
! }
! //---------- renderers
!
protected static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);
***************
*** 201,204 ****
}
//end of Renderers
!
}
--- 207,210 ----
}
//end of Renderers
!
}
|
|
From: Pavel V. <va...@us...> - 2002-08-17 19:13:09
|
Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views
In directory usw-pr-cvs1:/tmp/cvs-serv17984
Modified Files:
TableClickSorter.java
Log Message:
small fix
Index: TableClickSorter.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/TableClickSorter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** TableClickSorter.java 16 Aug 2002 13:09:27 -0000 1.2
--- TableClickSorter.java 17 Aug 2002 19:13:05 -0000 1.3
***************
*** 84,88 ****
public void tableChanged(TableModelEvent e) {
! /* if (e.getFirstRow() == TableModelEvent.HEADER_ROW) {
initColumns();
}
--- 84,88 ----
public void tableChanged(TableModelEvent e) {
! if (e.getFirstRow() == TableModelEvent.HEADER_ROW) {
initColumns();
}
***************
*** 97,101 ****
case TableModelEvent.UPDATE:
//nothing special
! }*/
super.tableChanged( e );
}
--- 97,101 ----
case TableModelEvent.UPDATE:
//nothing special
! }
super.tableChanged( e );
}
***************
*** 252,256 ****
int i;
! /* if (first < usedCount) { //repair broken mapping
for (i=0; i<usedCount; i++ )
if (indexes[i] >= first ) {
--- 252,256 ----
int i;
! if (first < usedCount) { //repair broken mapping
for (i=0; i<usedCount; i++ )
if (indexes[i] >= first ) {
***************
*** 264,268 ****
}
usedCount = last-first+1 + usedCount;
! */ }
private synchronized void delRows( int first, int last ) {
--- 264,268 ----
}
usedCount = last-first+1 + usedCount;
! }
private synchronized void delRows( int first, int last ) {
|
|
From: Pavel V. <va...@us...> - 2002-08-17 19:06:26
|
Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views
In directory usw-pr-cvs1:/tmp/cvs-serv16431
Modified Files:
AllocHistogramTableModel.java
Log Message:
addChildren listener fix
Index: AllocHistogramTableModel.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/AllocHistogramTableModel.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** AllocHistogramTableModel.java 31 Jul 2002 16:52:37 -0000 1.6
--- AllocHistogramTableModel.java 17 Aug 2002 19:06:14 -0000 1.7
***************
*** 142,146 ****
}
}
! fireTableRowsInserted( i, j-1 );
i = j;
}
--- 142,146 ----
}
}
! fireTableRowsInserted( delta[i], delta[j-1] );
i = j;
}
***************
*** 166,170 ****
}
}
! fireTableRowsUpdated( i, j-1 );
i = j;
}
--- 166,170 ----
}
}
! fireTableRowsUpdated( delta[i], delta[j-1] );
i = j;
}
|
|
From: Michael R. <mr...@br...> - 2002-08-16 15:28:22
|
Hi all, i am sorry, that i am posting a question here, but i did not find another adress. I downloaded the profiler library and want to try to make a small app, which is displaying the profiled data of testfiles. Its now around one day that i am reading and testing, but i don't find the real entry. I nearly tried all the examples with and without ide and get only errors. Is there a small example, how i can start profiling from out of a java program? For example: i am having a simple class with a main method, which is producing Strings. I would like to let it run, collecting the data and using the IProf to output the data. Thanks in advance, Michael Virengeprüft vom G DATA AntiVirenKit |
|
From: Pavel V. <va...@us...> - 2002-08-16 13:09:29
|
Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views
In directory usw-pr-cvs1:/tmp/cvs-serv12913
Modified Files:
TableClickSorter.java AllocTableClickSorter.java
Log Message:
sorting prepared
Index: TableClickSorter.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/TableClickSorter.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** TableClickSorter.java 8 Aug 2002 06:45:04 -0000 1.1
--- TableClickSorter.java 16 Aug 2002 13:09:27 -0000 1.2
***************
*** 51,57 ****
*/
public class TableClickSorter extends TableMap {
! private int indexes[] = new int[0];
private int usedCount = 0; //number uf used buckets in the indexes[]
! private ArrayList sortingColumns = new ArrayList();
/** Creates a new instance of TableClickSorter */
--- 51,58 ----
*/
public class TableClickSorter extends TableMap {
! private int indexes[] = null;
private int usedCount = 0; //number uf used buckets in the indexes[]
! private final LinkedList sortingColumns = new LinkedList();
! private boolean ascendColumns[] = null;
/** Creates a new instance of TableClickSorter */
***************
*** 59,62 ****
--- 60,64 ----
super( model ); //adds listener, etc.
initIndexes();
+ initColumns();
}
***************
*** 78,84 ****
--- 80,91 ----
super.setModel(model);
initIndexes();
+ initColumns();
}
public void tableChanged(TableModelEvent e) {
+ /* if (e.getFirstRow() == TableModelEvent.HEADER_ROW) {
+ initColumns();
+ }
+
switch (e.getType()) {
case TableModelEvent.INSERT:
***************
*** 90,99 ****
case TableModelEvent.UPDATE:
//nothing special
! }
super.tableChanged( e );
}
! // Add a mouse listener to the Table to trigger a table sort
! // when a column heading is clicked in the JTable.
public void addMouseListenerToHeaderInTable(JTable table) {
final TableClickSorter sorter = this;
--- 97,107 ----
case TableModelEvent.UPDATE:
//nothing special
! }*/
super.tableChanged( e );
}
! /** Add a mouse listener to the Table to trigger a table sort
! * when a column heading is clicked in the JTable.
! */
public void addMouseListenerToHeaderInTable(JTable table) {
final TableClickSorter sorter = this;
***************
*** 107,113 ****
if (e.getClickCount() == 1 && column != -1) {
int shiftPressed = e.getModifiers()&InputEvent.SHIFT_MASK;
! boolean ascending = (shiftPressed == 0);
! //PENDING
! //sorter.sortByColumn(column);
}
}
--- 115,127 ----
if (e.getClickCount() == 1 && column != -1) {
int shiftPressed = e.getModifiers()&InputEvent.SHIFT_MASK;
! synchronized (this) {
! if (shiftPressed != 0) {
! ascendColumns[column] = !ascendColumns[column];
! }
! sorter.sortByColumn(column);
! }
! }
! else if(e.getClickCount() == 1 && column != -1) {
! initColumns();
}
}
***************
*** 120,132 ****
//---------------- SORTING
! //comparator
public int compare( Object v1, Object v2 ) {
//PENDING
return 0;
}
! public void sortByColumn( int column, boolean ascending ) {
! //PENDING sort care about column
! super.tableChanged( new TableModelEvent(this) );
}
--- 134,227 ----
//---------------- SORTING
! public synchronized void sort() {
! //PENDING
! super.tableChanged( new TableModelEvent(this) );
! }
!
! /**Comparator interface, it compares rows in the table.
! */
public int compare( Object v1, Object v2 ) {
+
//PENDING
return 0;
}
! /** This method is used by compare() for comparsion of objects in the cells.
! * Override this to add comparsion for new class.
! */
! public int compareObjs( Object o1, Object o2 ) {
!
! // If both values are null, return 0.
! if (o1 == null && o2 == null)
! return 0;
! else if (o1 == null) // Define null less than everything.
! return -1;
! else if (o2 == null)
! return 1;
!
!
! if (o1 instanceof java.lang.Number && o2 instanceof java.lang.Number) {
! Number n1 = (Number) o1;
! double d1 = n1.doubleValue();
! Number n2 = (Number) o2;
! double d2 = n2.doubleValue();
!
! if (d1 < d2)
! return -1;
! else if (d1 > d2)
! return 1;
! else
! return 0;
! }
! else if (o1 instanceof java.lang.Boolean && o2 instanceof java.lang.Boolean) {
! Boolean bool1 = (Boolean) o1;
! boolean b1 = bool1.booleanValue();
! Boolean bool2 = (Boolean) o2;
! boolean b2 = bool2.booleanValue();
!
! if (b1 == b2)
! return 0;
! else if (b1) // Define false < true
! return 1;
! else
! return -1;
! } //default case:
! else if (o1 instanceof java.lang.Comparable && o2 instanceof java.lang.Comparable) {
! int result = ((Comparable) o1).compareTo( o2 );
! if (result < 0)
! return -1;
! else if (result > 0)
! return 1;
! else
! return 0;
! }
! else { //lexicografic comparsion
! String s1 = o1.toString();
! String s2 = o1.toString();
!
! int result = s1.compareTo( s2 );
! if (result < 0)
! return -1;
! else if (result > 0)
! return 1;
! else
! return 0;
! }
! }
!
! public void sortByColumn( int column ) {
! sortByColumn( column, ascendColumns[ column ] );
! }
!
! public synchronized void sortByColumn( int column, boolean ascending ) {
! Integer col = new Integer( column );
! //sortingColumns.clear();
!
! if ( sortingColumns.contains( col ) ) {
! sortingColumns.remove( col );
! }
! sortingColumns.addFirst( col );
!
! sort();
}
***************
*** 134,142 ****
//---------------- handling events from TableModel listener
private synchronized void initIndexes() {
int i;
usedCount = getRowCount();
! indexes = new int[ (int) Math.ceil( usedCount * 1.1 ) ];
for (i=0; i<usedCount; i++ ) {
indexes[i] = i;
--- 229,247 ----
//---------------- handling events from TableModel listener
+ private synchronized void initColumns() {
+ int i;
+
+ int colNum = getColumnCount();
+ ascendColumns = new boolean[ colNum ];
+ for (i=0; i<colNum; i++ ) {
+ ascendColumns[i] = true;
+ }
+ }
+
private synchronized void initIndexes() {
int i;
usedCount = getRowCount();
! indexes = new int[ preferedArraySize( usedCount ) ];
for (i=0; i<usedCount; i++ ) {
indexes[i] = i;
***************
*** 147,151 ****
int i;
! if (first < usedCount) { //repair broken mapping
for (i=0; i<usedCount; i++ )
if (indexes[i] >= first ) {
--- 252,256 ----
int i;
! /* if (first < usedCount) { //repair broken mapping
for (i=0; i<usedCount; i++ )
if (indexes[i] >= first ) {
***************
*** 159,163 ****
}
usedCount = last-first+1 + usedCount;
! }
private synchronized void delRows( int first, int last ) {
--- 264,268 ----
}
usedCount = last-first+1 + usedCount;
! */ }
private synchronized void delRows( int first, int last ) {
***************
*** 174,186 ****
condReallocateIndexes( usedCount );
}
!
! //PENDING deside whether allocate new array
private synchronized void condReallocateIndexes( int newSize ) {
int i;
!
! int indexes2[] = new int[ (int) Math.ceil(newSize * 1.1) ];
! System.arraycopy( indexes, 0, indexes2, 0, usedCount );
! indexes = indexes2;
}
}
--- 279,296 ----
condReallocateIndexes( usedCount );
}
!
private synchronized void condReallocateIndexes( int newSize ) {
int i;
! int pref = preferedArraySize( newSize );
!
! if ( pref > indexes.length || pref <= indexes.length * 0.9 ) {
! int indexes2[] = new int[ pref ];
! System.arraycopy( indexes, 0, indexes2, 0, usedCount );
! indexes = indexes2;
! }
}
+ private synchronized int preferedArraySize( int size ) {
+ return (int) Math.ceil( Math.pow( 2, Math.log(size)/Math.log(2) ));
+ }
}
Index: AllocTableClickSorter.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/AllocTableClickSorter.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** AllocTableClickSorter.java 8 Aug 2002 06:45:04 -0000 1.1
--- AllocTableClickSorter.java 16 Aug 2002 13:09:27 -0000 1.2
***************
*** 22,25 ****
--- 22,27 ----
import javax.swing.table.TableModel;
+
+ import net.sourceforge.javaprofiler.jpi.AllocStat;
/** AllocTableClickSorter is TableClickSorter, in other words: It sorts TableModel for JTable
* when you click on column header in JTable instance.
***************
*** 39,45 ****
}
! public int compare(Object v1, Object v2) {
! //PENDING
! return 0;
}
--- 41,64 ----
}
! public int compareObjs(Object o1, Object o2) {
! if (o1 == null && o2 == null)
! return 0;
! else if (o1 == null) // Define null less than everything.
! return -1;
! else if (o2 == null)
! return 1;
!
! if ( o1 instanceof AllocStat && o2 instanceof AllocStat ) {
! long d1 = ((AllocStat) o1).getLiveInstancesCount();
! long d2 = ((AllocStat) o2).getLiveInstancesCount();
! if (d1 < d2)
! return -1;
! else if (d1 > d2)
! return 1;
! else
! return 0;
! }
!
! return super.compareObjs( o1, o2 );
}
|
|
From: Pavel V. <va...@us...> - 2002-08-16 13:06:55
|
Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views
In directory usw-pr-cvs1:/tmp/cvs-serv10826
Modified Files:
AllocHistogramTable.java
Log Message:
tiny fix
Index: AllocHistogramTable.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/AllocHistogramTable.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** AllocHistogramTable.java 8 Aug 2002 23:32:42 -0000 1.7
--- AllocHistogramTable.java 16 Aug 2002 13:06:39 -0000 1.8
***************
*** 190,200 ****
bar.setBackground( Color.white );
bar.setBorderPainted( false );
! if (isBordered) {
! if (isSelected) {
! bar.setBackground( table.getSelectionBackground() );
! } else {
! bar.setBackground( table.getBackground() );
! }
}
return this;
--- 190,199 ----
bar.setBackground( Color.white );
bar.setBorderPainted( false );
! if (isSelected) {
! bar.setBackground( table.getSelectionBackground() );
! } else {
! bar.setBackground( table.getBackground() );
}
+
return this;
|
|
From: Michael R. <mr...@br...> - 2002-08-16 10:36:05
|
Hi, modified DubugOutput to the current CVS files. Some methods i could not resolve. Best, Michael =========================================================== Michael Remme BrainT@GS GmbH mr...@br... Neuhofstr. 48 Tel. : 02161 / 40 64 871 D-41061 Mönchengladbach Fax. : 02161 / 40 64 874 http://www.BrainTags.de Mobil: 0173 / 535 21 37 *** DebugOutput.java 16 Feb 2002 16:22:18 -0000 1.4 --- DebugOutput.java 16 Aug 2002 10:30:16 -0000 *************** *** 27,37 **** */ public class DebugOutput { /** Print snapshot data to System.out. ! * @param sn SnapshotImpl data to print. */ public static void print (SnapshotImpl sn) { // classes list, ClassData object type ! Iterator it = sn.classes().iterator(); while (it.hasNext()) { ClassData c = (ClassData) it.next(); System.out.println("CLASS = " + c.getName()); --- 29,39 ---- */ public class DebugOutput { /** Print snapshot data to System.out. ! * @param sn SnapshotImpl data to print. */ public static void print (SnapshotImpl sn) { // classes list, ClassData object type ! Iterator it = sn.getClasses().iterator(); while (it.hasNext()) { ClassData c = (ClassData) it.next(); System.out.println("CLASS = " + c.getName()); *************** *** 45,69 **** System.out.println(); } System.out.println("INSTANCE FIELDS:"); ! Iterator itI = c.getInstanceFields().iterator(); while (itI.hasNext()) { ! ClassFieldData f = (ClassFieldData) itI.next(); ! System.out.println(f.getName() + " SIGN = " + f.getSignature() ! ); ! System.out.println(); } System.out.println("STATIC FIELDS:"); ! Iterator itS = c.getStaticFields().iterator(); while (itS.hasNext()) { ! ClassFieldData f = (ClassFieldData) itS.next(); ! System.out.println(f.getName() + " SIGN = " + f.getSignature() ! ); ! System.out.println(); } } ! // groupThreads list, ThreadGroupData object type ! it = sn.groupOfThreads().iterator(); while (it.hasNext()) { ThreadGroupData g = (ThreadGroupData) it.next(); System.out.println("GROUP = " + g.getName()); --- 47,75 ---- System.out.println(); } System.out.println("INSTANCE FIELDS:"); ! Iterator itI = c.getFields().iterator(); while (itI.hasNext()) { ! FieldData f = (FieldData) itI.next(); ! if ( ! f.isStatic() ){ ! System.out.println(f.getName() + " SIGN = " + f.getSignature() ! ); ! System.out.println(); ! } } System.out.println("STATIC FIELDS:"); ! Iterator itS = c.getFields().iterator(); while (itS.hasNext()) { ! FieldData f = (FieldData) itS.next(); ! if ( ! f.isStatic() ){ ! System.out.println(f.getName() + " SIGN = " + f.getSignature() ! ); ! System.out.println(); ! } } } ! // groupThreads list, ThreadGroupData object type ! it = sn.getThreadGroups().iterator(); while (it.hasNext()) { ThreadGroupData g = (ThreadGroupData) it.next(); System.out.println("GROUP = " + g.getName()); *************** *** 73,80 **** System.out.println(th.getName() + " : "); } } ! // objectTypes list, AllocClassData object type it = sn.allocTypes().iterator(); while (it.hasNext()) { AllocTypeData o = (AllocTypeData) it.next(); --- 79,88 ---- System.out.println(th.getName() + " : "); } } ! // objectTypes list, AllocClassData object type + /* + //Couldn't resolve that it = sn.allocTypes().iterator(); while (it.hasNext()) { AllocTypeData o = (AllocTypeData) it.next(); *************** *** 116,152 **** break; default: s = null; ! break; } System.out.println(s); System.out.println(); } ! // arenas list, AllocArenaData object type // FIX arenas() ! it = sn.arenas().iterator(); while (it.hasNext()) { AllocArenaData a = (AllocArenaData) it.next(); System.out.println("ARENA = " + a.getName()); System.out.println(); } ! // instances are N/A from IProf! // leaving blank ! // gcs list, GCData object type // FIX gcs() ! it = sn.gcs().iterator(); while (it.hasNext()) { ! GCData g = (GCData) it.next(); System.out.println("GC:"); System.out.println("start: " + g.getStartTime()); System.out.println("end: " + g.getEndTime()); } ! // jniGlobalRefs and jniWeakGlobalRefs are N/A from IProf! // leaving blank ! // Hash Statistics are N/A. // leaving blank --- 124,160 ---- break; default: s = null; ! break; } System.out.println(s); System.out.println(); } ! */ // arenas list, AllocArenaData object type // FIX arenas() ! it = sn.getArenas().iterator(); while (it.hasNext()) { AllocArenaData a = (AllocArenaData) it.next(); System.out.println("ARENA = " + a.getName()); System.out.println(); } ! // instances are N/A from IProf! // leaving blank ! // gcs list, GCData object type // FIX gcs() ! it = sn.getGCRuns().iterator(); while (it.hasNext()) { ! GCRunData g = (GCRunData) it.next(); System.out.println("GC:"); System.out.println("start: " + g.getStartTime()); System.out.println("end: " + g.getEndTime()); } ! // jniGlobalRefs and jniWeakGlobalRefs are N/A from IProf! // leaving blank ! // Hash Statistics are N/A. // leaving blank *************** *** 169,191 **** int totalMonTraces = 0; int totalMonThreadMethods = 0; int totalMonThreadTraces = 0; ! it = sn.classes().iterator(); while (it.hasNext()) { ClassData c = (ClassData) it.next(); Iterator itM = c.getMethods().iterator(); while (itM.hasNext()) { MethodData m = (MethodData) itM.next(); ! Iterator itT = m.getAllocTraces().values().iterator(); while (itT.hasNext()) { AllocTraceData t = (AllocTraceData) itT.next(); totalAllocTraces ++; } ! itT = m.getCPUTraces().values().iterator(); while (itT.hasNext()) { CPUTraceData t = (CPUTraceData) itT.next(); totalCpuTraces ++; } ! itT = m.getMonTraces().values().iterator(); while (itT.hasNext()) { MonTraceData t = (MonTraceData) itT.next(); totalMonTraces ++; --- 177,199 ---- int totalMonTraces = 0; int totalMonThreadMethods = 0; int totalMonThreadTraces = 0; ! it = sn.getClasses().iterator(); while (it.hasNext()) { ClassData c = (ClassData) it.next(); Iterator itM = c.getMethods().iterator(); while (itM.hasNext()) { MethodData m = (MethodData) itM.next(); ! Iterator itT = m.getAllocTraces().iterator(); while (itT.hasNext()) { AllocTraceData t = (AllocTraceData) itT.next(); totalAllocTraces ++; } ! itT = m.getCPUTraces().iterator(); while (itT.hasNext()) { CPUTraceData t = (CPUTraceData) itT.next(); totalCpuTraces ++; } ! itT = m.getMonTraces().iterator(); while (itT.hasNext()) { MonTraceData t = (MonTraceData) itT.next(); totalMonTraces ++; *************** *** 194,199 **** --- 202,209 ---- } totalClasses ++; } + /* + //Couldn't resolve it = sn.allocTypes().iterator(); while (it.hasNext()) { AllocTypeData a = (AllocTypeData) it.next(); *************** *** 209,258 **** } totalAllocObjects ++; } ! it = sn.threads().iterator(); while (it.hasNext()) { ThreadData th = (ThreadData) it.next(); ! Iterator itA = th.getTypes().values().iterator(); while (itA.hasNext()) { ! AllocThreadTypeData a = (AllocThreadTypeData) itA.next(); Iterator itM = a.getMethods().values().iterator(); while (itM.hasNext()) { ! AllocThreadTypeMethodData m = (AllocThreadTypeMethodData) itM.next(); Iterator itT = m.getTraces().values().iterator(); while (itT.hasNext()) { ! AllocThreadTypeTraceData t = ! (AllocThreadTypeTraceData) itT.next(); ! totalAllocThreadObjectTraces ++; } totalAllocThreadObjectMethods ++; } totalAllocThreadObjects ++; } ! Iterator itM = th.getAllocMethods().values().iterator(); while (itM.hasNext()) { AllocThreadMethodData m = (AllocThreadMethodData) itM.next(); ! Iterator itT = m.getTraces().values().iterator(); while (itT.hasNext()) { AllocThreadTraceData t = (AllocThreadTraceData) itT.next(); totalAllocThreadTraces ++; } totalAllocThreadMethods ++; } ! itM = th.getCPUMethods().values().iterator(); while (itM.hasNext()) { CPUThreadMethodData m = (CPUThreadMethodData) itM.next(); ! Iterator itT = m.getTraces().values().iterator(); while (itT.hasNext()) { CPUThreadTraceData t = (CPUThreadTraceData) itT.next(); totalCpuThreadTraces ++; } totalCpuThreadMethods ++; } ! itM = th.getMonMethods().values().iterator(); while (itM.hasNext()) { MonThreadMethodData m = (MonThreadMethodData) itM.next(); ! Iterator itT = m. getTraces().values().iterator(); while (itT.hasNext()) { MonThreadTraceData t = (MonThreadTraceData) itT.next(); totalMonThreadTraces ++; --- 219,272 ---- } totalAllocObjects ++; } ! */ ! it = sn.getThreads().iterator(); while (it.hasNext()) { ThreadData th = (ThreadData) it.next(); ! /* ! Couldn't resolve ! Iterator itA = th.getTypes().iterator(); while (itA.hasNext()) { ! AllocTypeThreadData a = (AllocThreadTypeData) itA.next(); Iterator itM = a.getMethods().values().iterator(); while (itM.hasNext()) { ! AllocTypeThreadMethodData m = (AllocThreadTypeMethodData) itM.next(); Iterator itT = m.getTraces().values().iterator(); while (itT.hasNext()) { ! AllocTypeThreadTraceData t = ! (AllocTypeThreadTraceData) itT.next(); ! totalAllocThreadObjectTraces ++; } totalAllocThreadObjectMethods ++; } totalAllocThreadObjects ++; } ! */ ! Iterator itM = th.getAllocThreadMethods().iterator(); while (itM.hasNext()) { AllocThreadMethodData m = (AllocThreadMethodData) itM.next(); ! Iterator itT = m.getAllocThreadTraces().iterator(); while (itT.hasNext()) { AllocThreadTraceData t = (AllocThreadTraceData) itT.next(); totalAllocThreadTraces ++; } totalAllocThreadMethods ++; } ! itM = th.getCPUThreadMethods().iterator(); while (itM.hasNext()) { CPUThreadMethodData m = (CPUThreadMethodData) itM.next(); ! Iterator itT = m.getCPUThreadTraces().iterator(); while (itT.hasNext()) { CPUThreadTraceData t = (CPUThreadTraceData) itT.next(); totalCpuThreadTraces ++; } totalCpuThreadMethods ++; } ! itM = th.getMonThreadMethods().iterator(); while (itM.hasNext()) { MonThreadMethodData m = (MonThreadMethodData) itM.next(); ! Iterator itT = m.getMonThreadTraces().iterator(); while (itT.hasNext()) { MonThreadTraceData t = (MonThreadTraceData) itT.next(); totalMonThreadTraces ++; *************** *** 272,284 **** System.out.println(); System.out.println("AllocObjectMethod: " + totalAllocObjectMethods); System.out.println("AllocThreadMethod: " + totalAllocThreadMethods); ! System.out.println("AllocThreadObjectMethod: " + totalAllocThreadObjectMethods); System.out.println(); System.out.println("AllocTrace: " + totalAllocTraces); System.out.println("AllocObjectTrace: " + totalAllocObjectTraces); System.out.println("AllocThreadTrace: " + totalAllocThreadTraces); ! System.out.println("AllocThreadObjectTrace: " + totalAllocThreadObjectTraces); System.out.println(); System.out.println("CpuThreadMethod: " + totalCpuThreadMethods); --- 286,298 ---- System.out.println(); System.out.println("AllocObjectMethod: " + totalAllocObjectMethods); System.out.println("AllocThreadMethod: " + totalAllocThreadMethods); ! System.out.println("AllocThreadObjectMethod: " + totalAllocThreadObjectMethods); System.out.println(); System.out.println("AllocTrace: " + totalAllocTraces); System.out.println("AllocObjectTrace: " + totalAllocObjectTraces); System.out.println("AllocThreadTrace: " + totalAllocThreadTraces); ! System.out.println("AllocThreadObjectTrace: " + totalAllocThreadObjectTraces); System.out.println(); System.out.println("CpuThreadMethod: " + totalCpuThreadMethods); |
|
From: Pavel V. <va...@us...> - 2002-08-11 20:50:08
|
Update of /cvsroot/javaprofiler/jpi
In directory usw-pr-cvs1:/tmp/cvs-serv18664
Added Files:
build.xml
Log Message:
build script
by michal
--- NEW FILE: build.xml ---
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="../" default="jar" name="jpi">
<target name="init">
<tstamp/>
<!-- You can set up any variables you want used throughout the script here. -->
<!-- configuration ************************************************** -->
<!-- doxygen -->
<property name="doxygen_dir" location="D:\Program Files\doxygen-1.2.12"/>
<property name="doxygen_exec" location="${doxygen_dir}\bin\doxygen.exe"/>
<!-- end of configuration ******************************************* -->
<!-- Common classpath -->
<path id="project.classpath">
<pathelement location="jpi"/>
</path>
<!-- Common jar pattern set -->
<patternset id="project.jarpattern.exclude">
<exclude name="**/*.java"/>
<exclude name="**/*.bak"/>
<exclude name="**/*.form"/>
<exclude name="**/.nbattrs"/>
<exclude name="docs"/>
<!-- others are in deafult exlcudes (cvsfiles, "*~",".#*", etc.) -->
</patternset>
</target>
<target name="compile" depends="init" description="Compile .java files">
<property name="cp" refid="project.classpath"/>
<echo message="Classpath is ${cp}"/>
<javac classpathref="project.classpath" debug="true" failonerror="true">
<src>
<pathelement location="jpi"/>
</src>
<include name="net/**/*"/>
</javac>
</target>
<target name="jar" depends="init,compile" description="Create .jar">
<!-- To make a standalone app: -->
<!-- 1. Create a myapp.mf manifest somewhere. -->
<!-- 2. Put in it: -->
<!-- Manifest-Version: 1.0 -->
<!-- Main-Class: com.foo.Main -->
<!-- 3. Pass to <jar>: manifest="myapp.mf" -->
<jar compress="true" defaultexcludes="yes" jarfile="jpi/jpi.jar">
<fileset dir="jpi">
<include name="net/**/*"/>
<patternset refid="project.jarpattern.exclude"/>
<exclude name="jpi.jar"/>
</fileset>
</jar>
</target>
<target name="all" depends="init,jar,javadoc,doxygen" description="Build everything.">
<echo message="Application built. "/>
</target>
<target name="javadoc" depends="init" description="Javadoc for my API.">
<mkdir dir="jpi/docs/javadoc"/>
<javadoc Windowtitle="JPI" defaultexcludes="yes" destdir="jpi/docs/javadoc"
group="JPI net.sourceforge.javaprofiler.jpi.*"
private="on" failonerror="false">
<doctitle>Java Profiling Interface</doctitle>
<package name="net.sourceforge.javaprofiler.jpi.*"/>
<sourcepath>
<pathelement location="jpi"/>
</sourcepath>
</javadoc>
</target>
<target name="doxygen" depends="init" description="Doxygen documentation for my API.">
<echo message="executing: ${doxygen_exec}"/>
<exec executable="${doxygen_exec}" dir="jpi/docs" failonerror="false">
<arg file="jpiimpl/docs/doc_html.conf"/>
</exec>
<exec executable="${doxygen_exec}" dir="jpiimpl/docs" failonerror="false">
<arg file="jpi/docs/doc_latex.conf"/>
</exec>
</target>
<target name="clean" depends="init" description="Clean all build products.">
<delete>
<fileset dir="jpi">
<include name="**/*.class"/>
</fileset>
</delete>
<delete file="jpi/jpi.jar"/>
</target>
<target name="cleanall" depends="init,clean" description="Clean all build products and documnetation.">
<delete dir="jpi/docs/javadoc"/>
<delete dir="jpi/docs/html"/>
<delete dir="jpi/docs/latex"/>
</target>
</project>
|
|
From: Pavel V. <va...@us...> - 2002-08-09 00:34:31
|
Update of /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/data
In directory usw-pr-cvs1:/tmp/cvs-serv17734
Modified Files:
SnapshotImpl.java
Log Message:
fix (didn't compile)
Index: SnapshotImpl.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/data/SnapshotImpl.java,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -r1.29 -r1.30
*** SnapshotImpl.java 8 Aug 2002 23:28:37 -0000 1.29
--- SnapshotImpl.java 9 Aug 2002 00:34:26 -0000 1.30
***************
*** 764,767 ****
--- 764,768 ----
ThreadGroupData rf = (ThreadGroupData) refObj;
Integer parentID = new Integer( ((IProf.sThreadInfo) sid.info).parentObjId);
+ ThreadData parent = (ThreadData) libIDs.get( parentID);
ThreadData newObj = new ThreadData( sid, rf, parent, this );
rf.addThread( newObj );
***************
*** 1141,1144 ****
--- 1142,1148 ----
/*
* $Log$
+ * Revision 1.30 2002/08/09 00:34:26 vachis
+ * fix (didn't compile)
+ *
* Revision 1.29 2002/08/08 23:28:37 vachis
* fix CreateAndPutInt - GROUP_THREADS
|
|
From: Pavel V. <va...@us...> - 2002-08-08 23:37:38
|
Update of /cvsroot/javaprofiler/test/module In directory usw-pr-cvs1:/tmp/cvs-serv3568 Modified Files: runhist.sh runhist.bat Log Message: shmem Index: runhist.sh =================================================================== RCS file: /cvsroot/javaprofiler/test/module/runhist.sh,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** runhist.sh 8 Aug 2002 00:21:07 -0000 1.1 --- runhist.sh 8 Aug 2002 23:37:33 -0000 1.2 *************** *** 2,4 **** export CLASSPATH=../../module/javaprofiler.jar:../../jpiimpl/jpiimpl.jar:./:$CLASSPATH export LD_LIBRARY_PATH=../../library/src/profiler:../../library/src2 ! java TestAllocHistView --- 2,4 ---- export CLASSPATH=../../module/javaprofiler.jar:../../jpiimpl/jpiimpl.jar:./:$CLASSPATH export LD_LIBRARY_PATH=../../library/src/profiler:../../library/src2 ! java TestAllocHistView shmem Index: runhist.bat =================================================================== RCS file: /cvsroot/javaprofiler/test/module/runhist.bat,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** runhist.bat 25 Jul 2002 23:01:31 -0000 1.1 --- runhist.bat 8 Aug 2002 23:37:33 -0000 1.2 *************** *** 4,6 **** SET CLASSPATH=..\..\jpiimpl\jpiimpl.jar;..\..\module\javaprofiler.jar;.\;%CLASSPATH% set path=%JAVA_HOME%\bin;%path%;..\..\library\src2 ! java TestAllocHistView --- 4,6 ---- SET CLASSPATH=..\..\jpiimpl\jpiimpl.jar;..\..\module\javaprofiler.jar;.\;%CLASSPATH% set path=%JAVA_HOME%\bin;%path%;..\..\library\src2 ! java TestAllocHistView shmem |
|
From: Pavel V. <va...@us...> - 2002-08-08 23:35:16
|
Update of /cvsroot/javaprofiler/test/module
In directory usw-pr-cvs1:/tmp/cvs-serv2910
Modified Files:
TestAllocHistView.java
Log Message:
used sorting model
Index: TestAllocHistView.java
===================================================================
RCS file: /cvsroot/javaprofiler/test/module/TestAllocHistView.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** TestAllocHistView.java 8 Aug 2002 00:21:29 -0000 1.8
--- TestAllocHistView.java 8 Aug 2002 23:35:14 -0000 1.9
***************
*** 74,81 ****
});
! JTable table = new AllocHistogramTable(
! new AllocHistogramTableModel( image.getTypes(),
! image, Constants.TYPE )
! );
table.setPreferredScrollableViewportSize(new Dimension(600, 600));
--- 74,83 ----
});
! //when you stop using model call model.dispose()
! TableClickSorter sortedModel = new AllocTableClickSorter(
! new AllocHistogramTableModel( image.getTypes(),
! image, Constants.TYPE ) );
! JTable table = new AllocHistogramTable( sortedModel );
! sortedModel.addMouseListenerToHeaderInTable(table);
table.setPreferredScrollableViewportSize(new Dimension(600, 600));
***************
*** 174,183 ****
}
public static void main( String[] arg) {
! boolean useShmem = true;//false;
! //if (arg.length >= 1 && (arg[0].compareTo("shmem")==0)) {
! // useShmem = true;
! // System.out.println("Using shared memory.");
! //}
// let's run the test
--- 176,185 ----
}
public static void main( String[] arg) {
! boolean useShmem = false;
! if (arg.length >= 1 && (arg[0].compareTo("shmem")==0)) {
! useShmem = true;
! System.out.println("Using shared memory.");
! }
// let's run the test
|
|
From: Pavel V. <va...@us...> - 2002-08-08 23:33:07
|
Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views
In directory usw-pr-cvs1:/tmp/cvs-serv2279
Modified Files:
TableMap.java
Log Message:
fix
Index: TableMap.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/TableMap.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** TableMap.java 8 Aug 2002 06:45:04 -0000 1.1
--- TableMap.java 8 Aug 2002 23:33:04 -0000 1.2
***************
*** 22,26 ****
import javax.swing.table.TableModel;
! import javax.swing.table.DefaultTableModel;
import javax.swing.event.TableModelListener;
import javax.swing.event.TableModelEvent;
--- 22,26 ----
import javax.swing.table.TableModel;
! import javax.swing.table.AbstractTableModel;
import javax.swing.event.TableModelListener;
import javax.swing.event.TableModelEvent;
***************
*** 33,37 ****
* @author Pavel Vacha
*/
! public class TableMap extends DefaultTableModel
implements TableModelListener { //implementation issue
--- 33,37 ----
* @author Pavel Vacha
*/
! public class TableMap extends AbstractTableModel
implements TableModelListener { //implementation issue
|
|
From: Pavel V. <va...@us...> - 2002-08-08 23:32:45
|
Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views
In directory usw-pr-cvs1:/tmp/cvs-serv2152
Modified Files:
AllocHistogramTable.java
Log Message:
new design
Index: AllocHistogramTable.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/AllocHistogramTable.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** AllocHistogramTable.java 8 Aug 2002 00:18:23 -0000 1.6
--- AllocHistogramTable.java 8 Aug 2002 23:32:42 -0000 1.7
***************
*** 161,169 ****
barMax = barMax * 2;
- //FIXME??invoke later
repaint();
}
bar.setValue( (int) ((100*alloc.getLiveInstancesCount())/barMax) );
if (isBordered) {
--- 161,173 ----
barMax = barMax * 2;
repaint();
}
bar.setValue( (int) ((100*alloc.getLiveInstancesCount())/barMax) );
+
+ //??
+ if ( bar.getValue() < 1 && alloc.getLiveInstancesCount() > 0) {
+ bar.setValue(1);
+ }
if (isBordered) {
***************
*** 182,192 ****
}
}
return this;
}
}
//end of Renderers
!
! //editors
! //private class LongStringEditor extends
!
}
--- 186,205 ----
}
}
+
+ //??
+ bar.setBackground( Color.white );
+ bar.setBorderPainted( false );
+ if (isBordered) {
+ if (isSelected) {
+ bar.setBackground( table.getSelectionBackground() );
+ } else {
+ bar.setBackground( table.getBackground() );
+ }
+ }
+
return this;
}
}
//end of Renderers
!
}
|
|
From: Pavel V. <va...@us...> - 2002-08-08 23:28:42
|
Update of /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/data
In directory usw-pr-cvs1:/tmp/cvs-serv970
Modified Files:
SnapshotImpl.java
Log Message:
fix CreateAndPutInt - GROUP_THREADS
Index: SnapshotImpl.java
===================================================================
RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/data/SnapshotImpl.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -r1.28 -r1.29
*** SnapshotImpl.java 24 Jul 2002 22:29:22 -0000 1.28
--- SnapshotImpl.java 8 Aug 2002 23:28:37 -0000 1.29
***************
*** 762,766 ****
}
case IProf.GROUP_THREADS: {
! ThreadGroupData newObj = new ThreadGroupData( sid );
return newObj;
}
--- 762,773 ----
}
case IProf.GROUP_THREADS: {
! ThreadGroupData rf = (ThreadGroupData) refObj;
! Integer parentID = new Integer( ((IProf.sThreadInfo) sid.info).parentObjId);
! ThreadData newObj = new ThreadData( sid, rf, parent, this );
! rf.addThread( newObj );
! if (parent != null )
! parent.addChild( newObj );
! else //assign parent later
! postOpLst.add( new PostOpThreadData( parentID, newObj ) );
return newObj;
}
***************
*** 1134,1137 ****
--- 1141,1147 ----
/*
* $Log$
+ * Revision 1.29 2002/08/08 23:28:37 vachis
+ * fix CreateAndPutInt - GROUP_THREADS
+ *
* Revision 1.28 2002/07/24 22:29:22 vachis
* implements new interfaces for getting roots and info
|
|
From: Pavel V. <va...@us...> - 2002-08-08 06:45:10
|
Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views In directory usw-pr-cvs1:/tmp/cvs-serv1728 Added Files: TableMap.java TableClickSorter.java AllocTableClickSorter.java Log Message: models with sorting for JTable --- NEW FILE: TableMap.java --- /* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License Version * 1.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is available at http://www.sun.com/ * * The Original Code is the Java Profiler module. * The Initial Developers of the Original Code are Jan Stola, Pavel Vacha, * Michal Pise, Petr Luner, Lukas Petru and Marek Przeczek. * Portions created by Jan Stola are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Pavel Vacha are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Michal Pise are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Petr Luner are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Lukas Petru are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Marek Przeczek are Copyright (C) 2000-2001. All Rights Reserved. * * Contributors: Jan Stola, Pavel Vacha, Michal Pise, Petr Luner, * Lukas Petru and Marek Przeczek. */ package net.sourceforge.javaprofiler.module.views; import javax.swing.table.TableModel; import javax.swing.table.DefaultTableModel; import javax.swing.event.TableModelListener; import javax.swing.event.TableModelEvent; /**TableMap is TableModel that forwards all method calls to its model. * Events from the model forwards to its listeners. It designed as super class for * your map models with other funkcionality e.g. sorting. * * @author Pavel Vacha */ public class TableMap extends DefaultTableModel implements TableModelListener { //implementation issue protected TableModel model; /** Creates a new instance of TableMap */ public TableMap( TableModel model ) { this.model = model; this.model.addTableModelListener( this ); } public TableModel getModel() { return model; } public void setModel( TableModel model ) { this.model.removeTableModelListener( this ); this.model = model; this.model.addTableModelListener( this ); } //TableModel interface - forwarding public Object getValueAt(int row, int column) { return model.getValueAt( row, column ); } public void setValueAt(Object aValue, int row, int column) { model.setValueAt( aValue, row, column ); } public String getColumnName(int columnIndex) { return model.getColumnName(columnIndex); } public Class getColumnClass(int columnIndex) { return model.getColumnClass( columnIndex ); } public int getColumnCount() { return model.getColumnCount(); } public int getRowCount() { return model.getRowCount(); } public boolean isCellEditable(int rowIndex, int columnIndex) { return model.isCellEditable( rowIndex, columnIndex ); } //methods for adding/removing listeners inherited from DefaultTableModel //TableModelListener interface public void tableChanged(TableModelEvent e) { fireTableChanged(e); //forward event to our listeners } } --- NEW FILE: TableClickSorter.java --- /* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License Version * 1.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is available at http://www.sun.com/ * * The Original Code is the Java Profiler module. * The Initial Developers of the Original Code are Jan Stola, Pavel Vacha, * Michal Pise, Petr Luner, Lukas Petru and Marek Przeczek. * Portions created by Jan Stola are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Pavel Vacha are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Michal Pise are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Petr Luner are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Lukas Petru are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Marek Przeczek are Copyright (C) 2000-2001. All Rights Reserved. * * Contributors: Jan Stola, Pavel Vacha, Michal Pise, Petr Luner, * Lukas Petru and Marek Przeczek. */ package net.sourceforge.javaprofiler.module.views; import net.sourceforge.javaprofiler.module.views.TableMap; import javax.swing.JTable; import javax.swing.table.*; import javax.swing.event.TableModelEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.InputEvent; import java.util.*; /**TableClickSorter is TableMap model that provides sorting capabalities. * TableClickSorter doesn't keep model data, it stores only array of indexes and refernce to the model. * This array is reordered during sorting. Request made through getVauleAt(row, col) * are redirected to model via mapping array. * Sorting take place only when user clicks on column; newly added rows goes to * the bottom of the table. * !! You have to register listner on the JTable with * <code> addMouseListenerToHeaderInTable(JTable table) </code> method * * Usage : * * TableModel model1 = new AllocHistogramTableModel(); //or create any another TableModel that you wish * TableClickSorter model = new TableClickSorter(model1); * JTable table = new JTable(model); * model.addMouseListenerToHeaderInTable(table); * * @author Pavel Vacha */ public class TableClickSorter extends TableMap { private int indexes[] = new int[0]; private int usedCount = 0; //number uf used buckets in the indexes[] private ArrayList sortingColumns = new ArrayList(); /** Creates a new instance of TableClickSorter */ public TableClickSorter( TableModel model ) { super( model ); //adds listener, etc. initIndexes(); } public Object getValueAt(int row, int column) { return model.getValueAt(indexes[row], column); } public boolean isCellEditable(int row, int column) { return model.isCellEditable( indexes[row], column ); } public void setValueAt(Object value, int row, int column) { model.setValueAt( value, row, column ); } /** Attention when use this, you need care about synchronization. */ public void setModel(TableModel model) { super.setModel(model); initIndexes(); } public void tableChanged(TableModelEvent e) { switch (e.getType()) { case TableModelEvent.INSERT: addRows( e.getFirstRow(), e.getLastRow() ); break; case TableModelEvent.DELETE: delRows( e.getFirstRow(), e.getLastRow() ); break; case TableModelEvent.UPDATE: //nothing special } super.tableChanged( e ); } // Add a mouse listener to the Table to trigger a table sort // when a column heading is clicked in the JTable. public void addMouseListenerToHeaderInTable(JTable table) { final TableClickSorter sorter = this; final JTable tableView = table; tableView.setColumnSelectionAllowed(false); MouseAdapter listMouseListener = new MouseAdapter() { public void mouseClicked(MouseEvent e) { TableColumnModel columnModel = tableView.getColumnModel(); int viewColumn = columnModel.getColumnIndexAtX(e.getX()); int column = tableView.convertColumnIndexToModel(viewColumn); if (e.getClickCount() == 1 && column != -1) { int shiftPressed = e.getModifiers()&InputEvent.SHIFT_MASK; boolean ascending = (shiftPressed == 0); //PENDING //sorter.sortByColumn(column); } } }; JTableHeader th = tableView.getTableHeader(); th.addMouseListener(listMouseListener); } //---------------- SORTING //comparator public int compare( Object v1, Object v2 ) { //PENDING return 0; } public void sortByColumn( int column, boolean ascending ) { //PENDING sort care about column super.tableChanged( new TableModelEvent(this) ); } //---------------- handling events from TableModel listener private synchronized void initIndexes() { int i; usedCount = getRowCount(); indexes = new int[ (int) Math.ceil( usedCount * 1.1 ) ]; for (i=0; i<usedCount; i++ ) { indexes[i] = i; } } private synchronized void addRows( int first, int last ) { int i; if (first < usedCount) { //repair broken mapping for (i=0; i<usedCount; i++ ) if (indexes[i] >= first ) { indexes[i] += last-first+1; //number of added items } } //add new items condReallocateIndexes( last-first+1 + usedCount ); for ( i=usedCount; i<last-first+1 + usedCount; i++ ) { indexes[i] = first + (usedCount-i); } usedCount = last-first+1 + usedCount; } private synchronized void delRows( int first, int last ) { int i; for (i=0; i<usedCount; i++ ) if (indexes[i] >= first ) { indexes[i] -= last-first+1; //number of deleted items } System.arraycopy( indexes, first, indexes, last+1, usedCount-(last-first+1) ); for( i=usedCount-(last-first+1); i<usedCount; i++ ) indexes[i] = 0; usedCount = usedCount-(last-first+1); condReallocateIndexes( usedCount ); } //PENDING deside whether allocate new array private synchronized void condReallocateIndexes( int newSize ) { int i; int indexes2[] = new int[ (int) Math.ceil(newSize * 1.1) ]; System.arraycopy( indexes, 0, indexes2, 0, usedCount ); indexes = indexes2; } } --- NEW FILE: AllocTableClickSorter.java --- /* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License Version * 1.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is available at http://www.sun.com/ * * The Original Code is the Java Profiler module. * The Initial Developers of the Original Code are Jan Stola, Pavel Vacha, * Michal Pise, Petr Luner, Lukas Petru and Marek Przeczek. * Portions created by Jan Stola are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Pavel Vacha are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Michal Pise are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Petr Luner are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Lukas Petru are Copyright (C) 2000-2001. All Rights Reserved. * Portions created by Marek Przeczek are Copyright (C) 2000-2001. All Rights Reserved. * * Contributors: Jan Stola, Pavel Vacha, Michal Pise, Petr Luner, * Lukas Petru and Marek Przeczek. */ package net.sourceforge.javaprofiler.module.views; import javax.swing.table.TableModel; /** AllocTableClickSorter is TableClickSorter, in other words: It sorts TableModel for JTable * when you click on column header in JTable instance. * (Actually it sorts only indexes mapping to TableModel). The differnce is that * AllocTableClickSorter can sort AllocStat objects therefore you have to you use this with * AllocHistogramTable and AllocHistogramModel. * * * @author Pavel Vacha * @see TableClickSorter */ public class AllocTableClickSorter extends TableClickSorter { /** Creates a new instance of AllocTableClickSorter */ public AllocTableClickSorter( TableModel model ) { super( model ); } public int compare(Object v1, Object v2) { //PENDING return 0; } } |
|
From: Pavel V. <va...@us...> - 2002-08-08 00:21:31
|
Update of /cvsroot/javaprofiler/test/module
In directory usw-pr-cvs1:/tmp/cvs-serv22640
Modified Files:
TestAllocHistView.java
Log Message:
no message
Index: TestAllocHistView.java
===================================================================
RCS file: /cvsroot/javaprofiler/test/module/TestAllocHistView.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** TestAllocHistView.java 27 Jul 2002 22:29:03 -0000 1.7
--- TestAllocHistView.java 8 Aug 2002 00:21:29 -0000 1.8
***************
*** 174,179 ****
}
public static void main( String[] arg) {
// let's run the test
! TestAllocHistView test = new TestAllocHistView( true, true );
test.show();
--- 174,186 ----
}
public static void main( String[] arg) {
+ boolean useShmem = true;//false;
+
+ //if (arg.length >= 1 && (arg[0].compareTo("shmem")==0)) {
+ // useShmem = true;
+ // System.out.println("Using shared memory.");
+ //}
+
// let's run the test
! TestAllocHistView test = new TestAllocHistView( true, useShmem );
test.show();
|
|
From: Pavel V. <va...@us...> - 2002-08-08 00:21:10
|
Update of /cvsroot/javaprofiler/test/module In directory usw-pr-cvs1:/tmp/cvs-serv22402 Added Files: runhist.sh Log Message: script for linux --- NEW FILE: runhist.sh --- #! /bin/sh export CLASSPATH=../../module/javaprofiler.jar:../../jpiimpl/jpiimpl.jar:./:$CLASSPATH export LD_LIBRARY_PATH=../../library/src/profiler:../../library/src2 java TestAllocHistView |
|
From: Pavel V. <va...@us...> - 2002-08-08 00:20:31
|
Update of /cvsroot/javaprofiler/test/snapshot
In directory usw-pr-cvs1:/tmp/cvs-serv22068
Modified Files:
run1.sh run2.sh run3.sh runsnap.sh runsnap2.sh
Log Message:
fix - changed to relative path
Index: run1.sh
===================================================================
RCS file: /cvsroot/javaprofiler/test/snapshot/run1.sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** run1.sh 25 Jul 2002 08:06:40 -0000 1.1
--- run1.sh 8 Aug 2002 00:20:26 -0000 1.2
***************
*** 1,5 ****
#! /bin/sh
! export CLASSPATH=./Notepad.jar:$CLASSPATH
! export LD_LIBRARY_PATH=/home/pavel/Project/javaprof/library/src/profiler:/home/pavel/Project/javaprof/library/src2
#java -Xrunprofiler:commun_type=socket Notepad > out1.txt
java -Xrunprofiler:commun_type=shmem Notepad
--- 1,5 ----
#! /bin/sh
! export CLASSPATH=${JAVA_HOME}/demo/jfc/Notepad/Notepad.jar:$CLASSPATH
! export LD_LIBRARY_PATH=../../library/src/profiler:../../library/src2
#java -Xrunprofiler:commun_type=socket Notepad > out1.txt
java -Xrunprofiler:commun_type=shmem Notepad
Index: run2.sh
===================================================================
RCS file: /cvsroot/javaprofiler/test/snapshot/run2.sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** run2.sh 25 Jul 2002 08:06:40 -0000 1.1
--- run2.sh 8 Aug 2002 00:20:26 -0000 1.2
***************
*** 1,5 ****
#! /bin/sh
! export CLASSPATH=./SwingSet2.jar:$CLASSPATH
! export LD_LIBRARY_PATH=/home/pavel/Project/javaprof/library/src/profiler:/home/pavel/Project/javaprof/library/src2
java -Xrunprofiler:commun_type=shmem SwingSet2
#java -Xrunprofiler:commun_type=socket SwingSet2 > out2.txt
--- 1,5 ----
#! /bin/sh
! export CLASSPATH=${JAVA_HOME}/demo/jfc/SwingSet2/SwingSet2.jar:$CLASSPATH
! export LD_LIBRARY_PATH=../../library/src/profiler:../../library/src2
java -Xrunprofiler:commun_type=shmem SwingSet2
#java -Xrunprofiler:commun_type=socket SwingSet2 > out2.txt
Index: run3.sh
===================================================================
RCS file: /cvsroot/javaprofiler/test/snapshot/run3.sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** run3.sh 25 Jul 2002 08:06:40 -0000 1.1
--- run3.sh 8 Aug 2002 00:20:26 -0000 1.2
***************
*** 1,4 ****
#! /bin/sh
! export LD_LIBRARY_PATH=/home/pavel/Project/javaprof/library/src/profiler:/home/pavel/Project/javaprof/library/src2
#java -Xrunprofiler:commun_type=socket TestNoSwing > out3.txt
java -Xrunprofiler:commun_type=shmem TestNoSwing
--- 1,4 ----
#! /bin/sh
! export LD_LIBRARY_PATH=../../library/src/profiler:../../library/src2
#java -Xrunprofiler:commun_type=socket TestNoSwing > out3.txt
java -Xrunprofiler:commun_type=shmem TestNoSwing
Index: runsnap.sh
===================================================================
RCS file: /cvsroot/javaprofiler/test/snapshot/runsnap.sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** runsnap.sh 25 Jul 2002 08:06:40 -0000 1.1
--- runsnap.sh 8 Aug 2002 00:20:26 -0000 1.2
***************
*** 1,4 ****
#! /bin/sh
! export CLASSPATH=/home/pavel/Project/javaprof/jpiimpl/jpiimpl.jar:./:$CLASSPATH
! export LD_LIBRARY_PATH=/home/pavel/Project/javaprof/library/src/profiler:/home/pavel/Project/javaprof/library/src2
java TestSnap
--- 1,4 ----
#! /bin/sh
! export CLASSPATH=../../jpiimpl/jpiimpl.jar:./:$CLASSPATH
! export LD_LIBRARY_PATH=../../library/src/profiler:../../library/src2
java TestSnap
Index: runsnap2.sh
===================================================================
RCS file: /cvsroot/javaprofiler/test/snapshot/runsnap2.sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** runsnap2.sh 25 Jul 2002 08:06:40 -0000 1.1
--- runsnap2.sh 8 Aug 2002 00:20:26 -0000 1.2
***************
*** 1,4 ****
#! /bin/sh
! export CLASSPATH=/home/pavel/Project/javaprof/jpiimpl/jpiimpl.jar:./:$CLASSPATH
! export LD_LIBRARY_PATH=/home/pavel/Project/javaprof/library/src/profiler:/home/pavel/Project/javaprof/library/src2
java TestSnap2
--- 1,4 ----
#! /bin/sh
! export CLASSPATH=../../jpiimpl/jpiimpl.jar:./:$CLASSPATH
! export LD_LIBRARY_PATH=../../library/src/profiler:../../library/src2
java TestSnap2
|
|
From: Pavel V. <va...@us...> - 2002-08-08 00:18:29
|
Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views
In directory usw-pr-cvs1:/tmp/cvs-serv21136
Modified Files:
AllocHistogramTable.java
Log Message:
fix - size of columns
Index: AllocHistogramTable.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/AllocHistogramTable.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** AllocHistogramTable.java 31 Jul 2002 16:54:41 -0000 1.5
--- AllocHistogramTable.java 8 Aug 2002 00:18:23 -0000 1.6
***************
*** 48,60 ****
TableColumnModel cmodel = getColumnModel();
//set width for column with histogram and string
! for (i=1; i < cmodel.getColumnCount(); i++ ) {
clazz = model.getColumnClass(i);
if ( clazz == String.class ) {
! cmodel.getColumn(i).setPreferredWidth(500);
//JTextField textField = new JTextField();
//column.setCellEditor( new DefaultCellEditor( textField ) );
}
else if ( clazz == AllocStat.class ) {
! cmodel.getColumn(i).setPreferredWidth(250);
}
}
--- 48,60 ----
TableColumnModel cmodel = getColumnModel();
//set width for column with histogram and string
! for (i=0; i < cmodel.getColumnCount(); i++ ) {
clazz = model.getColumnClass(i);
if ( clazz == String.class ) {
! cmodel.getColumn(i).setPreferredWidth(250);
//JTextField textField = new JTextField();
//column.setCellEditor( new DefaultCellEditor( textField ) );
}
else if ( clazz == AllocStat.class ) {
! cmodel.getColumn(i).setPreferredWidth(200);
}
}
|
|
From: Lukas P. <pe...@us...> - 2002-08-07 18:20:43
|
Update of /cvsroot/javaprofiler/test/module
In directory usw-pr-cvs1:/tmp/cvs-serv5935
Modified Files:
MainThreads.java
Log Message:
shmem connecting enabled
Index: MainThreads.java
===================================================================
RCS file: /cvsroot/javaprofiler/test/module/MainThreads.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** MainThreads.java 29 Jul 2002 16:44:57 -0000 1.4
--- MainThreads.java 7 Aug 2002 17:43:12 -0000 1.5
***************
*** 72,75 ****
--- 72,76 ----
ActiveThreadsView view=new ActiveThreadsView(image);
+ view.setBorder(BorderFactory.createLineBorder(Color.GREEN));
frame.getContentPane().add(view, BorderLayout.CENTER);
***************
*** 87,91 ****
private static IProf connect (String hostName) {
! IProf iprof = new IProf(new CommunSetupSocket(CommunSetupSocket.
CLIENT_MODE, hostName, 25595));
try {
--- 88,96 ----
private static IProf connect (String hostName) {
! IProf iprof;
! if (hostName.compareTo("shmem")==0) {
! iprof = new IProf(new CommunSetupShMem());
! } else
! iprof = new IProf(new CommunSetupSocket(CommunSetupSocket.
CLIENT_MODE, hostName, 25595));
try {
***************
*** 102,106 ****
if (arg.length >= 1)
hostName = arg[0];
! System.out.println("host: " + hostName);
IProf iprof = connect(hostName);
--- 107,114 ----
if (arg.length >= 1)
hostName = arg[0];
! if (hostName.compareTo("shmem")==0)
! System.out.println("Shared memory.");
! else
! System.out.println("host: " + hostName);
IProf iprof = connect(hostName);
|
|
From: Lukas P. <pe...@us...> - 2002-08-07 18:17:14
|
Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views
In directory usw-pr-cvs1:/tmp/cvs-serv5075
Modified Files:
ActiveThreadsView.java
Log Message:
inner area color set
Index: ActiveThreadsView.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/views/ActiveThreadsView.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** ActiveThreadsView.java 30 Jul 2002 12:23:04 -0000 1.2
--- ActiveThreadsView.java 7 Aug 2002 17:42:06 -0000 1.3
***************
*** 62,66 ****
graph=new TimeSeriesGraph();
! graph.setGraphColor(new java.awt.Color(0x008000));
add(graph, BorderLayout.CENTER);
--- 62,67 ----
graph=new TimeSeriesGraph();
! graph.setGraphColor(new java.awt.Color(0x009000));
! graph.setInnerColor(java.awt.Color.WHITE);
add(graph, BorderLayout.CENTER);
|