added "save log" functionality; simply writes to a text file
This commit is contained in:
parent
392e6961c4
commit
9a5501485b
|
@ -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.4 2007/01/09 09:49:24 fros4943 Exp $
|
* $Id: LogListener.java,v 1.5 2007/02/23 15:18:26 fros4943 Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package se.sics.cooja.plugins;
|
package se.sics.cooja.plugins;
|
||||||
|
@ -35,6 +35,7 @@ import java.awt.BorderLayout;
|
||||||
import java.awt.Insets;
|
import java.awt.Insets;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import java.io.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
@ -69,7 +70,7 @@ public class LogListener extends VisPlugin {
|
||||||
*
|
*
|
||||||
* @param simulationToControl Simulation to control
|
* @param simulationToControl Simulation to control
|
||||||
*/
|
*/
|
||||||
public LogListener(final Simulation simulationToControl, GUI gui) {
|
public LogListener(final Simulation simulationToControl, final GUI gui) {
|
||||||
super("Log Listener - Listening on ?? mote logs", gui);
|
super("Log Listener - Listening on ?? mote logs", gui);
|
||||||
simulation = simulationToControl;
|
simulation = simulationToControl;
|
||||||
int nrLogs = 0;
|
int nrLogs = 0;
|
||||||
|
@ -116,6 +117,7 @@ public class LogListener extends VisPlugin {
|
||||||
JPanel filterPanel = new JPanel();
|
JPanel filterPanel = new JPanel();
|
||||||
filterPanel.setLayout(new BoxLayout(filterPanel, BoxLayout.X_AXIS));
|
filterPanel.setLayout(new BoxLayout(filterPanel, BoxLayout.X_AXIS));
|
||||||
filterTextField = new JTextField("");
|
filterTextField = new JTextField("");
|
||||||
|
filterPanel.add(Box.createVerticalStrut(2));
|
||||||
filterPanel.add(new JLabel("Filter on string: "));
|
filterPanel.add(new JLabel("Filter on string: "));
|
||||||
filterPanel.add(filterTextField);
|
filterPanel.add(filterTextField);
|
||||||
filterTextField.addActionListener(new ActionListener() {
|
filterTextField.addActionListener(new ActionListener() {
|
||||||
|
@ -123,6 +125,51 @@ public class LogListener extends VisPlugin {
|
||||||
filterText = filterTextField.getText();
|
filterText = filterTextField.getText();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
filterPanel.add(Box.createVerticalStrut(2));
|
||||||
|
JButton saveButton;
|
||||||
|
filterPanel.add(saveButton = new JButton("Save log"));
|
||||||
|
saveButton.addActionListener(new ActionListener() {
|
||||||
|
public void actionPerformed(ActionEvent ev) {
|
||||||
|
JFileChooser fc = new JFileChooser();
|
||||||
|
|
||||||
|
int returnVal = fc.showSaveDialog(GUI.frame);
|
||||||
|
if (returnVal == JFileChooser.APPROVE_OPTION) {
|
||||||
|
File saveFile = fc.getSelectedFile();
|
||||||
|
|
||||||
|
if (saveFile.exists()) {
|
||||||
|
String s1 = "Overwrite";
|
||||||
|
String s2 = "Cancel";
|
||||||
|
Object[] options = { s1, s2 };
|
||||||
|
int n = JOptionPane
|
||||||
|
.showOptionDialog(
|
||||||
|
GUI.frame,
|
||||||
|
"A file with the same name already exists.\nDo you want to remove it?",
|
||||||
|
"Overwrite existing file?", JOptionPane.YES_NO_OPTION,
|
||||||
|
JOptionPane.QUESTION_MESSAGE, null, options, s1);
|
||||||
|
if (n != JOptionPane.YES_OPTION) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!saveFile.exists() || saveFile.canWrite()) {
|
||||||
|
logger.debug("SAVING NOW!");
|
||||||
|
try {
|
||||||
|
BufferedWriter outStream = new BufferedWriter(
|
||||||
|
new OutputStreamWriter(
|
||||||
|
new FileOutputStream(
|
||||||
|
saveFile)));
|
||||||
|
outStream.write(logTextArea.getText());
|
||||||
|
outStream.close();
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.fatal("Could not write to file: " + saveFile);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else
|
||||||
|
logger.fatal("No write access to file");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
getContentPane().add(BorderLayout.CENTER, new JScrollPane(logTextArea));
|
getContentPane().add(BorderLayout.CENTER, new JScrollPane(logTextArea));
|
||||||
getContentPane().add(BorderLayout.SOUTH, new JScrollPane(filterPanel));
|
getContentPane().add(BorderLayout.SOUTH, new JScrollPane(filterPanel));
|
||||||
|
|
Loading…
Reference in a new issue