[PORTAL-7] Rebase
[portal.git] / ecomp-portal-BE-common / src / main / webapp / WEB-INF / fusion / orm / Fusion.hbm.xml
diff --git a/ecomp-portal-BE-common/src/main/webapp/WEB-INF/fusion/orm/Fusion.hbm.xml b/ecomp-portal-BE-common/src/main/webapp/WEB-INF/fusion/orm/Fusion.hbm.xml
new file mode 100644 (file)
index 0000000..f6d22a2
--- /dev/null
@@ -0,0 +1,335 @@
+<?xml version="1.0"?>\r
+<!--\r
+  ================================================================================\r
+  ECOMP Portal\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&T Intellectual Property\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ================================================================================\r
+  -->\r
+\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"\r
+        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">\r
+\r
+<!-- \r
+Publishes mappings and queries for EP SDK library features ONLY.\r
+Portal app mappings and features are in EP.hbm.xml.\r
+-->\r
+<hibernate-mapping package="org.openecomp.portalsdk.core.domain">\r
+\r
+     <!-- User class mapping details -->\r
+    <class name="User" table="FN_USER">\r
+        <id name="id" column="user_id" > \r
+          <generator class="native">\r
+             <param name="sequence">seq_fn_user</param> \r
+          </generator>\r
+        </id>\r
+\r
+        <property name="orgId"         column="org_id"/>\r
+        <property name="managerId"     column="manager_id"/>\r
+        <property name="firstName"     column="first_name"/>\r
+        <property name="middleInitial" column="middle_name"/>\r
+        <property name="lastName"      column="last_name"/>\r
+        <property name="phone"         column="phone"/>\r
+        <property name="fax"           column="fax"/>\r
+        <property name="cellular"      column="cellular"/>\r
+        <property name="email"         column="email"/>\r
+        <property name="addressId"     column="address_id"/>\r
+        <property name="alertMethodCd" column="alert_method_cd"/>\r
+\r
+        <property name="address1"      column="address_line_1"/>\r
+        <property name="address2"      column="address_line_2"/>\r
+        <property name="city"          column="city"/>\r
+        <property name="state"         column="state_cd"/>\r
+        <property name="zipCode"       column="zip_code"/>\r
+        <property name="country"       column="country_cd"/>\r
+\r
+        <property name="hrid"          column="hrid"/>\r
+        <property name="orgUserId"     column="org_user_id"/>\r
+        <property name="orgCode"       column="org_code"/>\r
+        <property name="loginId"       column="login_id"/>\r
+        <property name="loginPwd"      column="login_pwd"/>\r
+        <property name="lastLoginDate" column="last_login_date"  type="timestamp"/>\r
+\r
+        <property name="locationClli"  column="location_clli" />\r
+        <property name="orgManagerUserId" column="org_manager_userid" />\r
+        <property name="company"       column="company" />\r
+        <property name="department"    column="department" />\r
+        <property name="departmentName"        column="department_name" />\r
+        <property name="businessUnit"                  column="business_unit" />\r
+        <property name="businessUnitName"   column="business_unit_name" />\r
+        <property name="jobTitle"                      column="job_title" />\r
+        <property name="siloStatus"                    column="silo_status" />\r
+        <property name="financialLocCode"   column="fin_loc_code" />\r
+\r
+        <property name="active"        column="active_yn"       type="yes_no"/>\r
+        <property name="internal"      column="is_internal_yn"  type="yes_no"/>\r
+\r
+        <property name="created"  type="timestamp" column="created_date"  />\r
+        <property name="modified" type="timestamp" column="modified_date" />\r
+\r
+        <property name="createdId"  column="created_id" />\r
+        <property name="modifiedId" column="modified_id" />\r
+               <property name="timeZoneId" column="timezone" />\r
+               \r
+        <set name="userApps" table="FN_USER_ROLE" lazy="false" sort="natural" inverse="true" cascade="all-delete-orphan">\r
+            <key column="user_id"/>\r
+            <one-to-many class="org.openecomp.portalsdk.core.domain.UserApp" />\r
+        </set>\r
+\r
+        <set name="pseudoRoles" table="FN_USER_PSEUDO_ROLE" lazy="false" sort="natural">\r
+            <key column="user_id"/>\r
+            <many-to-many column="pseudo_role_id" class="org.openecomp.portalsdk.core.domain.Role" />\r
+        </set>\r
+    </class>\r
+\r
+       <class name="UserApp" table="fn_user_role">\r
+        <composite-id>\r
+            <key-property name="userId" type="long">\r
+                <column name="user_id" precision="11" scale="0" />\r
+            </key-property>\r
+               <key-many-to-one name="app" class="org.openecomp.portalsdk.core.domain.App" column="app_id" />\r
+               <key-many-to-one name="role" class="org.openecomp.portalsdk.core.domain.Role" column="role_id" />\r
+        </composite-id>\r
+        <property name="priority" type="java.lang.Short">\r
+            <column name="priority" precision="4" scale="0" />\r
+        </property>\r
+    </class>\r
+\r
+    <!-- User App class mapping details -->\r
+    <class name="App" table="fn_app">\r
+        <id name="id" column="app_id"/>\r
+        <property name="name"      column="app_name"/>\r
+        <property name="appPassword"      column="app_password"/>\r
+        <property name="username"      column="app_username"/>        \r
+        \r
+    </class>\r
+\r
+    <!-- User Role class mapping details -->\r
+    <class name="Role" table="FN_ROLE_V">\r
+        <id name="id" column="role_id">\r
+           <generator class="native">\r
+             <param name="sequence">seq_fn_role</param> \r
+          </generator>\r
+        </id>\r
+\r
+        <property name="name"      column="role_name"/>\r
+        <property name="priority"  column="priority" />\r
+        <property name="active"    column="active_yn"  type="yes_no"/>\r
+\r
+        <set name="roleFunctions" table="FN_ROLE_FUNCTION" lazy="false" sort="natural">\r
+            <key column="role_id"/>\r
+            <many-to-many column="function_cd" class="org.openecomp.portalsdk.core.domain.RoleFunction"/>\r
+        </set>\r
+\r
+        <set name="childRoles" table="FN_ROLE_COMPOSITE" lazy="false" sort="natural">\r
+            <key column="parent_role_id"/>\r
+            <many-to-many column="child_role_id" class="org.openecomp.portalsdk.core.domain.Role"/>\r
+        </set>\r
+        \r
+        <set name="parentRoles" table="FN_ROLE_COMPOSITE" lazy="false" sort="natural">\r
+            <key column="child_role_id"/>\r
+            <many-to-many column="parent_role_id" class="org.openecomp.portalsdk.core.domain.Role"/>\r
+        </set>\r
+\r
+    </class>\r
+    \r
\r
+\r
+    <!-- User Role Function class mapping details -->\r
+    <class name="RoleFunction" table="FN_FUNCTION">\r
+        <id        name="code"  column="function_cd"   />\r
+        <property  name="name"  column="function_name" />\r
+    </class>\r
+    \r
+    <!-- Menu class mapping details -->\r
+    <class name="Menu" table="FN_MENU">\r
+        <id name="id" column="menu_id">\r
+          <generator class="native">\r
+             <param name="sequence">seq_fn_menu</param> \r
+          </generator>\r
+        </id>\r
+\r
+         <property name="menuLevel"   column="level-1"/>\r
+         <property name="label"       column="label"/>\r
+         <property name="parentId"    column="parent_id"/>\r
+         <property name="action"      column="action"/>\r
+         <property name="functionCd"  column="function_cd"/>\r
+         <property name="sortOrder"   column="sort_order"/>\r
+         <property name="servlet"     column="servlet"/>\r
+         <property name="queryString" column="query_string"/>\r
+         <property name="externalUrl" column="external_url"/>\r
+         <property name="target"      column="target"/>\r
+         <property name="active"      column="active_yn"    type="yes_no"/>\r
+         <property name="separator"   column="separator_yn" type="yes_no"/>\r
+         <property name="imageSrc"    column="image_src" />\r
+    </class>\r
+\r
+    <class name="MenuData" table="FN_MENU">\r
+        <!--  <id       name="id"          column="menu_id"/> -->\r
+        <id name="id" column="menu_id">\r
+          <generator class="native">\r
+             <param name="sequence">seq_fn_menu</param> \r
+          </generator>\r
+        </id>\r
+        <property name="label"       column="label"/>\r
+        <property name="action"      column="action"/>\r
+        <property name="functionCd"  column="function_cd"/>\r
+        <property name="sortOrder"   column="sort_order"/>\r
+        <property name="servlet"     column="servlet"/>\r
+        <property name="queryString" column="query_string"/>\r
+        <property name="externalUrl" column="external_url"/>\r
+        <property name="target"      column="target"/>\r
+        <property name="active"      column="active_yn"    type="yes_no"/>\r
+        <property name="separator"   column="separator_yn" type="yes_no"/>\r
+        <property name="imageSrc"    column="image_src" />\r
+        <property name="menuSetCode" column="menu_set_cd"  />\r
+\r
+        <many-to-one name="parentMenu" column="parent_id" class="MenuData"/>\r
+\r
+        <set name="childMenus" lazy="false" sort="natural" inverse="true" where="active_yn = 'Y'">\r
+            <key column="parent_id"/>\r
+            <one-to-many class="MenuData"/>\r
+        </set>\r
+    </class>\r
+    \r
+    <!-- Broadcast Message class mapping details -->\r
+    <class name="BroadcastMessage" table="fn_broadcast_message">\r
+        <id name="id" column="message_id">\r
+            <generator class="native">\r
+              <param name="sequence">seq_fn_broadcast_message</param>\r
+            </generator>\r
+        </id>\r
+        <property name="messageText" column="message_text"/>\r
+        <property name="locationId"  column="message_location_id"/>\r
+\r
+        <property name="startDate"   column="broadcast_start_date"  type="timestamp"/>\r
+        <property name="endDate"     column="broadcast_end_date"    type="timestamp"/>\r
+\r
+        <property name="sortOrder"   column="sort_order"/>\r
+        <property name="active"      column="active_yn"             type="yes_no"/>\r
+\r
+        <property name="siteCd"      column="broadcast_site_cd"    />\r
+    </class>\r
+        \r
+    <!-- State Lookup class mapping details -->\r
+    <class name="LuState" table="FN_LU_STATE">\r
+        <id       name="abbr"  column="state_cd" />\r
+        <property name="state"                   />\r
+    </class>\r
+    \r
+    <!-- Country Lookup class mapping details -->\r
+    <class name="LuCountry" table="FN_LU_COUNTRY">\r
+        <id       name="abbr"  column="country_cd" />\r
+        <property name="country"                   />\r
+        <property name="fullName" column="full_name" />\r
+        <property name="webphoneCountryLabel" column="fullwebphone_country_label_name" />\r
+    </class>\r
+    \r
+    <class name="LuTimeZone" table="FN_LU_TIMEZONE">\r
+        <id       name="timezoneId"  column="timezone_id" />\r
+        <property name="name" column="timezone_name" />\r
+        <property name="value" column="timezone_value" />\r
+    </class>\r
+\r
+       <!-- Audit Log class mapping details -->\r
+    <class name="AuditLog" table="fn_audit_log">\r
+        <id name="id" column="log_id">\r
+          <generator class="native">\r
+                       <param name="sequence">seq_fn_audit_log</param>\r
+                 </generator>\r
+        </id>\r
+        <property name="activityCode"      column="activity_cd"/>\r
+        <property name="affectedRecordId"  column="affected_record_id"  />\r
+        <property name="comments"          column="comments"  />\r
+        <property name="userId"         column="user_id" />\r
+    </class>\r
+    \r
+    <!-- Lookup (id/value bean) class mapping details -->\r
+    <class name="Lookup">\r
+        <composite-id  name="nameValueId" class="org.openecomp.portalsdk.core.domain.support.NameValueId">\r
+          <key-property name="val"/>\r
+          <key-property name="lab" />\r
+        </composite-id>\r
+    </class>\r
+\r
+       <class name="UrlsAccessible" table="V_URL_ACCESS">\r
+      <composite-id  name="urlsAccessibleKey" class="org.openecomp.portalsdk.core.domain.UrlsAccessibleKey">\r
+       <key-property   name="url"      column="url"/>\r
+       <key-property   name="functionCd"       column="function_cd"/>\r
+      </composite-id>\r
+    </class>\r
+    \r
+       <query name="functionCDlist">\r
+      select distinct functionCd from MenuData \r
+    </query>\r
+    \r
+       <query name="menuData">\r
+      from MenuData where menuSetCode = :menu_set_cd and parentMenu is null\r
+    </query>\r
+       <query name="restrictedUrls">\r
+      FROM UrlsAccessible A where upper(A.urlsAccessibleKey.url) = upper(:current_url)\r
+    </query>\r
+\r
+    <query name="getUserNameById">\r
+      select firstName, lastName from User where id = :user_id\r
+    </query>\r
+\r
+    <query name="getUserEmail">\r
+      select email from User where id = :user_id\r
+    </query>\r
+\r
+    <query name="getAllUsers">\r
+      select id, firstName, lastName from User where active = true order by lastName, firstName\r
+    </query>\r
+       \r
+    <query name="getRoleNameById">\r
+      select name from Role where id = :role_id\r
+    </query>\r
+\r
+    <query name="getAllRoles">\r
+      select id, name from Role order by name\r
+    </query>\r
+    \r
+       <sql-query name="getBytesPublishedDelivered">\r
+               <return-scalar column="Published" type="java.lang.String"/>\r
+               <return-scalar column="Delivered" type="java.lang.String"/>\r
+               <![CDATA[\r
+       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
+               ]]>\r
+       </sql-query>\r
+       \r
+       <sql-query name="getDataRouterFeedStats">\r
+               <return-scalar column="TOTAL_FEEDS" type="java.lang.Long"/>\r
+               <return-scalar column="ACTIVE_FEEDS" type="java.lang.Long"/>\r
+               <return-scalar column="ACTIVE_SUBS" type="java.lang.Long"/>\r
+               <![CDATA[\r
+       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
+               ]]>\r
+       </sql-query>    \r
+\r
+       <sql-query name="getLOCStatsCat">\r
+       <![CDATA[\r
+               select CATEGORY1 CATEGORY from demo_kpi_sourcecode_stats group by category1\r
+       ]]>\r
+       </sql-query>\r
+\r
+       <sql-query name="getLOCStats">\r
+       <![CDATA[\r
+               select sum(total_lines) TOTAL_LINES from demo_kpi_sourcecode_stats group by category1\r
+       ]]>\r
+       </sql-query>\r
+       \r
+</hibernate-mapping>\r