Merge "MicroserviceParameter class DB constraints"
[portal.git] / ecomp-portal-BE-common / src / main / java / org / onap / portalapp / portal / transport / OnboardingApp.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 org.hibernate.validator.constraints.SafeHtml;
41
42 /**
43  * Model of rows in the fn_app table; serialized as a message add or update an
44  * on-boarded application.
45  */
46 public class OnboardingApp {
47
48         public Long id;
49         @SafeHtml
50         public String name;
51         @SafeHtml
52         public String imageUrl;
53         @SafeHtml
54         public String imageLink;
55         @SafeHtml
56         public String description;
57         @SafeHtml
58         public String notes;
59         @SafeHtml
60         public String url;
61         @SafeHtml
62         public String alternateUrl;
63         @SafeHtml
64         public String restUrl;
65
66         public Boolean isOpen;
67
68         public Boolean isEnabled;
69
70         public Long motsId;
71         @SafeHtml
72         public String myLoginsAppName;
73         @SafeHtml
74         public String myLoginsAppOwner;
75         @SafeHtml
76         public String username;
77         @SafeHtml
78         public String appPassword;
79         @SafeHtml
80         public String thumbnail;
81         @SafeHtml
82         public String uebTopicName;
83         @SafeHtml
84         public String uebKey;
85         @SafeHtml
86         public String uebSecret;
87
88         public Boolean restrictedApp;
89         
90         public Boolean isCentralAuth;
91         @SafeHtml
92         public String nameSpace;
93
94         /**
95          * Sets the name, myLoginsAppName, myLoginsAppOwner, username and
96          * appPassword fields to the empty string OR trims leading/trailing space,
97          * as appropriate.
98          */
99         public void normalize() {
100                 this.name = (this.name == null) ? "" : this.name.trim();
101                 this.myLoginsAppName = (this.myLoginsAppName == null) ? "" : this.myLoginsAppName.trim();
102                 this.myLoginsAppOwner = (this.myLoginsAppOwner == null) ? "" : this.myLoginsAppOwner.trim();
103                 this.username = (this.username == null) ? "" : this.username.trim();
104                 this.appPassword = (this.appPassword == null) ? "" : this.appPassword.trim();
105         }
106
107         public void setUebTopicName(String topicName) {
108                 this.uebTopicName = topicName;
109         }
110
111         public void setUebKey(String key) {
112                 this.uebKey = key;
113         }
114
115         public void setUebSecret(String secret) {
116                 this.uebSecret = secret;
117         }
118
119         // Hide the implementation of restricted and normal app from the front end.
120         // The json sent and received will include restrictedApp but not appType.
121
122         public void setRestrictedApp(Boolean restrictedApp) {
123                 this.restrictedApp = restrictedApp;
124         }
125 }