X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fakraino%2Fvalidation%2Fui%2Fdaoimpl%2FBlueprintInstanceDAOImpl.java;fp=ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fakraino%2Fvalidation%2Fui%2Fdaoimpl%2FBlueprintInstanceDAOImpl.java;h=4bacb1471f75e5e449c3f871fd717a1b25b10b52;hb=c5ad3fa5dcff60eb9108ed303806ff28b31a9c09;hp=0000000000000000000000000000000000000000;hpb=e8d760fe817577deae92c372b877507adc100a5f;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 new file mode 100644 index 0000000..4bacb14 --- /dev/null +++ b/ui/src/main/java/org/akraino/validation/ui/daoimpl/BlueprintInstanceDAOImpl.java @@ -0,0 +1,99 @@ +/* + * 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 + * + * 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. + */ +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 org.akraino.validation.ui.dao.BlueprintInstanceDAO; +import org.akraino.validation.ui.entity.BlueprintInstance; +import org.apache.log4j.Logger; +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.query.Query; +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); + + @Autowired + private SessionFactory sessionFactory; + + protected Session getSession() { + return sessionFactory.getCurrentSession(); + } + + @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(); + + } + + @Override + public BlueprintInstance getBlueprintInstance(Integer instId) { + + EntityManager entityManager = getSession().getEntityManagerFactory().createEntityManager(); + + return entityManager.find(BlueprintInstance.class, instId); + } + + @Override + public void saveOrUpdate(BlueprintInstance blueprintInstance) { + getSession().saveOrUpdate(blueprintInstance); + + } + + @Override + public void merge(BlueprintInstance blueprintInstance) { + getSession().merge(blueprintInstance); + + } + + @Override + public void deleteBlueprintInstance(BlueprintInstance blueprintInstance) { + getSession().delete(blueprintInstance); + + } + + @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"); + } + } + +}