Added option to filter on concatenated mote id and log message + removed compiler warnings
This commit is contained in:
parent
8ee7b3c3be
commit
00d6ae56b6
2 changed files with 25 additions and 7 deletions
|
@ -22,11 +22,12 @@ Right-click the main area for a popup menu with more options. \
|
||||||
<p>You may filter shown logs by entering regular expressions in the bottom text field. \
|
<p>You may filter shown logs by entering regular expressions in the bottom text field. \
|
||||||
Filtering is performed on both the Mote and the Data columns.\
|
Filtering is performed on both the Mote and the Data columns.\
|
||||||
<p><b>Filter examples:</b> \
|
<p><b>Filter examples:</b> \
|
||||||
<br><br>Hello<br><i>logs containing the string Hello</i>\
|
<br><br>Hello<br><i>logs containing the string 'Hello'</i>\
|
||||||
<br><br>^Contiki<br><i>logs starting with Contiki</i>\
|
<br><br>^Contiki<br><i>logs starting with 'Contiki'</i>\
|
||||||
<br><br>^[CR]<br><i>logs starting either a C or an R</i>\
|
<br><br>^[CR]<br><i>logs starting either a C or an R</i>\
|
||||||
<br><br>'Hello'$<br><i>logs ending with 'Hello'</i>\
|
<br><br>Hello$<br><i>logs ending with 'Hello'</i>\
|
||||||
<br><br>^ID:[2-3]$<br><i>logs from motes 2 and 3</i>
|
<br><br>^ID:[2-5]$<br><i>logs from motes 2 to 5</i>\
|
||||||
|
<br><br>^ID:[2-5]§Contiki<br><i>logs from motes 2 to 5 starting with 'Contiki'</i>
|
||||||
|
|
||||||
se.sics.cooja.plugins.TimeLine = \
|
se.sics.cooja.plugins.TimeLine = \
|
||||||
<b>Timeline</b>\
|
<b>Timeline</b>\
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* $Id: LogListener.java,v 1.21 2009/12/14 13:25:04 fros4943 Exp $
|
* $Id: LogListener.java,v 1.22 2010/01/12 15:42:08 nifi Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package se.sics.cooja.plugins;
|
package se.sics.cooja.plugins;
|
||||||
|
@ -96,10 +96,12 @@ public class LogListener extends VisPlugin {
|
||||||
private final static int COLUMN_TIME = 0;
|
private final static int COLUMN_TIME = 0;
|
||||||
private final static int COLUMN_FROM = 1;
|
private final static int COLUMN_FROM = 1;
|
||||||
private final static int COLUMN_DATA = 2;
|
private final static int COLUMN_DATA = 2;
|
||||||
|
private final static int COLUMN_CONCAT = 3;
|
||||||
private final static String[] COLUMN_NAMES = {
|
private final static String[] COLUMN_NAMES = {
|
||||||
"Time",
|
"Time",
|
||||||
"Mote",
|
"Mote",
|
||||||
"Message"
|
"Message",
|
||||||
|
"#"
|
||||||
};
|
};
|
||||||
|
|
||||||
private final JTable logTable;
|
private final JTable logTable;
|
||||||
|
@ -143,6 +145,8 @@ public class LogListener extends VisPlugin {
|
||||||
return log.strID;
|
return log.strID;
|
||||||
} else if (col == COLUMN_DATA) {
|
} else if (col == COLUMN_DATA) {
|
||||||
return log.ev.getMessage();
|
return log.ev.getMessage();
|
||||||
|
} else if (col == COLUMN_CONCAT) {
|
||||||
|
return log.strID + '§' + log.ev.getMessage();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -174,6 +178,7 @@ public class LogListener extends VisPlugin {
|
||||||
return super.getToolTipText(e);
|
return super.getToolTipText(e);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
logTable.getColumnModel().removeColumn(logTable.getColumnModel().getColumn(COLUMN_CONCAT));
|
||||||
logTable.setFillsViewportHeight(true);
|
logTable.setFillsViewportHeight(true);
|
||||||
logTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
|
logTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
|
||||||
logTable.setFont(new Font("Monospaced", Font.PLAIN, 12));
|
logTable.setFont(new Font("Monospaced", Font.PLAIN, 12));
|
||||||
|
@ -340,7 +345,7 @@ public class LogListener extends VisPlugin {
|
||||||
private void setFilter(String text) {
|
private void setFilter(String text) {
|
||||||
try {
|
try {
|
||||||
if (text != null && text.length() > 0) {
|
if (text != null && text.length() > 0) {
|
||||||
logFilter.setRowFilter(RowFilter.regexFilter(text, 1, 2));
|
logFilter.setRowFilter(RowFilter.regexFilter(text, COLUMN_FROM, COLUMN_DATA, COLUMN_CONCAT));
|
||||||
} else {
|
} else {
|
||||||
logFilter.setRowFilter(null);
|
logFilter.setRowFilter(null);
|
||||||
}
|
}
|
||||||
|
@ -385,6 +390,8 @@ public class LogListener extends VisPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Action saveAction = new AbstractAction("Save to file") {
|
private Action saveAction = new AbstractAction("Save to file") {
|
||||||
|
private static final long serialVersionUID = -4140706275748686944L;
|
||||||
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
JFileChooser fc = new JFileChooser();
|
JFileChooser fc = new JFileChooser();
|
||||||
int returnVal = fc.showSaveDialog(GUI.getTopParentContainer());
|
int returnVal = fc.showSaveDialog(GUI.getTopParentContainer());
|
||||||
|
@ -429,6 +436,8 @@ public class LogListener extends VisPlugin {
|
||||||
};
|
};
|
||||||
|
|
||||||
private Action timeLineAction = new AbstractAction("to Timeline") {
|
private Action timeLineAction = new AbstractAction("to Timeline") {
|
||||||
|
private static final long serialVersionUID = -6358463434933029699L;
|
||||||
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
TimeLine plugin = (TimeLine) simulation.getGUI().getStartedPlugin(TimeLine.class.getName());
|
TimeLine plugin = (TimeLine) simulation.getGUI().getStartedPlugin(TimeLine.class.getName());
|
||||||
if (plugin == null) {
|
if (plugin == null) {
|
||||||
|
@ -448,6 +457,8 @@ public class LogListener extends VisPlugin {
|
||||||
};
|
};
|
||||||
|
|
||||||
private Action radioLoggerAction = new AbstractAction("to Radio Logger") {
|
private Action radioLoggerAction = new AbstractAction("to Radio Logger") {
|
||||||
|
private static final long serialVersionUID = -3041714249257346688L;
|
||||||
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
RadioLogger plugin = (RadioLogger) simulation.getGUI().getStartedPlugin(RadioLogger.class.getName());
|
RadioLogger plugin = (RadioLogger) simulation.getGUI().getStartedPlugin(RadioLogger.class.getName());
|
||||||
if (plugin == null) {
|
if (plugin == null) {
|
||||||
|
@ -468,6 +479,8 @@ public class LogListener extends VisPlugin {
|
||||||
|
|
||||||
|
|
||||||
private Action clearAction = new AbstractAction("Clear") {
|
private Action clearAction = new AbstractAction("Clear") {
|
||||||
|
private static final long serialVersionUID = -2115620313183440224L;
|
||||||
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
int size = logs.size();
|
int size = logs.size();
|
||||||
if (size > 0) {
|
if (size > 0) {
|
||||||
|
@ -478,6 +491,8 @@ public class LogListener extends VisPlugin {
|
||||||
};
|
};
|
||||||
|
|
||||||
private Action copyAction = new AbstractAction("Copy selected") {
|
private Action copyAction = new AbstractAction("Copy selected") {
|
||||||
|
private static final long serialVersionUID = -8433490108577001803L;
|
||||||
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
|
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
|
||||||
|
|
||||||
|
@ -499,6 +514,8 @@ public class LogListener extends VisPlugin {
|
||||||
};
|
};
|
||||||
|
|
||||||
private Action copyAllAction = new AbstractAction("Copy all") {
|
private Action copyAllAction = new AbstractAction("Copy all") {
|
||||||
|
private static final long serialVersionUID = -5038884975254178373L;
|
||||||
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
|
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue