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