X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fakraino%2Fvalidation%2Fui%2Fdaoimpl%2FBlueprintInstanceDAOImpl.java;h=c2cb924e8fe91c9ec18866a20826d7d0f19ef8a1;hb=refs%2Fchanges%2F87%2F2087%2F1;hp=4bacb1471f75e5e449c3f871fd717a1b25b10b52;hpb=258e9371b09efc06f8e82fe73d92a96cbecd98a5;p=validation.git diff --git a/ui/src/main/java/org/akraino/validation/ui/daoimpl/BlueprintInstanceDAOImpl.java b/ui/src/main/java/org/akraino/validation/ui/daoimpl/BlueprintInstanceDAOImpl.java index 4bacb14..c2cb924 100644 --- a/ui/src/main/java/org/akraino/validation/ui/daoimpl/BlueprintInstanceDAOImpl.java +++ b/ui/src/main/java/org/akraino/validation/ui/daoimpl/BlueprintInstanceDAOImpl.java @@ -1,40 +1,39 @@ /* * Copyright (c) 2019 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 + * 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 + * 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. + * 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. */ package org.akraino.validation.ui.daoimpl; import java.util.List; -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Root; +import javax.annotation.Nonnull; import org.akraino.validation.ui.dao.BlueprintInstanceDAO; +import org.akraino.validation.ui.entity.Blueprint; import org.akraino.validation.ui.entity.BlueprintInstance; -import org.apache.log4j.Logger; +import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.SessionFactory; -import org.hibernate.query.Query; +import org.hibernate.criterion.Restrictions; +import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; @Repository public class BlueprintInstanceDAOImpl implements BlueprintInstanceDAO { - private static final Logger LOGGER = Logger.getLogger(BlueprintInstanceDAOImpl.class); + private static final EELFLoggerDelegate LOGGER = EELFLoggerDelegate.getLogger(BlueprintInstanceDAOImpl.class); @Autowired private SessionFactory sessionFactory; @@ -45,54 +44,57 @@ public class BlueprintInstanceDAOImpl implements BlueprintInstanceDAO { @Override public List getBlueprintInstances() { - - CriteriaBuilder builder = getSession().getCriteriaBuilder(); - CriteriaQuery criteria = builder.createQuery(BlueprintInstance.class); - - Root root = criteria.from(BlueprintInstance.class); - criteria.select(root); - - Query query = getSession().createQuery(criteria); - - return query.getResultList(); - + Criteria criteria = getSession().createCriteria(BlueprintInstance.class); + criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); + return criteria.list(); } @Override - public BlueprintInstance getBlueprintInstance(Integer instId) { - - EntityManager entityManager = getSession().getEntityManagerFactory().createEntityManager(); - - return entityManager.find(BlueprintInstance.class, instId); + public BlueprintInstance getBlueprintInstance(@Nonnull Integer instId) { + Criteria criteria = getSession().createCriteria(BlueprintInstance.class); + criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); + criteria.add(Restrictions.eq("id", instId)); + return criteria.list() == null || criteria.list().size() < 1 ? null + : (BlueprintInstance) criteria.list().get(0); } @Override - public void saveOrUpdate(BlueprintInstance blueprintInstance) { - getSession().saveOrUpdate(blueprintInstance); - + public BlueprintInstance getBlueprintInstance(Blueprint blueprint, String version) { + Criteria criteria = getSession().createCriteria(BlueprintInstance.class); + criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); + if (blueprint != null) { + criteria.add(Restrictions.eq("blueprint", blueprint)); + } + if (version != null) { + criteria.add(Restrictions.eq("version", version)); + } + return criteria.list() == null || criteria.list().size() < 1 ? null + : (BlueprintInstance) criteria.list().get(0); } @Override - public void merge(BlueprintInstance blueprintInstance) { - getSession().merge(blueprintInstance); - + public void saveOrUpdate(@Nonnull BlueprintInstance blueprintInst) { + getSession().saveOrUpdate(blueprintInst); + getSession().flush(); } @Override - public void deleteBlueprintInstance(BlueprintInstance blueprintInstance) { - getSession().delete(blueprintInstance); + public void merge(@Nonnull BlueprintInstance blueprintInst) { + getSession().merge(blueprintInst); + getSession().flush(); + } + @Override + public void deleteBlueprintInstance(@Nonnull BlueprintInstance blueprintInst) { + getSession().delete(blueprintInst); + getSession().flush(); } @Override public void deleteAll() { - - Query query = getSession().createQuery("delete from BlueprintInstance"); - - int result = query.executeUpdate(); - - if (result > 0) { - LOGGER.info("All blueprint instance entries are cleaned up"); + if (getSession().createQuery("delete from BlueprintInstance").executeUpdate() > 0) { + LOGGER.info(EELFLoggerDelegate.applicationLogger, "All blueprint instances entries are cleaned up"); + getSession().flush(); } }