Introduce tosca saving

Introduce tosca saving for generic Config policy + rest apis

Issue-ID: CLAMP-214
Signed-off-by: sebdet <sd378r@intl.att.com>
Change-Id: I34431d256b195071ea6f7581fc20aff9a6b9aaf7
diff --git a/extra/sql/bulkload/clds-stored-procedures.sql b/extra/sql/bulkload/clds-stored-procedures.sql
index d09d3fc..1077174 100644
--- a/extra/sql/bulkload/clds-stored-procedures.sql
+++ b/extra/sql/bulkload/clds-stored-procedures.sql
@@ -15,6 +15,10 @@
 DROP PROCEDURE IF EXISTS set_template;
 DROP PROCEDURE IF EXISTS get_template;
 DROP PROCEDURE IF EXISTS del_model;
+DROP PROCEDURE IF EXISTS set_new_tosca_model_version;
+DROP PROCEDURE IF EXISTS set_tosca_model;
+DROP PROCEDURE IF EXISTS set_dictionary;
+DROP PROCEDURE IF EXISTS set_dictionary_elements;
 DELIMITER //
 CREATE PROCEDURE get_template
   (IN v_template_name VARCHAR(80),
@@ -456,5 +460,65 @@
 	DELETE from model_properties where model_id = v_model_id;
     DELETE from model where model_id = v_model_id;
 END
+
+CREATE PROCEDURE set_new_tosca_model_version
+  (IN v_tosca_model_id VARCHAR(36),
+   IN v_version DOUBLE,
+   IN v_tosca_model_yaml MEDIUMTEXT,
+   IN v_tosca_model_json MEDIUMTEXT,
+   IN v_user_id VARCHAR(80),
+   OUT v_revision_id VARCHAR(36))
+BEGIN
+  SET v_revision_id = UUID();
+  INSERT INTO tosca_model_revision
+    (tosca_model_revision_id, tosca_model_id, version, tosca_model_yaml, tosca_model_json, user_id)
+    VALUES (v_revision_id, v_tosca_model_id, v_version, v_tosca_model_yaml, v_tosca_model_json, v_user_id);
+END;
+
+CREATE PROCEDURE set_tosca_model
+  (IN v_tosca_model_name VARCHAR(80),
+   IN v_policy_type VARCHAR(80),
+   IN v_user_id VARCHAR(80),
+   IN v_tosca_model_yaml MEDIUMTEXT,
+   IN v_tosca_model_json MEDIUMTEXT,
+   IN v_version DOUBLE,
+   OUT v_tosca_model_id VARCHAR(36),
+   OUT v_revision_id VARCHAR(36))
+BEGIN
+  SET v_tosca_model_id = UUID();
+  INSERT INTO tosca_model
+    (tosca_model_id, tosca_model_name, policy_type, user_id)
+    VALUES (v_tosca_model_id, v_tosca_model_name, v_policy_type, v_user_id);
+  SET v_revision_id = UUID();
+  INSERT INTO tosca_model_revision
+    (tosca_model_revision_id, tosca_model_id, version, tosca_model_yaml, tosca_model_json, user_id)
+    VALUES (v_revision_id, v_tosca_model_id, v_version, v_tosca_model_yaml, v_tosca_model_json, v_user_id);
+END;
+
+CREATE PROCEDURE set_dictionary
+  (IN v_dictionary_name VARCHAR(80),
+   IN v_user_id VARCHAR(80),
+   OUT v_dictionary_id VARCHAR(36))
+BEGIN
+  SET v_dictionary_id = UUID();
+  INSERT INTO dictionary
+    (dictionary_id, dictionary_name, created_by, modified_by)
+    VALUES (v_dictionary_id, v_dictionary_name, v_user_id, v_user_id);
+END;
+
+CREATE PROCEDURE set_dictionary_elements
+  (IN v_dictionary_id VARCHAR(36),
+   IN v_dict_element_name VARCHAR(250),
+   IN v_dict_element_short_name VARCHAR(80),
+   IN v_dict_element_description VARCHAR(250),
+   IN v_dict_element_type VARCHAR(80),
+   IN v_user_id VARCHAR(80),
+   OUT v_dict_element_id VARCHAR(36))
+BEGIN
+  SET v_dict_element_id = UUID();
+  INSERT INTO dictionary_elements
+    (dict_element_id, dictionary_id, dict_element_name, dict_element_short_name, dict_element_description, dict_element_type, created_by, modified_by)
+    VALUES (v_dict_element_id, v_dictionary_id, v_dict_element_name, v_dict_element_short_name, v_dict_element_description, v_dict_element_type, v_user_id, v_user_id);
+END;
 //
 DELIMITER ;