Merge "Remove unneeded script"
[so.git] / cloudify-client / src / main / java / org / openecomp / mso / 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.openecomp.mso.cloudify.v3.model;
22
23 import java.io.IOException;
24 import java.io.Serializable;
25 import java.util.Map;
26
27 import com.fasterxml.jackson.annotation.JsonIgnore;
28 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
29 import com.fasterxml.jackson.annotation.JsonProperty;
30 import com.fasterxml.jackson.databind.ObjectMapper;
31
32 @JsonIgnoreProperties(ignoreUnknown = true)
33 //@JsonRootName("outputs")
34 public class DeploymentOutputs implements Serializable {
35
36         private static final long serialVersionUID = 1L;
37         
38     @JsonProperty("deployment_id")
39     private String deploymentId;
40     
41     @JsonProperty("outputs")
42     private Map<String, Object> outputs = null;
43     
44
45     // ObjectMapper instance to parse Json object outputs
46     @JsonIgnore
47         private static ObjectMapper mapper = new ObjectMapper();
48
49
50     public Map<String, Object> getOutputs() {
51         return this.outputs;
52     }
53     public void setOutputs(Map<String, Object> outputs) {
54         this.outputs = outputs;
55     }
56     
57         public String getDeploymentId() {
58                 return deploymentId;
59         }
60         public void setDeploymentId(String deploymentId) {
61                 this.deploymentId = deploymentId;
62         }
63         
64         /*
65          * Return an  output as a Json-mapped Object of the provided type.
66          * This is useful for json-object outputs.
67          */
68         public <T> T getMapValue (Map<String,Object> map, String key, Class<T> type)
69         {
70                 if (map.containsKey(key)) {
71                         try {
72                                 String s = mapper.writeValueAsString(map.get(key));
73                                 return (mapper.readValue(s, type));
74                         }
75                         catch (IOException e) {
76                                 return null;
77                         }
78                 }
79                 return null;
80         }
81
82         @Override
83     public String toString() {
84         return "DeploymentOutputs{" +
85                 "deploymentId='" + deploymentId + '\'' +
86                 ", outputs='" + outputs + '\'' +
87                 '}';
88     }
89
90 }