X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fakraino%2Fvalidation%2Fui%2Fdaoimpl%2FLabDAOImpl.java;h=1bfc23153d05967de8943d23497574f170a21cac;hb=147ecf7bf79ea9967a121d0038103151a38ebef2;hp=3a383da25379cc0143fec9d91d262898c9452c31;hpb=d397f244c7a923b08df9d6488981e3d22c999c0f;p=validation.git diff --git a/ui/src/main/java/org/akraino/validation/ui/daoimpl/LabDAOImpl.java b/ui/src/main/java/org/akraino/validation/ui/daoimpl/LabDAOImpl.java index 3a383da..1bfc231 100644 --- a/ui/src/main/java/org/akraino/validation/ui/daoimpl/LabDAOImpl.java +++ b/ui/src/main/java/org/akraino/validation/ui/daoimpl/LabDAOImpl.java @@ -17,6 +17,8 @@ package org.akraino.validation.ui.daoimpl; import java.util.List; +import javax.annotation.Nonnull; + import org.akraino.validation.ui.dao.LabDAO; import org.akraino.validation.ui.entity.LabInfo; import org.hibernate.Criteria; @@ -42,35 +44,57 @@ public class LabDAOImpl implements LabDAO { @Override public List getLabs() { Criteria criteria = getSession().createCriteria(LabInfo.class); + criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); return criteria.list(); } @Override - public LabInfo getLab(Integer labId) { + public LabInfo getLab(@Nonnull Integer labId) { + Criteria criteria = getSession().createCriteria(LabInfo.class); + criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); + criteria.add(Restrictions.eq("id", labId)); + return criteria.list() == null || criteria.list().size() < 1 ? null : (LabInfo) criteria.list().get(0); + } + + @Override + public LabInfo getLab(@Nonnull String lab) { + Criteria criteria = getSession().createCriteria(LabInfo.class); + criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); + criteria.add(Restrictions.eq("lab", lab)); + return criteria.list() == null || criteria.list().size() < 1 ? null : (LabInfo) criteria.list().get(0); + } + + @Override + public LabInfo getLabBasedOnSilo(String silo) { Criteria criteria = getSession().createCriteria(LabInfo.class); - criteria.add(Restrictions.eq("id", String.valueOf(labId))); - return criteria.list() == null ? null : (LabInfo) criteria.list().get(0); + criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); + criteria.add(Restrictions.eq("silo", silo)); + return criteria.list() == null || criteria.list().size() < 1 ? null : (LabInfo) criteria.list().get(0); } @Override - public void saveOrUpdate(LabInfo lab) { + public void saveOrUpdate(@Nonnull LabInfo lab) { getSession().saveOrUpdate(lab); + getSession().flush(); } @Override - public void merge(LabInfo lab) { + public void merge(@Nonnull LabInfo lab) { getSession().merge(lab); + getSession().flush(); } @Override - public void deleteLab(LabInfo lab) { + public void deleteLab(@Nonnull LabInfo lab) { getSession().delete(lab); + getSession().flush(); } @Override public void deleteAll() { if (getSession().createQuery("delete from Lab").executeUpdate() > 0) { LOGGER.info(EELFLoggerDelegate.applicationLogger, "All lab entries are cleaned up"); + getSession().flush(); } }