mirror of https://github.com/rusefi/RomRaider.git
logger profile & log output dir updates/fixes
git-svn-id: http://svn.3splooges.com/romraider-arch/trunk@380 d2e2e1cd-ba16-0410-be16-b7c4453c7c2d
This commit is contained in:
parent
d8b521c9eb
commit
c657d7e22c
|
@ -43,7 +43,7 @@ public class Settings implements Serializable {
|
||||||
private String loggerProtocol = "SSM";
|
private String loggerProtocol = "SSM";
|
||||||
private String loggerConfigFilePath = "logger.xml";
|
private String loggerConfigFilePath = "logger.xml";
|
||||||
private String loggerProfileFilePath = "profile.xml";
|
private String loggerProfileFilePath = "profile.xml";
|
||||||
private File loggerOutputDir = new File(".");
|
private String loggerOutputDirPath = "";
|
||||||
|
|
||||||
private Dimension loggerWindowSize = new Dimension(1000, 600);
|
private Dimension loggerWindowSize = new Dimension(1000, 600);
|
||||||
private Point loggerWindowLocation = new Point();
|
private Point loggerWindowLocation = new Point();
|
||||||
|
@ -292,8 +292,8 @@ public class Settings implements Serializable {
|
||||||
return loggerConfigFilePath;
|
return loggerConfigFilePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
public File getLoggerOutputDir() {
|
public String getLoggerOutputDirPath() {
|
||||||
return loggerOutputDir;
|
return loggerOutputDirPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Point getLoggerWindowLocation() {
|
public Point getLoggerWindowLocation() {
|
||||||
|
@ -328,6 +328,10 @@ public class Settings implements Serializable {
|
||||||
this.loggerProfileFilePath = loggerProfileFilePath;
|
this.loggerProfileFilePath = loggerProfileFilePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setLoggerOutputDirPath(String loggerOutputDirPath) {
|
||||||
|
this.loggerOutputDirPath = loggerOutputDirPath;
|
||||||
|
}
|
||||||
|
|
||||||
public String getEcuDefsURL() {
|
public String getEcuDefsURL() {
|
||||||
return ecuDefsURL;
|
return ecuDefsURL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -171,7 +171,10 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC
|
||||||
EcuDataLoader dataLoader = new EcuDataLoaderImpl();
|
EcuDataLoader dataLoader = new EcuDataLoaderImpl();
|
||||||
dataLoader.loadFromXml(settings.getLoggerConfigFilePath(), settings.getLoggerProtocol());
|
dataLoader.loadFromXml(settings.getLoggerConfigFilePath(), settings.getLoggerProtocol());
|
||||||
loadEcuData(dataLoader, profileFilePath);
|
loadEcuData(dataLoader, profileFilePath);
|
||||||
setTitle("Profile: " + profileFilePath);
|
File profileFile = new File(profileFilePath);
|
||||||
|
if (profileFile.exists()) {
|
||||||
|
setTitle("Profile: " + profileFile.getAbsolutePath());
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
reportError(e);
|
reportError(e);
|
||||||
|
|
|
@ -67,7 +67,7 @@ public final class FileLoggerImpl implements FileLogger {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String buildFilePath() {
|
private String buildFilePath() {
|
||||||
String logDir = settings.getLoggerOutputDir().getAbsolutePath();
|
String logDir = settings.getLoggerOutputDirPath();
|
||||||
if (!logDir.endsWith(File.separator)) {
|
if (!logDir.endsWith(File.separator)) {
|
||||||
logDir += File.separator;
|
logDir += File.separator;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import enginuity.logger.EcuLogger;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import static javax.swing.JFileChooser.APPROVE_OPTION;
|
import static javax.swing.JFileChooser.APPROVE_OPTION;
|
||||||
|
import static javax.swing.JFileChooser.DIRECTORIES_ONLY;
|
||||||
import static javax.swing.JOptionPane.OK_OPTION;
|
import static javax.swing.JOptionPane.OK_OPTION;
|
||||||
import static javax.swing.JOptionPane.showConfirmDialog;
|
import static javax.swing.JOptionPane.showConfirmDialog;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
@ -15,18 +16,14 @@ import java.io.IOException;
|
||||||
public class EcuLoggerMenuBar extends JMenuBar implements ActionListener {
|
public class EcuLoggerMenuBar extends JMenuBar implements ActionListener {
|
||||||
|
|
||||||
private JMenu fileMenu = new JMenu("File");
|
private JMenu fileMenu = new JMenu("File");
|
||||||
private JMenuItem openProfile = new JMenuItem("Open Profile...");
|
private JMenuItem loadProfile = new JMenuItem("Load Profile...");
|
||||||
private JMenuItem saveProfile = new JMenuItem("Save Profile");
|
private JMenuItem saveProfile = new JMenuItem("Save Profile");
|
||||||
private JMenuItem saveProfileAs = new JMenuItem("Save Profile As...");
|
private JMenuItem saveProfileAs = new JMenuItem("Save Profile As...");
|
||||||
private JMenuItem exit = new JMenuItem("Exit");
|
private JMenuItem exit = new JMenuItem("Exit");
|
||||||
|
|
||||||
private JMenu editMenu = new JMenu("Edit");
|
private JMenu settingsMenu = new JMenu("Settings");
|
||||||
private JMenuItem profileManager = new JMenuItem("Profile Manager");
|
private JMenuItem profileManager = new JMenuItem("Profile Manager");
|
||||||
private JMenuItem settings = new JMenuItem("Settings");
|
private JMenuItem logFileLocation = new JMenuItem("Log File Output Location...");
|
||||||
|
|
||||||
private JMenu loggerMenu = new JMenu("Logger");
|
|
||||||
private JMenuItem startLogging = new JMenuItem("Start Logging");
|
|
||||||
private JMenuItem stopLogging = new JMenuItem("Stop Logging");
|
|
||||||
|
|
||||||
private JMenu helpMenu = new JMenu("Help");
|
private JMenu helpMenu = new JMenu("Help");
|
||||||
private JMenuItem about = new JMenuItem("About Enginuity ECU Logger");
|
private JMenuItem about = new JMenuItem("About Enginuity ECU Logger");
|
||||||
|
@ -39,39 +36,30 @@ public class EcuLoggerMenuBar extends JMenuBar implements ActionListener {
|
||||||
// file menu items
|
// file menu items
|
||||||
add(fileMenu);
|
add(fileMenu);
|
||||||
fileMenu.setMnemonic('F');
|
fileMenu.setMnemonic('F');
|
||||||
openProfile.setMnemonic('O');
|
loadProfile.setMnemonic('O');
|
||||||
saveProfile.setMnemonic('S');
|
saveProfile.setMnemonic('S');
|
||||||
saveProfileAs.setMnemonic('A');
|
saveProfileAs.setMnemonic('A');
|
||||||
exit.setMnemonic('X');
|
exit.setMnemonic('X');
|
||||||
fileMenu.add(openProfile);
|
fileMenu.add(loadProfile);
|
||||||
fileMenu.add(saveProfile);
|
fileMenu.add(saveProfile);
|
||||||
fileMenu.add(saveProfileAs);
|
fileMenu.add(saveProfileAs);
|
||||||
fileMenu.add(new JSeparator());
|
fileMenu.add(new JSeparator());
|
||||||
fileMenu.add(exit);
|
fileMenu.add(exit);
|
||||||
openProfile.addActionListener(this);
|
loadProfile.addActionListener(this);
|
||||||
saveProfile.addActionListener(this);
|
saveProfile.addActionListener(this);
|
||||||
saveProfileAs.addActionListener(this);
|
saveProfileAs.addActionListener(this);
|
||||||
exit.addActionListener(this);
|
exit.addActionListener(this);
|
||||||
|
|
||||||
// edit menu items
|
// settings menu items
|
||||||
add(editMenu);
|
add(settingsMenu);
|
||||||
editMenu.setMnemonic('E');
|
settingsMenu.setMnemonic('E');
|
||||||
profileManager.setMnemonic('P');
|
profileManager.setMnemonic('P');
|
||||||
settings.setMnemonic('S');
|
logFileLocation.setMnemonic('F');
|
||||||
editMenu.add(profileManager);
|
settingsMenu.add(profileManager);
|
||||||
editMenu.add(settings);
|
settingsMenu.add(new JSeparator());
|
||||||
|
settingsMenu.add(logFileLocation);
|
||||||
profileManager.addActionListener(this);
|
profileManager.addActionListener(this);
|
||||||
settings.addActionListener(this);
|
logFileLocation.addActionListener(this);
|
||||||
|
|
||||||
// logger menu stuff
|
|
||||||
add(loggerMenu);
|
|
||||||
loggerMenu.setMnemonic('L');
|
|
||||||
startLogging.setMnemonic('A');
|
|
||||||
stopLogging.setMnemonic('O');
|
|
||||||
loggerMenu.add(startLogging);
|
|
||||||
loggerMenu.add(stopLogging);
|
|
||||||
startLogging.addActionListener(this);
|
|
||||||
stopLogging.addActionListener(this);
|
|
||||||
|
|
||||||
// help menu stuff
|
// help menu stuff
|
||||||
add(helpMenu);
|
add(helpMenu);
|
||||||
|
@ -83,15 +71,14 @@ public class EcuLoggerMenuBar extends JMenuBar implements ActionListener {
|
||||||
// disable unimplemented buttons!
|
// disable unimplemented buttons!
|
||||||
about.setEnabled(false);
|
about.setEnabled(false);
|
||||||
profileManager.setEnabled(false);
|
profileManager.setEnabled(false);
|
||||||
settings.setEnabled(false);
|
|
||||||
about.setEnabled(false);
|
about.setEnabled(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void actionPerformed(ActionEvent evt) {
|
public void actionPerformed(ActionEvent evt) {
|
||||||
if (evt.getSource() == openProfile) {
|
if (evt.getSource() == loadProfile) {
|
||||||
try {
|
try {
|
||||||
openProfileDialog();
|
loadProfileDialog();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
parent.reportError(e);
|
parent.reportError(e);
|
||||||
}
|
}
|
||||||
|
@ -123,19 +110,13 @@ public class EcuLoggerMenuBar extends JMenuBar implements ActionListener {
|
||||||
parent.reportError(e);
|
parent.reportError(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (evt.getSource() == settings) {
|
} else if (evt.getSource() == logFileLocation) {
|
||||||
try {
|
try {
|
||||||
openSettingsEditor();
|
setLogFileLocationDialog();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
parent.reportError(e);
|
parent.reportError(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (evt.getSource() == startLogging) {
|
|
||||||
parent.startLogging();
|
|
||||||
|
|
||||||
} else if (evt.getSource() == stopLogging) {
|
|
||||||
parent.stopLogging();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,20 +127,24 @@ public class EcuLoggerMenuBar extends JMenuBar implements ActionListener {
|
||||||
// form.setVisible(true);
|
// form.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void openSettingsEditor() {
|
private void setLogFileLocationDialog() throws Exception {
|
||||||
//TODO: Finish settings editor!!
|
File lastLoggerOutputDir = new File(parent.getSettings().getLoggerOutputDirPath());
|
||||||
// DefinitionManager form = new DefinitionManager(parent);
|
JFileChooser fc = getLoggerOutputDirFileChooser(lastLoggerOutputDir);
|
||||||
// form.setLocationRelativeTo(parent);
|
if (fc.showOpenDialog(parent) == APPROVE_OPTION) {
|
||||||
// form.setVisible(true);
|
String loggerOutputDirPath = fc.getSelectedFile().getAbsolutePath();
|
||||||
|
parent.getSettings().setLoggerOutputDirPath(loggerOutputDirPath);
|
||||||
|
parent.reportMessage("Log file output location successfully updated: " + loggerOutputDirPath);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void openProfileDialog() throws Exception {
|
private void loadProfileDialog() throws Exception {
|
||||||
File lastProfileFile = new File(parent.getSettings().getLoggerProfileFilePath());
|
File lastProfileFile = new File(parent.getSettings().getLoggerProfileFilePath());
|
||||||
JFileChooser fc = getProfileFileChooser(lastProfileFile);
|
JFileChooser fc = getProfileFileChooser(lastProfileFile);
|
||||||
if (fc.showOpenDialog(parent) == APPROVE_OPTION) {
|
if (fc.showOpenDialog(parent) == APPROVE_OPTION) {
|
||||||
String profileFilePath = fc.getSelectedFile().getAbsolutePath();
|
String profileFilePath = fc.getSelectedFile().getAbsolutePath();
|
||||||
parent.reloadUserProfile(profileFilePath);
|
parent.reloadUserProfile(profileFilePath);
|
||||||
parent.getSettings().setLoggerProfileFilePath(profileFilePath);
|
parent.getSettings().setLoggerProfileFilePath(profileFilePath);
|
||||||
|
parent.setTitle("Profile: " + profileFilePath);
|
||||||
parent.reportMessage("Profile succesfully loaded: " + profileFilePath);
|
parent.reportMessage("Profile succesfully loaded: " + profileFilePath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -193,8 +178,8 @@ public class EcuLoggerMenuBar extends JMenuBar implements ActionListener {
|
||||||
} finally {
|
} finally {
|
||||||
fos.close();
|
fos.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
parent.getSettings().setLoggerProfileFilePath(profileFilePath);
|
parent.getSettings().setLoggerProfileFilePath(profileFilePath);
|
||||||
|
parent.setTitle("Profile: " + profileFilePath);
|
||||||
parent.reportMessage("Profile succesfully saved: " + profileFilePath);
|
parent.reportMessage("Profile succesfully saved: " + profileFilePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -209,4 +194,15 @@ public class EcuLoggerMenuBar extends JMenuBar implements ActionListener {
|
||||||
return fc;
|
return fc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private JFileChooser getLoggerOutputDirFileChooser(File lastLoggerOutputDir) {
|
||||||
|
JFileChooser fc;
|
||||||
|
if (lastLoggerOutputDir.exists() && lastLoggerOutputDir.isDirectory()) {
|
||||||
|
fc = new JFileChooser(lastLoggerOutputDir.getAbsolutePath());
|
||||||
|
} else {
|
||||||
|
fc = new JFileChooser();
|
||||||
|
}
|
||||||
|
fc.setFileSelectionMode(DIRECTORIES_ONLY);
|
||||||
|
return fc;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -225,6 +225,11 @@ public final class DOMSettingsBuilder {
|
||||||
profile.setAttribute("path", settings.getLoggerProfileFilePath());
|
profile.setAttribute("path", settings.getLoggerProfileFilePath());
|
||||||
loggerSettings.appendChild(profile);
|
loggerSettings.appendChild(profile);
|
||||||
|
|
||||||
|
// log file output path
|
||||||
|
IIOMetadataNode outputDir = new IIOMetadataNode("outputdir");
|
||||||
|
outputDir.setAttribute("path", settings.getLoggerOutputDirPath());
|
||||||
|
loggerSettings.appendChild(outputDir);
|
||||||
|
|
||||||
return loggerSettings;
|
return loggerSettings;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -198,6 +198,9 @@ public final class DOMSettingsUnmarshaller {
|
||||||
} else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("profile")) {
|
} else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("profile")) {
|
||||||
settings.setLoggerProfileFilePath(unmarshallAttribute(n, "path", ""));
|
settings.setLoggerProfileFilePath(unmarshallAttribute(n, "path", ""));
|
||||||
|
|
||||||
|
} else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("outputdir")) {
|
||||||
|
settings.setLoggerOutputDirPath(unmarshallAttribute(n, "path", ""));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return settings;
|
return settings;
|
||||||
|
|
Loading…
Reference in New Issue