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