5087d029b8055024e3aa0bf86c3000019a8997fc
[portal.git] / ecomp-portal-BE-common / src / main / java / org / openecomp / portalapp / portal / domain / FunctionalMenuItemWithAppID.java
1 /*-
2  * ============LICENSE_START==========================================
3  * ONAP Portal
4  * ===================================================================
5  * Copyright © 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  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
37  */
38 package org.openecomp.portalapp.portal.domain;
39
40 import java.util.List;
41
42 import javax.persistence.Column;
43 import javax.persistence.Entity;
44 import javax.persistence.GeneratedValue;
45 import javax.persistence.GenerationType;
46 import javax.persistence.Id;
47 import javax.persistence.Transient;
48 /***
49  * 
50  * This class is almost identical to org.openecomp.portalapp.portal.transport.FunctionalMenuItem
51  * The only difference is the appId field. In FunctionMenuItem, we used @Transient as an attribute, and we are using @Column in this class.
52  * In some sql queries, we need to have appId, but it's not a field in fn_menu_functional table.
53  * 
54  * @author robertlo
55  *
56  */
57 @Entity
58 public class FunctionalMenuItemWithAppID{
59         private static final long serialVersionUID = 1L;
60
61         @Id
62     @GeneratedValue(strategy=GenerationType.IDENTITY)
63         @Column(name = "MENU_ID")
64         public Long menuId;
65         
66         @Column(name = "COLUMN_NUM")
67         public Integer column;
68         
69         @Column(name = "TEXT")
70         public String text;
71         
72         @Column(name = "PARENT_MENU_ID")
73         public Integer parentMenuId;
74         
75         @Column(name = "URL")
76         public String url;
77         
78         @Column(name="ACTIVE_YN")
79         public String active_yn;
80
81         @Column(name="APP_ID")
82         public Integer appid;
83         
84         @Transient
85         public List<Integer> roles;
86         
87         @Transient
88         public Boolean restrictedApp;
89         
90         public void normalize() {
91                 if (this.column == null)
92                         this.column = new Integer(1);
93                 this.text = (this.text == null) ? "" : this.text.trim();
94                 if (this.parentMenuId == null)
95                         this.parentMenuId = new Integer(-1);
96                 this.url = (this.url == null) ? "" : this.url.trim();
97         }
98
99         @Override
100         public String toString() {
101                 return "FunctionalMenuItem [menuId=" + menuId + ", column=" + column + ", text=" + text + ", parentMenuId="
102                                 + parentMenuId + ", url=" + url + ", active_yn=" + active_yn + ", appid=" + appid + ", roles=" + roles
103                                 + ", restrictedApp=" + restrictedApp + "]";
104         }
105
106         public void setUrl(String url) {
107                 this.url = url;
108         }
109
110         public void setRestrictedApp(Boolean restrictedApp) {
111                 this.restrictedApp = restrictedApp;
112         }
113 }
114