mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-21 03:30:12 +00:00
Using flat keys instead of '_' for perspective own settings
This commit is contained in:
1 parent
238cb5bce4
commit
bcdcd85d62
4 files changed
+59
-20
No files matched your search
+37
-14
@@ -80,32 +80,49 @@ public abstract class AbstractSettingsToJsonSerializer<OBJECT, ARRAY> {
|
||||
|
||||
public OBJECT serialize(SettingsMap settingsMap) {
|
||||
final OBJECT jsonObject = newOBJECT();
|
||||
serializeToObject(settingsMap, jsonObject);
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
private void serializeToObject(SettingsMap settingsMap, final OBJECT jsonObject) {
|
||||
for (Map.Entry<String, Settings> entry : settingsMap.getSettingsPerComponentId().entrySet()) {
|
||||
String key = entry.getKey();
|
||||
Settings settings = entry.getValue();
|
||||
final Object serializedObject;
|
||||
if(settings instanceof SettingsMap) {
|
||||
serializedObject = serialize((SettingsMap)settings);
|
||||
} else if(settings instanceof GenericSerializableSettings) {
|
||||
serializedObject = serialize((GenericSerializableSettings)settings);
|
||||
if(key == null) {
|
||||
if(settings instanceof SettingsMap) {
|
||||
serializeToObject((SettingsMap)settings, jsonObject);
|
||||
} else if(settings instanceof GenericSerializableSettings) {
|
||||
serializeToObject((GenericSerializableSettings)settings, jsonObject);
|
||||
}
|
||||
} else {
|
||||
serializedObject = null;
|
||||
}
|
||||
if(serializedObject != null) {
|
||||
set(jsonObject, entry.getKey().toString(), serializedObject);
|
||||
final OBJECT serializedObject;
|
||||
if(settings instanceof SettingsMap) {
|
||||
serializedObject = serialize((SettingsMap)settings);
|
||||
} else if(settings instanceof GenericSerializableSettings) {
|
||||
serializedObject = serialize((GenericSerializableSettings)settings);
|
||||
} else {
|
||||
serializedObject = null;
|
||||
}
|
||||
if(serializedObject != null) {
|
||||
set(jsonObject, key.toString(), serializedObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
public OBJECT serialize(GenericSerializableSettings settings) {
|
||||
final OBJECT jsonObject = newOBJECT();
|
||||
serializeToObject(settings, jsonObject);
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
private void serializeToObject(GenericSerializableSettings settings, final OBJECT jsonObject) {
|
||||
for (Map.Entry<String, Setting> entry : settings.getChildSettings().entrySet()) {
|
||||
Setting setting = entry.getValue();
|
||||
if (!setting.isDefaultValue()) {
|
||||
set(jsonObject, entry.getKey(), serialize(setting));
|
||||
}
|
||||
}
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
private Object serialize(Setting setting) {
|
||||
@@ -146,9 +163,15 @@ public abstract class AbstractSettingsToJsonSerializer<OBJECT, ARRAY> {
|
||||
public <T extends SettingsMap> T deserialize(T settingsMap, OBJECT json) {
|
||||
if (json != null) {
|
||||
for (Map.Entry<String, Settings> entry : settingsMap.getSettingsPerComponentId().entrySet()) {
|
||||
String key = entry.getKey().toString();
|
||||
if(hasProperty(json, key)) {
|
||||
Settings settings = entry.getValue();
|
||||
String key = entry.getKey();
|
||||
Settings settings = entry.getValue();
|
||||
if(key == null) {
|
||||
if(settings instanceof SettingsMap) {
|
||||
deserialize((SettingsMap)settings, json);
|
||||
} else if(settings instanceof GenericSerializableSettings) {
|
||||
deserializeObject((GenericSerializableSettings)settings, json);
|
||||
}
|
||||
} else if(hasProperty(json, key)) {
|
||||
Object serializedObject = get(json, key);
|
||||
if(settings instanceof SettingsMap) {
|
||||
@SuppressWarnings("unchecked")
|
||||
|
||||
+3
-2
@@ -37,7 +37,8 @@ public class SettingsToStringMapSerializer {
|
||||
|
||||
private void serialize(String prefix, SettingsMap settingsMap, Map<String, Iterable<String>> serialized) {
|
||||
for (Map.Entry<String, Settings> entry : settingsMap.getSettingsPerComponentId().entrySet()) {
|
||||
String childPrefix = prefix + entry.getKey() + GenericSerializableSettings.PATH_SEPARATOR;
|
||||
String key = entry.getKey();
|
||||
String childPrefix = key == null ? prefix : prefix + key + GenericSerializableSettings.PATH_SEPARATOR;
|
||||
Settings settings = entry.getValue();
|
||||
if(settings instanceof SettingsMap) {
|
||||
serialize(childPrefix, (SettingsMap) settings, serialized);
|
||||
@@ -109,7 +110,7 @@ public class SettingsToStringMapSerializer {
|
||||
for (Map.Entry<String, Settings> entry : childSettings) {
|
||||
final String key = entry.getKey();
|
||||
final Settings settings = entry.getValue();
|
||||
final Map<String, Iterable<String>> innerValues = mappedInnerValues.get(key.toString());
|
||||
final Map<String, Iterable<String>> innerValues = key == null ? values : mappedInnerValues.get(key.toString());
|
||||
if(innerValues != null) {
|
||||
if(settings instanceof SettingsMap) {
|
||||
deserializeSettingsMap((SettingsMap) settings, innerValues);
|
||||
|
||||
Reference in new issue
Block a user