only:refactoring: extract part of functionality into `backUpCalibrationsInfo` method #7357
This commit is contained in:
parent
aa85b21f12
commit
6aef7e8ff4
|
@ -20,9 +20,7 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
|
||||||
|
|
||||||
public class CalibrationsBackuper {
|
public class CalibrationsBackuper {
|
||||||
private static final Logging log = getLogging(CalibrationsBackuper.class);
|
private static final Logging log = getLogging(CalibrationsBackuper.class);
|
||||||
private static final String PREVIOUS_CALIBRATIONS_INI = "prev_calibrations.ini";
|
private static final String PREVIOUS_CALIBRATIONS_FILE_NAME = "prev_calibrations";
|
||||||
private static final String PREVIOUS_CALIBRATIONS_BINARY = "prev_calibrations.zip";
|
|
||||||
private static final String PREVIOUS_CALIBRATIONS_XML = "prev_calibrations.msq";
|
|
||||||
|
|
||||||
static Optional<CalibrationsInfo> readCalibrationsInfo(
|
static Optional<CalibrationsInfo> readCalibrationsInfo(
|
||||||
final BinaryProtocol binaryProtocol,
|
final BinaryProtocol binaryProtocol,
|
||||||
|
@ -45,6 +43,47 @@ public class CalibrationsBackuper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static boolean backUpCalibrationsInfo(
|
||||||
|
final BinaryProtocol binaryProtocol,
|
||||||
|
final CalibrationsInfo calibrationsInfo,
|
||||||
|
final String fileName,
|
||||||
|
final UpdateOperationCallbacks callbacks
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
final String iniFileName = String.format("%s.ini", fileName);
|
||||||
|
final Path iniFilePath = Paths.get(calibrationsInfo.getIniFile().getIniFilePath());
|
||||||
|
callbacks.logLine(String.format("Backing up current ini-file `%s`...", iniFilePath));
|
||||||
|
Files.copy(
|
||||||
|
iniFilePath,
|
||||||
|
Paths.get(iniFileName),
|
||||||
|
REPLACE_EXISTING
|
||||||
|
);
|
||||||
|
callbacks.logLine(String.format(
|
||||||
|
"`%s` ini-file is backed up as `%s`",
|
||||||
|
iniFilePath.getFileName(),
|
||||||
|
iniFileName
|
||||||
|
));
|
||||||
|
final String zipFileName = String.format("%s.zip", fileName);
|
||||||
|
final String msqFileName = String.format("%s.msq", fileName);
|
||||||
|
callbacks.logLine(String.format(
|
||||||
|
"Backing up calibrations to files `%s` and `%s`...",
|
||||||
|
zipFileName,
|
||||||
|
msqFileName
|
||||||
|
));
|
||||||
|
binaryProtocol.saveConfigurationImageToFiles(calibrationsInfo.getImage(), zipFileName, msqFileName);
|
||||||
|
callbacks.logLine(String.format(
|
||||||
|
"Calibrations are backed up to files `%s` and `%s`",
|
||||||
|
zipFileName,
|
||||||
|
msqFileName
|
||||||
|
));
|
||||||
|
return true;
|
||||||
|
} catch (final Exception e) {
|
||||||
|
log.error("Backing up calibrations failed:", e);
|
||||||
|
callbacks.logLine("Backing up current calibrations failed");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean backUpCurrentCalibrations(
|
public static boolean backUpCurrentCalibrations(
|
||||||
final PortResult ecuPort,
|
final PortResult ecuPort,
|
||||||
final UpdateOperationCallbacks callbacks
|
final UpdateOperationCallbacks callbacks
|
||||||
|
@ -57,22 +96,12 @@ public class CalibrationsBackuper {
|
||||||
final Optional<CalibrationsInfo> calibrationsInfo = readCalibrationsInfo(binaryProtocol, callbacks);
|
final Optional<CalibrationsInfo> calibrationsInfo = readCalibrationsInfo(binaryProtocol, callbacks);
|
||||||
if (calibrationsInfo.isPresent()) {
|
if (calibrationsInfo.isPresent()) {
|
||||||
final CalibrationsInfo receivedCalibrations = calibrationsInfo.get();
|
final CalibrationsInfo receivedCalibrations = calibrationsInfo.get();
|
||||||
final Path iniFilePath = Paths.get(receivedCalibrations.getIniFile().getIniFilePath());
|
return backUpCalibrationsInfo(
|
||||||
callbacks.logLine(String.format("Backing up current file %s...", iniFilePath));
|
binaryProtocol,
|
||||||
Files.copy(
|
receivedCalibrations,
|
||||||
iniFilePath,
|
PREVIOUS_CALIBRATIONS_FILE_NAME,
|
||||||
Paths.get(PREVIOUS_CALIBRATIONS_INI),
|
callbacks
|
||||||
REPLACE_EXISTING
|
|
||||||
);
|
);
|
||||||
callbacks.logLine(String.format("%s file is backed up", iniFilePath.getFileName()));
|
|
||||||
callbacks.logLine("Save current calibrations to files...");
|
|
||||||
binaryProtocol.saveConfigurationImageToFiles(
|
|
||||||
receivedCalibrations.getImage(),
|
|
||||||
PREVIOUS_CALIBRATIONS_BINARY,
|
|
||||||
PREVIOUS_CALIBRATIONS_XML
|
|
||||||
);
|
|
||||||
callbacks.logLine("Current calibrations are backed up to files");
|
|
||||||
return true;
|
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue