Initial OpenECOMP MSO commit

Change-Id: Ia6a7574859480717402cc2f22534d9973a78fa6d
Signed-off-by: ChrisC <cc697w@intl.att.com>
diff --git a/mso-catalog-db/src/main/resources/HeatTemplate.hbm.xml b/mso-catalog-db/src/main/resources/HeatTemplate.hbm.xml
new file mode 100644
index 0000000..9bc6fb1
--- /dev/null
+++ b/mso-catalog-db/src/main/resources/HeatTemplate.hbm.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ============LICENSE_START=======================================================
+  ECOMP MSO
+  ================================================================================
+  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+  ================================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+       http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  ============LICENSE_END=========================================================
+  -->
+
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping package="org.openecomp.mso.db.catalog.beans">
+	<class name="HeatTemplate" table="HEAT_TEMPLATE">
+		<meta attribute="class-description">
+			This class describes a HEAT template
+		</meta>
+		
+		<id name="id" type="int" column="id">
+			<generator class="native"/>
+		</id>
+		
+		<properties name="uk_template" unique="true">
+			<property name="templateName" type="string" >
+			     <column name="TEMPLATE_NAME" length="200" not-null="true"/>
+			</property>
+			<property name="version" type="string" >
+			     <column name="VERSION" length="20" not-null="true"/>
+			</property>
+			<property name="asdcResourceName" type="string" >
+			      <column name="ASDC_RESOURCE_NAME" default="'MANUAL RECORD'" length="100" not-null="true"/>
+			</property>
+		</properties>
+	
+		<property name="templatePath" column="TEMPLATE_PATH" type="string" length="100"/>
+		<property name="templateBody" type="text">
+		   <column name="TEMPLATE_BODY" not-null="true"/>
+		</property>
+		<property name="timeoutMinutes" column="TIMEOUT_MINUTES" type="int"/>
+		<property name="asdcUuid" type="string" >
+		  <column name="ASDC_UUID" length="200" default="'MANUAL RECORD'" not-null="true"/>
+		</property>
+		<property name="description" column="DESCRIPTION" type="string" length="1200"/>
+		<property name="asdcLabel" column="ASDC_LABEL" type="string" length="200"/>
+		<property name="created" type="timestamp" generated="insert" update="false" insert="false" >
+		  <column name="CREATION_TIMESTAMP" not-null="true"/>
+		</property>
+		<set name="parameters" cascade="all">
+			<key column="HEAT_TEMPLATE_ID"/>
+			<one-to-many class="HeatTemplateParam"/>
+		</set>
+		<set name="files" table="HEAT_NESTED_TEMPLATE" cascade="all">
+			<key column="CHILD_TEMPLATE_ID"/>
+			<one-to-many class="HeatTemplate" not-found="ignore"/>
+		</set>
+		
+	</class>
+	
+	<class name="HeatTemplateParam" table="HEAT_TEMPLATE_PARAMS">
+		<meta attribute="class-description">
+			This class describes an input parameter to a heat template
+		</meta>
+		
+		<id name="id" type="int" column="id">
+			<generator class="native"/>
+		</id>
+
+		<properties name="uk_heat_params" unique="true">
+			<property name="heatTemplateId" type="int">
+			     <column name="HEAT_TEMPLATE_ID" not-null="true"/>
+			</property>
+			<property name="paramName" type="string" >
+			     <column name="PARAM_NAME" length="100" not-null="true"/>
+			</property>
+		</properties>
+		<property name="required" type="boolean">
+		  <column name="IS_REQUIRED" not-null="true"/>
+		</property>
+		<property name="paramType" column="PARAM_TYPE" type="string" length="20"/>
+		<property name="paramAlias" column="PARAM_ALIAS" type="string" length="45"/>
+	</class>
+</hibernate-mapping>