Replaced all tabs with spaces in java and pom.xml
[so.git] / cloudify-client / src / main / java / org / onap / so / cloudify / v3 / model / DeploymentOutputs.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.so.cloudify.v3.model;
22
23 import java.io.IOException;
24 import java.io.Serializable;
25 import java.util.Map;
26 import com.fasterxml.jackson.annotation.JsonIgnore;
27 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
28 import com.fasterxml.jackson.annotation.JsonProperty;
29 import com.fasterxml.jackson.databind.ObjectMapper;
30
31 @JsonIgnoreProperties(ignoreUnknown = true)
32 // @JsonRootName("outputs")
33 public class DeploymentOutputs implements Serializable {
34
35     private static final long serialVersionUID = 1L;
36
37     @JsonProperty("deployment_id")
38     private String deploymentId;
39
40     @JsonProperty("outputs")
41     private Map<String, Object> outputs = null;
42
43     public Map<String, Object> getOutputs() {
44         return this.outputs;
45     }
46
47     public void setOutputs(Map<String, Object> outputs) {
48         this.outputs = outputs;
49     }
50
51     public String getDeploymentId() {
52         return deploymentId;
53     }
54
55     public void setDeploymentId(String deploymentId) {
56         this.deploymentId = deploymentId;
57     }
58
59     /*
60      * Return an output as a Json-mapped Object of the provided type. This is useful for json-object outputs.
61      */
62     public <T> T getMapValue(Map<String, Object> map, String key, Class<T> type) {
63
64         ObjectMapper mapper = new ObjectMapper();
65
66         if (map.containsKey(key)) {
67             try {
68                 String s = mapper.writeValueAsString(map.get(key));
69                 return (mapper.readValue(s, type));
70             } catch (IOException e) {
71                 return null;
72             }
73         }
74         return null;
75     }
76
77     @Override
78     public String toString() {
79         return "DeploymentOutputs{" + "deploymentId='" + deploymentId + '\'' + ", outputs='" + outputs + '\'' + '}';
80     }
81
82 }