Update license date and text
[aai/gizmo.git] / src / main / java / org / onap / crud / service / EdgePayload.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * Copyright © 2017-2018 Amdocs
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 package org.onap.crud.service;
22
23 import com.google.gson.Gson;
24 import com.google.gson.GsonBuilder;
25 import com.google.gson.JsonElement;
26
27 import org.onap.crud.exception.CrudException;
28
29 import javax.ws.rs.core.Response.Status;
30
31 public class EdgePayload {
32
33   private String id;
34   private String type;
35   private String url;
36   private String source;
37   private String target;
38   private JsonElement properties;
39
40   private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create();
41
42
43   @Override
44   public String toString() {
45     return "EdgePayload [id=" + id + ", type=" + type + ", url=" + url + ", source="
46         + source + ", target=" + target + ", properties=" + properties + "]";
47   }
48
49   public String toJson() {
50     return gson.toJson(this);
51   }
52
53   public static EdgePayload fromJson(String payload) throws CrudException {
54     try {
55       if (payload == null || payload.isEmpty()) {
56         throw new CrudException("Invalid Json Payload", Status.BAD_REQUEST);
57       }
58       return gson.fromJson(payload, EdgePayload.class);
59     } catch (Exception ex) {
60       throw new CrudException("Invalid Json Payload", Status.BAD_REQUEST);
61     }
62   }
63
64   public String getId() {
65     return id;
66   }
67
68   public void setId(String id) {
69     this.id = id;
70   }
71
72   public String getType() {
73     return type;
74   }
75
76   public void setType(String type) {
77     this.type = type;
78   }
79
80   public String getUrl() {
81     return url;
82   }
83
84   public void setUrl(String url) {
85     this.url = url;
86   }
87
88   public String getSource() {
89     return source;
90   }
91
92   public void setSource(String source) {
93     this.source = source;
94   }
95
96   public String getTarget() {
97     return target;
98   }
99
100   public void setTarget(String target) {
101     this.target = target;
102   }
103
104   public JsonElement getProperties() {
105     return properties;
106   }
107
108   public void setProperties(JsonElement properties) {
109     this.properties = properties;
110   }
111
112 }