XSS Vulnerability fix in DashboardController
[portal.git] / ecomp-portal-BE-common / src / main / java / org / onap / portalapp / portal / transport / CommonWidget.java
1 /*-
2  * ============LICENSE_START==========================================
3  * ONAP Portal
4  * ===================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the "License");
10  * you may not use this software except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  * 
37  */
38 package org.onap.portalapp.portal.transport;
39
40 import javax.persistence.Column;
41 import javax.persistence.Entity;
42 import javax.persistence.GeneratedValue;
43 import javax.persistence.GenerationType;
44 import javax.persistence.Id;
45 import javax.persistence.Table;
46
47 import javax.validation.constraints.Pattern;
48 import javax.validation.constraints.Size;
49 import lombok.Getter;
50 import lombok.NoArgsConstructor;
51 import lombok.Setter;
52 import lombok.ToString;
53 import org.hibernate.validator.constraints.SafeHtml;
54 import org.onap.portalsdk.core.domain.support.DomainVo;
55 import com.fasterxml.jackson.annotation.JsonInclude;
56
57 /**
58  * This is to handle portal admins
59  */
60 @Entity 
61 @Table(name="fn_common_widget_data")
62 @JsonInclude(JsonInclude.Include.NON_NULL)
63 @NoArgsConstructor
64 @Getter
65 @Setter
66 @ToString
67 public class CommonWidget extends DomainVo{
68
69         private static final long serialVersionUID = 7897021982887364557L;
70         
71         @Id
72         @GeneratedValue(strategy=GenerationType.AUTO)
73         @Column(name = "id")
74         private Long id;
75
76         @Column(name = "category")
77         @Size(max = 32)
78         @SafeHtml
79         public String category;
80         
81         @Column(name = "href")
82         @Size(max = 512)
83         @SafeHtml
84         public String href;
85
86         @Column(name = "title")
87         @Size(max = 256)
88         @SafeHtml
89         public String title;
90         
91         @Column(name = "content")
92         @Size(max = 4096)
93         @SafeHtml
94         public String content;
95
96         @Column(name = "event_date")
97         @Size(max = 10)
98         @Pattern(regexp = "([1-2][0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])")
99         @SafeHtml
100         public String eventDate;
101         
102         @Column(name = "sort_order")
103         public Integer sortOrder;
104
105
106         public CommonWidget(String category, String href, String title, String content, String eventDate, Integer sortOrder){
107                 this.category = category;
108                 this.href = href;
109                 this.title = title;
110                 this.content = content;
111                 this.eventDate = eventDate;
112                 this.sortOrder = sortOrder;
113         }
114
115 }