[PORTAL-7] Rebase
[portal.git] / ecomp-portal-BE-common / src / main / webapp / WEB-INF / fusion / orm / Fusion.hbm.xml
1 <?xml version="1.0"?>\r
2 <!--\r
3   ================================================================================\r
4   ECOMP Portal\r
5   ================================================================================\r
6   Copyright (C) 2017 AT&T Intellectual Property\r
7   ================================================================================\r
8   Licensed under the Apache License, Version 2.0 (the "License");\r
9   you may not use this file except in compliance with the License.\r
10   You may obtain a copy of the License at\r
11   \r
12        http://www.apache.org/licenses/LICENSE-2.0\r
13   \r
14   Unless required by applicable law or agreed to in writing, software\r
15   distributed under the License is distributed on an "AS IS" BASIS,\r
16   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17   See the License for the specific language governing permissions and\r
18   limitations under the License.\r
19   ================================================================================\r
20   -->\r
21 \r
22 <!DOCTYPE hibernate-mapping PUBLIC\r
23         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"\r
24         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">\r
25 \r
26 <!-- \r
27 Publishes mappings and queries for EP SDK library features ONLY.\r
28 Portal app mappings and features are in EP.hbm.xml.\r
29 -->\r
30 <hibernate-mapping package="org.openecomp.portalsdk.core.domain">\r
31 \r
32      <!-- User class mapping details -->\r
33     <class name="User" table="FN_USER">\r
34         <id name="id" column="user_id" > \r
35           <generator class="native">\r
36              <param name="sequence">seq_fn_user</param> \r
37           </generator>\r
38         </id>\r
39 \r
40         <property name="orgId"         column="org_id"/>\r
41         <property name="managerId"     column="manager_id"/>\r
42         <property name="firstName"     column="first_name"/>\r
43         <property name="middleInitial" column="middle_name"/>\r
44         <property name="lastName"      column="last_name"/>\r
45         <property name="phone"         column="phone"/>\r
46         <property name="fax"           column="fax"/>\r
47         <property name="cellular"      column="cellular"/>\r
48         <property name="email"         column="email"/>\r
49         <property name="addressId"     column="address_id"/>\r
50         <property name="alertMethodCd" column="alert_method_cd"/>\r
51 \r
52         <property name="address1"      column="address_line_1"/>\r
53         <property name="address2"      column="address_line_2"/>\r
54         <property name="city"          column="city"/>\r
55         <property name="state"         column="state_cd"/>\r
56         <property name="zipCode"       column="zip_code"/>\r
57         <property name="country"       column="country_cd"/>\r
58 \r
59         <property name="hrid"          column="hrid"/>\r
60         <property name="orgUserId"     column="org_user_id"/>\r
61         <property name="orgCode"       column="org_code"/>\r
62         <property name="loginId"       column="login_id"/>\r
63         <property name="loginPwd"      column="login_pwd"/>\r
64         <property name="lastLoginDate" column="last_login_date"  type="timestamp"/>\r
65 \r
66         <property name="locationClli"  column="location_clli" />\r
67         <property name="orgManagerUserId" column="org_manager_userid" />\r
68         <property name="company"       column="company" />\r
69         <property name="department"    column="department" />\r
70         <property name="departmentName"         column="department_name" />\r
71         <property name="businessUnit"           column="business_unit" />\r
72         <property name="businessUnitName"   column="business_unit_name" />\r
73         <property name="jobTitle"               column="job_title" />\r
74         <property name="siloStatus"             column="silo_status" />\r
75         <property name="financialLocCode"   column="fin_loc_code" />\r
76 \r
77         <property name="active"        column="active_yn"       type="yes_no"/>\r
78         <property name="internal"      column="is_internal_yn"  type="yes_no"/>\r
79 \r
80         <property name="created"  type="timestamp" column="created_date"  />\r
81         <property name="modified" type="timestamp" column="modified_date" />\r
82 \r
83         <property name="createdId"  column="created_id" />\r
84         <property name="modifiedId" column="modified_id" />\r
85                 <property name="timeZoneId" column="timezone" />\r
86                 \r
87         <set name="userApps" table="FN_USER_ROLE" lazy="false" sort="natural" inverse="true" cascade="all-delete-orphan">\r
88             <key column="user_id"/>\r
89             <one-to-many class="org.openecomp.portalsdk.core.domain.UserApp" />\r
90         </set>\r
91 \r
92         <set name="pseudoRoles" table="FN_USER_PSEUDO_ROLE" lazy="false" sort="natural">\r
93             <key column="user_id"/>\r
94             <many-to-many column="pseudo_role_id" class="org.openecomp.portalsdk.core.domain.Role" />\r
95         </set>\r
96     </class>\r
97 \r
98         <class name="UserApp" table="fn_user_role">\r
99         <composite-id>\r
100             <key-property name="userId" type="long">\r
101                 <column name="user_id" precision="11" scale="0" />\r
102             </key-property>\r
103                 <key-many-to-one name="app" class="org.openecomp.portalsdk.core.domain.App" column="app_id" />\r
104                 <key-many-to-one name="role" class="org.openecomp.portalsdk.core.domain.Role" column="role_id" />\r
105         </composite-id>\r
106         <property name="priority" type="java.lang.Short">\r
107             <column name="priority" precision="4" scale="0" />\r
108         </property>\r
109     </class>\r
110 \r
111     <!-- User App class mapping details -->\r
112     <class name="App" table="fn_app">\r
113         <id name="id" column="app_id"/>\r
114         <property name="name"      column="app_name"/>\r
115         <property name="appPassword"      column="app_password"/>\r
116         <property name="username"      column="app_username"/>        \r
117         \r
118     </class>\r
119 \r
120     <!-- User Role class mapping details -->\r
121     <class name="Role" table="FN_ROLE_V">\r
122         <id name="id" column="role_id">\r
123            <generator class="native">\r
124              <param name="sequence">seq_fn_role</param> \r
125           </generator>\r
126         </id>\r
127 \r
128         <property name="name"      column="role_name"/>\r
129         <property name="priority"  column="priority" />\r
130         <property name="active"    column="active_yn"  type="yes_no"/>\r
131 \r
132         <set name="roleFunctions" table="FN_ROLE_FUNCTION" lazy="false" sort="natural">\r
133             <key column="role_id"/>\r
134             <many-to-many column="function_cd" class="org.openecomp.portalsdk.core.domain.RoleFunction"/>\r
135         </set>\r
136 \r
137         <set name="childRoles" table="FN_ROLE_COMPOSITE" lazy="false" sort="natural">\r
138             <key column="parent_role_id"/>\r
139             <many-to-many column="child_role_id" class="org.openecomp.portalsdk.core.domain.Role"/>\r
140         </set>\r
141         \r
142         <set name="parentRoles" table="FN_ROLE_COMPOSITE" lazy="false" sort="natural">\r
143             <key column="child_role_id"/>\r
144             <many-to-many column="parent_role_id" class="org.openecomp.portalsdk.core.domain.Role"/>\r
145         </set>\r
146 \r
147     </class>\r
148     \r
149  \r
150 \r
151     <!-- User Role Function class mapping details -->\r
152     <class name="RoleFunction" table="FN_FUNCTION">\r
153         <id        name="code"  column="function_cd"   />\r
154         <property  name="name"  column="function_name" />\r
155     </class>\r
156     \r
157     <!-- Menu class mapping details -->\r
158     <class name="Menu" table="FN_MENU">\r
159         <id name="id" column="menu_id">\r
160           <generator class="native">\r
161              <param name="sequence">seq_fn_menu</param> \r
162           </generator>\r
163         </id>\r
164 \r
165          <property name="menuLevel"   column="level-1"/>\r
166          <property name="label"       column="label"/>\r
167          <property name="parentId"    column="parent_id"/>\r
168          <property name="action"      column="action"/>\r
169          <property name="functionCd"  column="function_cd"/>\r
170          <property name="sortOrder"   column="sort_order"/>\r
171          <property name="servlet"     column="servlet"/>\r
172          <property name="queryString" column="query_string"/>\r
173          <property name="externalUrl" column="external_url"/>\r
174          <property name="target"      column="target"/>\r
175          <property name="active"      column="active_yn"    type="yes_no"/>\r
176          <property name="separator"   column="separator_yn" type="yes_no"/>\r
177          <property name="imageSrc"    column="image_src" />\r
178     </class>\r
179 \r
180     <class name="MenuData" table="FN_MENU">\r
181         <!--  <id       name="id"          column="menu_id"/> -->\r
182         <id name="id" column="menu_id">\r
183           <generator class="native">\r
184              <param name="sequence">seq_fn_menu</param> \r
185           </generator>\r
186         </id>\r
187         <property name="label"       column="label"/>\r
188         <property name="action"      column="action"/>\r
189         <property name="functionCd"  column="function_cd"/>\r
190         <property name="sortOrder"   column="sort_order"/>\r
191         <property name="servlet"     column="servlet"/>\r
192         <property name="queryString" column="query_string"/>\r
193         <property name="externalUrl" column="external_url"/>\r
194         <property name="target"      column="target"/>\r
195         <property name="active"      column="active_yn"    type="yes_no"/>\r
196         <property name="separator"   column="separator_yn" type="yes_no"/>\r
197         <property name="imageSrc"    column="image_src" />\r
198         <property name="menuSetCode" column="menu_set_cd"  />\r
199 \r
200         <many-to-one name="parentMenu" column="parent_id" class="MenuData"/>\r
201 \r
202         <set name="childMenus" lazy="false" sort="natural" inverse="true" where="active_yn = 'Y'">\r
203             <key column="parent_id"/>\r
204             <one-to-many class="MenuData"/>\r
205         </set>\r
206     </class>\r
207     \r
208     <!-- Broadcast Message class mapping details -->\r
209     <class name="BroadcastMessage" table="fn_broadcast_message">\r
210         <id name="id" column="message_id">\r
211             <generator class="native">\r
212               <param name="sequence">seq_fn_broadcast_message</param>\r
213             </generator>\r
214         </id>\r
215         <property name="messageText" column="message_text"/>\r
216         <property name="locationId"  column="message_location_id"/>\r
217 \r
218         <property name="startDate"   column="broadcast_start_date"  type="timestamp"/>\r
219         <property name="endDate"     column="broadcast_end_date"    type="timestamp"/>\r
220 \r
221         <property name="sortOrder"   column="sort_order"/>\r
222         <property name="active"      column="active_yn"             type="yes_no"/>\r
223 \r
224         <property name="siteCd"      column="broadcast_site_cd"    />\r
225     </class>\r
226         \r
227     <!-- State Lookup class mapping details -->\r
228     <class name="LuState" table="FN_LU_STATE">\r
229         <id       name="abbr"  column="state_cd" />\r
230         <property name="state"                   />\r
231     </class>\r
232     \r
233     <!-- Country Lookup class mapping details -->\r
234     <class name="LuCountry" table="FN_LU_COUNTRY">\r
235         <id       name="abbr"  column="country_cd" />\r
236         <property name="country"                   />\r
237         <property name="fullName" column="full_name" />\r
238         <property name="webphoneCountryLabel" column="fullwebphone_country_label_name" />\r
239     </class>\r
240     \r
241     <class name="LuTimeZone" table="FN_LU_TIMEZONE">\r
242         <id       name="timezoneId"  column="timezone_id" />\r
243         <property name="name" column="timezone_name" />\r
244         <property name="value" column="timezone_value" />\r
245     </class>\r
246 \r
247         <!-- Audit Log class mapping details -->\r
248     <class name="AuditLog" table="fn_audit_log">\r
249         <id name="id" column="log_id">\r
250           <generator class="native">\r
251                         <param name="sequence">seq_fn_audit_log</param>\r
252                   </generator>\r
253         </id>\r
254         <property name="activityCode"      column="activity_cd"/>\r
255         <property name="affectedRecordId"  column="affected_record_id"  />\r
256         <property name="comments"          column="comments"  />\r
257         <property name="userId"         column="user_id" />\r
258     </class>\r
259     \r
260     <!-- Lookup (id/value bean) class mapping details -->\r
261     <class name="Lookup">\r
262         <composite-id  name="nameValueId" class="org.openecomp.portalsdk.core.domain.support.NameValueId">\r
263           <key-property name="val"/>\r
264           <key-property name="lab" />\r
265         </composite-id>\r
266     </class>\r
267 \r
268         <class name="UrlsAccessible" table="V_URL_ACCESS">\r
269       <composite-id  name="urlsAccessibleKey" class="org.openecomp.portalsdk.core.domain.UrlsAccessibleKey">\r
270         <key-property   name="url"      column="url"/>\r
271         <key-property   name="functionCd"       column="function_cd"/>\r
272       </composite-id>\r
273     </class>\r
274     \r
275         <query name="functionCDlist">\r
276       select distinct functionCd from MenuData \r
277     </query>\r
278     \r
279         <query name="menuData">\r
280       from MenuData where menuSetCode = :menu_set_cd and parentMenu is null\r
281     </query>\r
282         <query name="restrictedUrls">\r
283       FROM UrlsAccessible A where upper(A.urlsAccessibleKey.url) = upper(:current_url)\r
284     </query>\r
285 \r
286     <query name="getUserNameById">\r
287       select firstName, lastName from User where id = :user_id\r
288     </query>\r
289 \r
290     <query name="getUserEmail">\r
291       select email from User where id = :user_id\r
292     </query>\r
293 \r
294     <query name="getAllUsers">\r
295       select id, firstName, lastName from User where active = true order by lastName, firstName\r
296     </query>\r
297         \r
298     <query name="getRoleNameById">\r
299       select name from Role where id = :role_id\r
300     </query>\r
301 \r
302     <query name="getAllRoles">\r
303       select id, name from Role order by name\r
304     </query>\r
305     \r
306         <sql-query name="getBytesPublishedDelivered">\r
307                 <return-scalar column="Published" type="java.lang.String"/>\r
308                 <return-scalar column="Delivered" type="java.lang.String"/>\r
309                 <![CDATA[\r
310         select concat(Round(sum(bytespublished)/(1024*1024*1024*1024), 0), ' Pb') 'Published', concat(Round(sum(bytesdelivered)/(1024*1024*1024*1024), 0), ' Pb') ' Delivered' from kpi_drvolumes where day = (select max(day) from kpi_drvolumes)\r
311                 ]]>\r
312         </sql-query>\r
313         \r
314         <sql-query name="getDataRouterFeedStats">\r
315                 <return-scalar column="TOTAL_FEEDS" type="java.lang.Long"/>\r
316                 <return-scalar column="ACTIVE_FEEDS" type="java.lang.Long"/>\r
317                 <return-scalar column="ACTIVE_SUBS" type="java.lang.Long"/>\r
318                 <![CDATA[\r
319         SELECT SUM(TOTALFEEDS) TOTAL_FEEDS, SUM(ACTIVEFEEDS) ACTIVE_FEEDS, SUM(ACTIVESUBS) ACTIVE_SUBS FROM kpi_drsumm where day = (select max(day) from kpi_drvolumes)\r
320                 ]]>\r
321         </sql-query>    \r
322 \r
323         <sql-query name="getLOCStatsCat">\r
324         <![CDATA[\r
325                 select CATEGORY1 CATEGORY from demo_kpi_sourcecode_stats group by category1\r
326         ]]>\r
327         </sql-query>\r
328 \r
329         <sql-query name="getLOCStats">\r
330         <![CDATA[\r
331                 select sum(total_lines) TOTAL_LINES from demo_kpi_sourcecode_stats group by category1\r
332         ]]>\r
333         </sql-query>\r
334         \r
335 </hibernate-mapping>\r