summaryrefslogtreecommitdiffstats
path: root/dictionaryvalidation/src/main/java/org/onap/validation/yaml/model/YamlDocumentFactory.java
diff options
context:
space:
mode:
authorBartosz Gardziejewski <bartosz.gardziejewski@nokia.com>2021-05-06 10:14:57 +0200
committerBartosz Gardziejewski <bartosz.gardziejewski@nokia.com>2021-05-06 10:52:21 +0200
commit0fce7537299e6af0d2b1fdb1d5c01654ce9573c0 (patch)
treeeb7e726f921fe96738443be684bc77e05f6d76c5 /dictionaryvalidation/src/main/java/org/onap/validation/yaml/model/YamlDocumentFactory.java
parent1ff8bc0e7475934c1ad463571444d7b46c7b5761 (diff)
Rename PM_Dictionary_Validator to Dictionary_Validatoristanbul
Signed-off-by: Bartosz Gardziejewski <bartosz.gardziejewski@nokia.com> Change-Id: Icb65e6f832804aa4a958e530422d35e079ffe3c1 Issue-ID: VNFSDK-769
Diffstat (limited to 'dictionaryvalidation/src/main/java/org/onap/validation/yaml/model/YamlDocumentFactory.java')
-rw-r--r--dictionaryvalidation/src/main/java/org/onap/validation/yaml/model/YamlDocumentFactory.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/dictionaryvalidation/src/main/java/org/onap/validation/yaml/model/YamlDocumentFactory.java b/dictionaryvalidation/src/main/java/org/onap/validation/yaml/model/YamlDocumentFactory.java
new file mode 100644
index 0000000..b56422c
--- /dev/null
+++ b/dictionaryvalidation/src/main/java/org/onap/validation/yaml/model/YamlDocumentFactory.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 Nokia
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.onap.validation.yaml.model;
+
+import org.onap.validation.yaml.exception.YamlProcessingException;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class YamlDocumentFactory {
+
+ public YamlDocument createYamlDocument(Object yaml) throws YamlDocumentParsingException {
+ try {
+ Map<String, Object> parsedYaml = transformMap((Map) yaml);
+ return new YamlDocument(parsedYaml);
+ } catch (ClassCastException e) {
+ throw new YamlDocumentParsingException(
+ String.format("Fail to parse given objects: %s as yaml document.", yaml), e
+ );
+ }
+ }
+
+ private Map<String, Object> transformMap(Map<Object, Object> yaml) {
+ Map<String, Object> parsedYaml = new HashMap<>();
+ for (Map.Entry<Object, Object> entry: yaml.entrySet()) {
+ parsedYaml.put(entry.getKey().toString(), entry.getValue());
+ }
+ return parsedYaml;
+ }
+
+ public static class YamlDocumentParsingException extends YamlProcessingException {
+ YamlDocumentParsingException(String message, Throwable throwable) {
+ super(message, throwable);
+ }
+ }
+
+}