529753f11cf8ebc5e24f4f86537d47f0f546eaac
[clamp.git] / src / main / java / org / onap / clamp / clds / config / sdc / BlueprintParserMappingConfiguration.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2018 AT&T Intellectual Property. All rights
6  *                             reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END============================================
20  * ===================================================================
21  * 
22  */
23
24 package org.onap.clamp.clds.config.sdc;
25
26
27 import com.google.gson.JsonElement;
28 import com.google.gson.JsonParser;
29 import com.google.gson.reflect.TypeToken;
30 import java.io.InputStream;
31 import java.io.InputStreamReader;
32 import java.lang.reflect.Type;
33 import java.nio.charset.StandardCharsets;
34 import java.util.List;
35 import org.onap.clamp.clds.util.JsonUtils;
36
37 /**
38  * This class is used to decode the configuration found in
39  * application.properties, this is related to the blueprint mapping
40  * configuration that is used to create data in database, according to the
41  * blueprint content coming from SDC.
42  */
43 public class BlueprintParserMappingConfiguration {
44
45     private static final Type BLUEPRINT_MAP_CONF_TYPE = new TypeToken<List<BlueprintParserMappingConfiguration>>() {
46         }.getType();
47     private String blueprintKey;
48     private boolean dcaeDeployable;
49     private BlueprintParserFilesConfiguration files;
50
51     public String getBlueprintKey() {
52         return blueprintKey;
53     }
54
55     public void setBlueprintKey(String blueprintKey) {
56         this.blueprintKey = blueprintKey;
57     }
58
59     public BlueprintParserFilesConfiguration getFiles() {
60         return files;
61     }
62
63     public void setFiles(BlueprintParserFilesConfiguration filesConfig) {
64         this.files = filesConfig;
65     }
66
67     public boolean isDcaeDeployable() {
68         return dcaeDeployable;
69     }
70
71     public static List<BlueprintParserMappingConfiguration> createFromJson(InputStream json) {
72         return JsonUtils.GSON.fromJson(new InputStreamReader(json, StandardCharsets.UTF_8), BLUEPRINT_MAP_CONF_TYPE);
73     }
74 }