bug fixed settings not saving
This commit is contained in:
Ori agranat
2020-03-04 23:12:02 +02:00
committed by GitHub
parent 321a90ac08
commit da6f0e8a81
14 changed files with 239 additions and 64 deletions

View File

@@ -84,7 +84,7 @@ public class CameraConfig {
void saveConfig(CameraJsonConfig config) {
try {
JacksonHelper.serializer(configPath, config);
JacksonHelper.serializer(configPath, config, true);
FileHelper.setFilePerms(configPath);
} catch (IOException e) {
System.err.println("Failed to save camera config file: " + configPath.toString());
@@ -97,7 +97,7 @@ public class CameraConfig {
public void saveDriverMode(CVPipelineSettings driverMode) {
try {
JacksonHelper.serializer(driverModePath, driverMode);
JacksonHelper.serializer(driverModePath, driverMode, true);
FileHelper.setFilePerms(driverModePath);
} catch (IOException e) {
System.err.println("Failed to save camera drivermode file: " + driverModePath.toString());
@@ -108,7 +108,7 @@ public class CameraConfig {
public void saveCalibration(List<CameraCalibrationConfig> cal) {
CameraCalibrationConfig[] configs = cal.toArray(new CameraCalibrationConfig[0]);
try {
JacksonHelper.serializer(calibrationPath, configs);
JacksonHelper.serializer(calibrationPath, configs, true);
FileHelper.setFilePerms(calibrationPath);
} catch (IOException e) {
System.err.println("Failed to save camera calibration file: " + calibrationPath.toString());
@@ -122,7 +122,7 @@ public class CameraConfig {
System.err.println("Failed to create camera config folder: " + configFolderPath.toString());
}
FileHelper.setFilePerms(configFolderPath);
} catch(Exception e) {
} catch (Exception e) {
System.err.println("Failed to create camera config folder: " + configFolderPath.toString());
}
}
@@ -131,7 +131,7 @@ public class CameraConfig {
private void checkConfig() {
if (!configExists()) {
try {
JacksonHelper.serializer(configPath, preliminaryConfig);
JacksonHelper.serializer(configPath, preliminaryConfig, true);
FileHelper.setFilePerms(configPath);
} catch (IOException e) {
System.err.println("Failed to create camera config file: " + configPath.toString());
@@ -144,7 +144,7 @@ public class CameraConfig {
try {
CVPipelineSettings newDriverModeSettings = new CVPipelineSettings();
newDriverModeSettings.nickname = "DRIVERMODE";
JacksonHelper.serializer(driverModePath, newDriverModeSettings);
JacksonHelper.serializer(driverModePath, newDriverModeSettings, true);
FileHelper.setFilePerms(driverModePath);
} catch (IOException e) {
System.err.println("Failed to create camera drivermode file: " + driverModePath.toString());
@@ -156,7 +156,7 @@ public class CameraConfig {
if (!calibrationExists()) {
try {
List<CameraCalibrationConfig> calibrations = new ArrayList<>();
JacksonHelper.serializer(calibrationPath, calibrations.toArray());
JacksonHelper.serializer(calibrationPath, calibrations.toArray(), true);
} catch (IOException e) {
System.err.println("Failed to create camera calibration file: " + calibrationPath.toString());
}

View File

@@ -13,7 +13,8 @@ import java.util.LinkedHashMap;
import java.util.List;
public class ConfigManager {
private ConfigManager() {}
private ConfigManager() {
}
public static final Path SettingsPath = Paths.get(ProgramDirectoryUtilities.getProgramDirectory(), "settings");
private static final Path settingsFilePath = Paths.get(SettingsPath.toString(), "settings.json");
@@ -22,13 +23,18 @@ public class ConfigManager {
public static GeneralSettings settings = new GeneralSettings();
private static boolean settingsFolderExists() { return Files.exists(SettingsPath); }
private static boolean settingsFileExists() { return settingsFolderExists() && Files.exists(settingsFilePath); }
private static boolean settingsFolderExists() {
return Files.exists(SettingsPath);
}
private static boolean settingsFileExists() {
return settingsFolderExists() && Files.exists(settingsFilePath);
}
private static void checkSettingsFolder() {
if (!settingsFolderExists()) {
try {
if( !(new File(SettingsPath.toUri()).mkdirs()) ) {
if (!(new File(SettingsPath.toUri()).mkdirs())) {
System.err.println("Failed to create settings folder: " + SettingsPath.toString());
}
Files.createDirectory(SettingsPath);
@@ -36,7 +42,7 @@ public class ConfigManager {
new ShellExec().executeBashCommand("sudo chmod -R 0777 " + SettingsPath.toString());
}
} catch (IOException e) {
if(!(e instanceof java.nio.file.FileAlreadyExistsException))
if (!(e instanceof java.nio.file.FileAlreadyExistsException))
e.printStackTrace();
}
}
@@ -46,7 +52,7 @@ public class ConfigManager {
boolean settingsFileEmpty = settingsFileExists() && new File(settingsFilePath.toString()).length() == 0;
if (settingsFileEmpty || !settingsFileExists()) {
try {
JacksonHelper.serializer(settingsFilePath, settings);
JacksonHelper.serializer(settingsFilePath, settings, true);
FileHelper.setFilePerms(settingsFilePath);
} catch (IOException e) {
e.printStackTrace();
@@ -69,7 +75,7 @@ public class ConfigManager {
private static void saveSettingsFile() {
try {
JacksonHelper.serializer(settingsFilePath, settings);
JacksonHelper.serializer(settingsFilePath, settings, true);
FileHelper.setFilePerms(settingsFilePath);
} catch (IOException e) {
System.err.println("Failed to save settings.json!");

View File

@@ -21,6 +21,7 @@ public class PipelineConfig {
/**
* Construct a new PipelineConfig
*
* @param cameraConfig the CameraConfig (parent folder, kinda?)
*/
PipelineConfig(CameraConfig cameraConfig) {
@@ -28,7 +29,7 @@ public class PipelineConfig {
}
private void checkFolder() {
if ( !(new File(cameraConfig.pipelineFolderPath.toUri()).mkdirs())) {
if (!(new File(cameraConfig.pipelineFolderPath.toUri()).mkdirs())) {
if (Files.notExists(cameraConfig.pipelineFolderPath)) {
System.err.println("Failed to create pipelines folder.");
}
@@ -46,7 +47,7 @@ public class PipelineConfig {
private boolean folderHasPipelines() {
File[] folderContents = getPipelineFiles();
if(folderContents == null) return false;
if (folderContents == null) return false;
return folderContents.length > 0;
}
@@ -75,14 +76,14 @@ public class PipelineConfig {
if (settings instanceof StandardCVPipelineSettings) {
try {
JacksonHelper.serialize(path, (StandardCVPipelineSettings)settings, StandardCVPipelineSettings.class, new StandardCVPipelineSettingsSerializer());
JacksonHelper.serialize(path, (StandardCVPipelineSettings) settings, StandardCVPipelineSettings.class, new StandardCVPipelineSettingsSerializer(), true);
FileHelper.setFilePerms(path);
} catch (IOException e) {
e.printStackTrace();
}
} else {
try {
JacksonHelper.serializer(path, settings);
JacksonHelper.serializer(path, settings, true);
FileHelper.setFilePerms(path);
} catch (IOException e) {
e.printStackTrace();
@@ -91,13 +92,13 @@ public class PipelineConfig {
}
public void save(List<CVPipelineSettings> settings) {
for(CVPipelineSettings setting : settings) {
for (CVPipelineSettings setting : settings) {
save(setting);
}
}
public void delete(CVPipelineSettings setting) {
if(pipelineExists(setting)) {
if (pipelineExists(setting)) {
try {
Files.delete(getPipelinePath(setting));
} catch (IOException e) {
@@ -124,17 +125,17 @@ public class PipelineConfig {
File[] pipelineFiles = getPipelineFiles();
List<CVPipelineSettings> deserializedList = new ArrayList<>();
if(pipelineFiles == null || pipelineFiles.length < 1) {
if (pipelineFiles == null || pipelineFiles.length < 1) {
// TODO handle no pipelines to load
System.err.println("no pipes to load! loading default");
} else {
for(File pipelineFile : pipelineFiles) {
try {
var pipe = JacksonHelper.deserialize(Paths.get(pipelineFile.getPath()), StandardCVPipelineSettings.class, new StandardCVPipelineSettingsDeserializer());
deserializedList.add(pipe);
} catch (IOException e) {
System.err.println("couldn't load cvpipeline2d");
}
for (File pipelineFile : pipelineFiles) {
try {
var pipe = JacksonHelper.deserialize(Paths.get(pipelineFile.getPath()), StandardCVPipelineSettings.class, new StandardCVPipelineSettingsDeserializer());
deserializedList.add(pipe);
} catch (IOException e) {
System.err.println("couldn't load cvpipeline2d");
}
}
}