clean up cal/ecu id handling

git-svn-id: https://svn2.assembla.com/svn/romraider/trunk@163 38686702-15cf-42e4-a595-3071df8bf5ea
This commit is contained in:
kascade 2008-09-28 11:09:23 +00:00
parent 7e9c18dbb5
commit 2dbda0b5f1
2 changed files with 21 additions and 16 deletions

View File

@ -115,7 +115,7 @@ import static javax.swing.JTabbedPane.BOTTOM;
import javax.swing.JTable;
import javax.swing.JToggleButton;
import static javax.swing.KeyStroke.getKeyStroke;
import javax.swing.SwingUtilities;
import static javax.swing.SwingUtilities.invokeLater;
import javax.swing.table.TableColumn;
import java.awt.BorderLayout;
import static java.awt.BorderLayout.CENTER;
@ -243,23 +243,27 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC
this.settings = settings;
EcuInitCallback ecuInitCallback = new EcuInitCallback() {
public void callback(EcuInit newEcuInit) {
LOGGER.info("ECU ID = " + newEcuInit.getEcuId());
if (ecuInit == null || !ecuInit.getEcuId().equals(newEcuInit.getEcuId())) {
final String ecuId = newEcuInit.getEcuId();
LOGGER.info("ECU ID = " + ecuId);
if (ecuInit == null || !ecuInit.getEcuId().equals(ecuId)) {
ecuInit = newEcuInit;
SwingUtilities.invokeLater(new Runnable() {
invokeLater(new Runnable() {
public void run() {
String ecuId = ecuInit.getEcuId();
Map<String, EcuDefinition> ecuDefinitionMap = settings.getLoggerEcuDefinitionMap();
if (!isNullOrEmpty(ecuDefinitionMap)) {
String calId = ecuDefinitionMap.get(ecuId).getCalId();
LOGGER.info("CAL ID = " + calId);
calIdLabel.setText(buildEcuInfoLabelText(CAL_ID_LABEL, calId));
}
String calId = getCalId(ecuId);
LOGGER.info("CAL ID = " + calId);
calIdLabel.setText(buildEcuInfoLabelText(CAL_ID_LABEL, calId));
ecuIdLabel.setText(buildEcuInfoLabelText(ECU_ID_LABEL, ecuId));
LOGGER.info("Loading logger config for new ECU (ecuid: " + ecuId + ")...");
loadLoggerParams();
loadUserProfile(settings.getLoggerProfileFilePath());
}
private String getCalId(String ecuId) {
Map<String, EcuDefinition> ecuDefinitionMap = settings.getLoggerEcuDefinitionMap();
if (ecuDefinitionMap == null) return null;
EcuDefinition def = ecuDefinitionMap.get(ecuId);
return def == null ? null : def.getCalId();
}
});
}
}
@ -1026,7 +1030,7 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC
public void reportMessage(final String message) {
if (message != null) {
SwingUtilities.invokeLater(new Runnable() {
invokeLater(new Runnable() {
public void run() {
messageLabel.setText(message);
messageLabel.setForeground(BLACK);
@ -1041,7 +1045,7 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC
public void reportStats(final String message) {
if (!isNullOrEmpty(message)) {
SwingUtilities.invokeLater(new Runnable() {
invokeLater(new Runnable() {
public void run() {
statsLabel.setText(message);
}
@ -1058,7 +1062,7 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC
public void reportError(final String error) {
if (!isNullOrEmpty(error)) {
SwingUtilities.invokeLater(new Runnable() {
invokeLater(new Runnable() {
public void run() {
messageLabel.setText("Error: " + error);
messageLabel.setForeground(RED);
@ -1112,7 +1116,7 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC
}
private static void createAndShowGui(final int defaultCloseOperation, final EcuLogger ecuLogger, final boolean fullscreen) {
SwingUtilities.invokeLater(new Runnable() {
invokeLater(new Runnable() {
public void run() {
doCreateAndShowGui(defaultCloseOperation, ecuLogger, fullscreen);
}

View File

@ -23,6 +23,7 @@ package com.romraider.logger.ecu.comms.query;
import static com.romraider.util.HexUtil.asHex;
import static com.romraider.util.ParamChecker.checkNotNullOrEmpty;
import static java.lang.System.arraycopy;
public final class SSMEcuInit implements EcuInit {
private byte[] ecuInitBytes;
@ -32,7 +33,7 @@ public final class SSMEcuInit implements EcuInit {
checkNotNullOrEmpty(ecuInitBytes, "ecuInitBytes");
this.ecuInitBytes = ecuInitBytes;
byte[] ecuIdBytes = new byte[5];
System.arraycopy(ecuInitBytes, 3, ecuIdBytes, 0, 5);
arraycopy(ecuInitBytes, 3, ecuIdBytes, 0, 5);
ecuId = asHex(ecuIdBytes);
}