Add new class for DAO
[clamp.git] / src / main / java / org / onap / clamp / clds / dao / CldsDao.java
index 3cc6a32..c5332a6 100644 (file)
@@ -43,9 +43,11 @@ import org.onap.clamp.clds.model.CldsDBServiceCache;
 import org.onap.clamp.clds.model.CldsEvent;
 import org.onap.clamp.clds.model.CldsModel;
 import org.onap.clamp.clds.model.CldsModelInstance;
+import org.onap.clamp.clds.model.CldsModelProp;
 import org.onap.clamp.clds.model.CldsServiceData;
 import org.onap.clamp.clds.model.CldsTemplate;
 import org.onap.clamp.clds.model.ValueItem;
+import org.springframework.dao.EmptyResultDataAccessException;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
@@ -407,9 +409,8 @@ public class CldsDao {
      *
      * @param template
      * @param userid
-     * @return
      */
-    public CldsTemplate setTemplate(CldsTemplate template, String userid) {
+    public void setTemplate(CldsTemplate template, String userid) {
         SqlParameterSource in = new MapSqlParameterSource().addValue("v_template_name", template.getName())
                 .addValue("v_user_id", userid).addValue("v_template_bpmn_text", template.getBpmnText())
                 .addValue("v_template_image_text", template.getImageText())
@@ -425,7 +426,6 @@ public class CldsDao {
         template.setPropId((String) (out.get("v_template_doc_id")));
         template.setPropUserid((String) out.get("v_template_doc_user_id"));
         template.setPropText((String) out.get("v_template_doc_text"));
-        return template;
     }
 
     /**
@@ -465,10 +465,14 @@ public class CldsDao {
     public CldsServiceData getCldsServiceCache(String invariantUUID) {
         CldsServiceData cldsServiceData = null;
         List<CldsServiceData> cldsServiceDataList = new ArrayList<>();
-        String getCldsServiceSQL = "SELECT * , TIMESTAMPDIFF(SECOND, timestamp, CURRENT_TIMESTAMP()) FROM clds_service_cache where invariant_service_id  = ? ";
-        cldsServiceData = jdbcTemplateObject.queryForObject(getCldsServiceSQL, new Object[] { invariantUUID },
-                new CldsServiceDataMapper());
-        logger.info("value of cldsServiceDataList: {}", cldsServiceDataList);
+        try {
+            String getCldsServiceSQL = "SELECT * , TIMESTAMPDIFF(SECOND, timestamp, CURRENT_TIMESTAMP()) FROM clds_service_cache where invariant_service_id  = ? ";
+            cldsServiceData = jdbcTemplateObject.queryForObject(getCldsServiceSQL, new Object[] { invariantUUID },
+                    new CldsServiceDataMapper());
+            logger.info("value of cldsServiceDataList: {}", cldsServiceDataList);
+        } catch (EmptyResultDataAccessException e) {
+            logger.info("cache row not found for invariantUUID: {}", invariantUUID);
+        }
         return cldsServiceData;
     }
 
@@ -498,4 +502,26 @@ public class CldsDao {
         jdbcTemplateObject.execute(HEALTHCHECK);
     }
 
+    /**
+     * Method to get all models with model properties.
+     * 
+     * @return list of CldsModelProp
+     */
+    public List<CldsModelProp> getAllModelProperties() {
+        List<CldsModelProp> cldsModelPropList = new ArrayList<CldsModelProp>();
+        String modelsSql = "select m.model_id, m.model_name, mp.model_prop_id, mp.model_prop_text FROM model m, model_properties mp"
+                + " WHERE m.model_prop_id = mp.model_prop_id";
+        List<Map<String, Object>> rows = jdbcTemplateObject.queryForList(modelsSql);
+        CldsModelProp cldsModelProp = null;
+        for (Map<String, Object> row : rows) {
+            cldsModelProp = new CldsModelProp();
+            cldsModelProp.setId((String) row.get("model_id"));
+            cldsModelProp.setName((String) row.get("model_name"));
+            cldsModelProp.setPropId((String) row.get("model_prop_id"));
+            cldsModelProp.setPropText((String) row.get("model_prop_text"));
+            cldsModelPropList.add(cldsModelProp);
+        }
+        return cldsModelPropList;
+    }
+
 }