Added possibility to have a local configuration to instantiate Analyser

This commit is contained in:
luca.frosini 2023-08-31 18:00:40 +02:00
parent 117814a7c0
commit 97d51c1206
2 changed files with 25 additions and 8 deletions

View File

@ -48,8 +48,8 @@ public class Analyser {
return globalConfiguration;
}
public void setGlobalConfiguration(ObjectNode originalGlobal) {
this.globalConfiguration = originalGlobal.deepCopy();
public void setGlobalConfiguration(ObjectNode originalGlobalConfiguration) {
this.globalConfiguration = originalGlobalConfiguration.deepCopy();
}
public ArrayNode getArtifactMetadataArray() {

View File

@ -24,17 +24,34 @@ public class AnalyserFactory {
return getAnalyser(jsonNode);
}
public static Analyser getAnalyser(String json) throws Exception {
public static Analyser getAnalyser(String inputJson) throws Exception {
ObjectMapper objectMapper = Utils.getObjectMapper();
JsonNode jsonNode = objectMapper.readTree(json);
return getAnalyser(jsonNode);
JsonNode inputNode = objectMapper.readTree(inputJson);
return getAnalyser(inputNode);
}
public static Analyser getAnalyser(JsonNode jsonNode) throws Exception {
public static Analyser getAnalyser(JsonNode inputNode) throws Exception {
Analyser analyser = new Analyser();
ObjectNode originalGlobalConfiguration = (ObjectNode) jsonNode.get(CONFIGURATION_PROPERTY_NAME);
ObjectNode originalGlobalConfiguration = (ObjectNode) inputNode.get(CONFIGURATION_PROPERTY_NAME);
analyser.setGlobalConfiguration(originalGlobalConfiguration);
ArrayNode originalArtifactMetadataArray = (ArrayNode) jsonNode.get(ARTIFACTS_PROPERTY_NAME);
ArrayNode originalArtifactMetadataArray = (ArrayNode) inputNode.get(ARTIFACTS_PROPERTY_NAME);
analyser.setArtifactMetadataArray(originalArtifactMetadataArray);
return analyser;
}
public static Analyser getAnalyser(String localConfiguration, String inputJson) throws Exception {
ObjectMapper objectMapper = Utils.getObjectMapper();
JsonNode localConfigurationNode = objectMapper.readTree(localConfiguration);
JsonNode inputNode = objectMapper.readTree(inputJson);
return getAnalyser(localConfigurationNode, inputNode);
}
public static Analyser getAnalyser(JsonNode localConfiguration, JsonNode inputNode) throws Exception {
Analyser analyser = new Analyser();
ObjectNode inputConfiguration = (ObjectNode) inputNode.get(CONFIGURATION_PROPERTY_NAME);
ObjectNode mergedConfiguration = (ObjectNode) Utils.merge(localConfiguration, inputConfiguration);
analyser.setGlobalConfiguration(mergedConfiguration);
ArrayNode originalArtifactMetadataArray = (ArrayNode) inputNode.get(ARTIFACTS_PROPERTY_NAME);
analyser.setArtifactMetadataArray(originalArtifactMetadataArray);
return analyser;
}