9027787743cd9974031259909ead02c16f11e611
[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 org.hibernate.validator.constraints.SafeHtml;
53 import org.onap.portalsdk.core.domain.support.DomainVo;
54 import com.fasterxml.jackson.annotation.JsonInclude;
55
56 /**
57  * This is to handle portal admins
58  */
59 @Entity 
60 @Table(name="fn_common_widget_data")
61 @JsonInclude(JsonInclude.Include.NON_NULL)
62 @NoArgsConstructor
63 @Getter
64 @Setter
65 public class CommonWidget extends DomainVo{
66
67         private static final long serialVersionUID = 7897021982887364557L;
68         
69         @Id
70         @GeneratedValue(strategy=GenerationType.AUTO)
71         @Column(name = "id")
72         private Long id;
73
74         @Column(name = "category")
75         @Size(max = 32)
76         @SafeHtml
77         public String category;
78         
79         @Column(name = "href")
80         @Size(max = 512)
81         @SafeHtml
82         public String href;
83
84         @Column(name = "title")
85         @Size(max = 256)
86         @SafeHtml
87         public String title;
88         
89         @Column(name = "content")
90         @Size(max = 4096)
91         @SafeHtml
92         public String content;
93
94         @Column(name = "event_date")
95         @Size(max = 10)
96         @Pattern(regexp = "([1-2][0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])")
97         @SafeHtml
98         public String eventDate;
99         
100         @Column(name = "sort_order")
101         public Integer sortOrder;
102
103
104         public CommonWidget(String category, String href, String title, String content, String eventDate, Integer sortOrder){
105                 this.category = category;
106                 this.href = href;
107                 this.title = title;
108                 this.content = content;
109                 this.eventDate = eventDate;
110                 this.sortOrder = sortOrder;
111         }
112
113 }