Merge pull request #4925 from jkho/5230-Add-version-number-to-Logical-Imager-Config-file

5230 add version number to logical imager config file
This commit is contained in:
Richard Cordovano 2019-06-24 14:35:58 -04:00 committed by GitHub
commit 027afdd1b3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 3 deletions

View File

@ -28,6 +28,12 @@ import java.util.List;
*/
class LogicalImagerConfig {
static private final String CURRENT_VERSION = "1.0";
@SerializedName("version")
@Expose(serialize = true)
private String version;
@SerializedName("finalize-image-writer")
@Expose(serialize = true)
private boolean finalizeImageWriter;
@ -37,18 +43,42 @@ class LogicalImagerConfig {
private List<LogicalImagerRuleSet> ruleSets;
LogicalImagerConfig() {
this.version = CURRENT_VERSION;
this.finalizeImageWriter = false;
this.ruleSets = new ArrayList<>();
}
LogicalImagerConfig(
boolean finalizeImageWriter,
List<LogicalImagerRuleSet> ruleSets
boolean finalizeImageWriter,
List<LogicalImagerRuleSet> ruleSets
) {
this.version = CURRENT_VERSION;
this.finalizeImageWriter = finalizeImageWriter;
this.ruleSets = ruleSets;
}
LogicalImagerConfig(
String version,
boolean finalizeImageWriter,
List<LogicalImagerRuleSet> ruleSets
) {
this.version = version;
this.finalizeImageWriter = finalizeImageWriter;
this.ruleSets = ruleSets;
}
String getVersion() {
return version;
}
void setVersion(String version) {
this.version = version;
}
static public String getCurrentVersion() {
return CURRENT_VERSION;
}
boolean isFinalizeImageWriter() {
return finalizeImageWriter;
}

View File

@ -44,9 +44,15 @@ class LogicalImagerConfigDeserializer implements JsonDeserializer<LogicalImagerC
@Override
public LogicalImagerConfig deserialize(JsonElement je, Type type, JsonDeserializationContext jdc) throws JsonParseException {
String version = LogicalImagerConfig.getCurrentVersion();
boolean finalizeImageWriter = false;
final JsonObject jsonObject = je.getAsJsonObject();
final JsonElement jsonVersion = jsonObject.get("version"); // NON-NLS
if (jsonVersion != null) {
version = jsonVersion.getAsString();
}
final JsonElement jsonFinalizeImageWriter = jsonObject.get("finalize-image-writer"); // NON-NLS
if (jsonFinalizeImageWriter != null) {
finalizeImageWriter = jsonFinalizeImageWriter.getAsBoolean();
@ -69,7 +75,7 @@ class LogicalImagerConfigDeserializer implements JsonDeserializer<LogicalImagerC
LogicalImagerRuleSet ruleSet = new LogicalImagerRuleSet(setName, rules);
ruleSets.add(ruleSet);
}
return new LogicalImagerConfig(finalizeImageWriter, ruleSets);
return new LogicalImagerConfig(version, finalizeImageWriter, ruleSets);
}
private List<LogicalImagerRule> parseRules(JsonArray asJsonArray) {