[UI] Common class for results
[validation.git] / ui / src / main / java / org / akraino / validation / ui / daoimpl / BlueprintDAOImpl.java
index 771c327..6c751ad 100644 (file)
@@ -17,6 +17,8 @@ package org.akraino.validation.ui.daoimpl;
 
 import java.util.List;
 
+import javax.annotation.Nonnull;
+
 import org.akraino.validation.ui.dao.BlueprintDAO;
 import org.akraino.validation.ui.entity.Blueprint;
 import org.hibernate.Criteria;
@@ -42,34 +44,48 @@ public class BlueprintDAOImpl implements BlueprintDAO {
     @Override
     public List<Blueprint> getBlueprints() {
         Criteria criteria = getSession().createCriteria(Blueprint.class);
+        criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
         return criteria.list();
     }
 
     @Override
-    public Blueprint getBlueprint(Integer blueprintId) {
+    public Blueprint getBlueprint(@Nonnull Integer blueprintId) {
+        Criteria criteria = getSession().createCriteria(Blueprint.class);
+        criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
+        criteria.add(Restrictions.eq("id", blueprintId));
+        return criteria.list() == null || criteria.list().size() < 1 ? null : (Blueprint) criteria.list().get(0);
+    }
+
+    @Override
+    public Blueprint getBlueprint(String name) {
         Criteria criteria = getSession().createCriteria(Blueprint.class);
-        criteria.add(Restrictions.eq("id", String.valueOf(blueprintId)));
-        return criteria.list() == null ? null : (Blueprint) criteria.list().get(0);
+        criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
+        criteria.add(Restrictions.eq("blueprintName", name));
+        return criteria.list() == null || criteria.list().size() < 1 ? null : (Blueprint) criteria.list().get(0);
     }
 
     @Override
-    public void saveOrUpdate(Blueprint blueprint) {
+    public void saveOrUpdate(@Nonnull Blueprint blueprint) {
         getSession().saveOrUpdate(blueprint);
+        getSession().flush();
     }
 
     @Override
-    public void merge(Blueprint blueprint) {
+    public void merge(@Nonnull Blueprint blueprint) {
         getSession().merge(blueprint);
+        getSession().flush();
     }
 
     @Override
-    public void deleteBlueprint(Blueprint blueprint) {
+    public void deleteBlueprint(@Nonnull Blueprint blueprint) {
         getSession().delete(blueprint);
+        getSession().flush();
     }
 
     @Override
     public void deleteAll() {
         if (getSession().createQuery("delete from Blueprint").executeUpdate() > 0) {
+            getSession().flush();
             LOGGER.info(EELFLoggerDelegate.applicationLogger, "All blueprint entries are cleaned up");
         }
     }