com.jubinationre.model.dao.CallAPIMessageDAOImpl.java Source code

Java tutorial

Introduction

Here is the source code for com.jubinationre.model.dao.CallAPIMessageDAOImpl.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.jubinationre.model.dao;

import com.jubinationre.model.pojo.CallAPIMessage;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

/**
 *
 * @author Welcome
 */
@Repository
public class CallAPIMessageDAOImpl<T> implements java.io.Serializable, GenericDAO {
    private Session session = null;
    @Autowired
    private SessionFactory sessionFactory;

    public Object buildEntity(Object entity) {
        CallAPIMessage msg = (CallAPIMessage) entity;
        try {
            session = getSessionFactory().openSession();
            session.beginTransaction();
            session.save(msg);
            msg = (CallAPIMessage) session.get(CallAPIMessage.class, msg.getOrderId());
            session.getTransaction().commit();
        } catch (Exception e) {
            session.getTransaction().rollback();
            System.out.println("Error in building CallAPIMessage and its properties at CallAPIDAO " + e);
            e.printStackTrace();
            msg = null;
        } finally {
            if (session.isOpen()) {

            }
            session = null;
        }
        return (T) msg;

    }

    public Object getByProperty(Object entity, String listType) {
        List<CallAPIMessage> list = new ArrayList<CallAPIMessage>();
        switch (listType) {
        case "Number":
            String number = (String) entity;
            try {
                session = getSessionFactory().openSession();
                session.beginTransaction();
                Criteria criteria = session.createCriteria(CallAPIMessage.class, "call");
                criteria.add(Restrictions.eq("CallTo", number));
                list = criteria.list();
                session.getTransaction().commit();

            } catch (Exception e) {
                session.getTransaction().rollback();
                System.out.println("Error in building CallAPIMessage and its properties at CallAPIDAO " + e);
                e.printStackTrace();
            }

            break;
        case "OrderId":
            Long orderId = (Long) entity;
            try {
                session = getSessionFactory().openSession();
                session.beginTransaction();
                list.add((CallAPIMessage) session.get(CallAPIMessage.class, (Long) orderId));
                session.getTransaction().commit();
            } catch (Exception e) {
                session.getTransaction().rollback();
                System.out.println("Error in building CallAPIMessage and its properties at CallAPIDAO " + e);
                e.printStackTrace();

            }

            break;
        case "Sid":
            String sid = (String) entity;
            try {
                session = getSessionFactory().openSession();
                session.beginTransaction();
                Criteria criteria = session.createCriteria(CallAPIMessage.class, "call");
                criteria.add(Restrictions.eq("Sid", sid));
                list = criteria.list();
                session.getTransaction().commit();

            } catch (Exception e) {
                session.getTransaction().rollback();
                System.out.println("Error in deleting Items and its properties at ItemsDAO " + e);
                e.printStackTrace();
            }
            break;
        case "DateCreated":
            String dateCreated = (String) entity;
            try {
                session = getSessionFactory().openSession();
                session.beginTransaction();
                Criteria criteria = session.createCriteria(CallAPIMessage.class, "call");
                criteria.add(Restrictions.like("DateCreated", dateCreated, MatchMode.START));
                list = criteria.list();
                session.getTransaction().commit();

            } catch (Exception e) {
                session.getTransaction().rollback();
                System.out.println("Error in deleting Items and its properties at ItemsDAO " + e);
                e.printStackTrace();
            }
            break;
        case "PendingOnDate":
            String pendingOnDate = (String) entity;
            try {
                session = getSessionFactory().openSession();
                session.beginTransaction();
                Criteria criteria = session.createCriteria(CallAPIMessage.class, "call");
                criteria.add(Restrictions.or(
                        Restrictions.and(Restrictions.like("DateCreated", pendingOnDate, MatchMode.START),
                                Restrictions.like("TrackStatus", "did not", MatchMode.ANYWHERE)),
                        Restrictions.and(Restrictions.like("DateCreated", pendingOnDate, MatchMode.START),
                                Restrictions.like("TrackStatus", "Pressed 2", MatchMode.START)),
                        Restrictions.and(Restrictions.like("DateCreated", pendingOnDate, MatchMode.START),
                                Restrictions.like("Status", "failed", MatchMode.START)),
                        Restrictions.and(Restrictions.like("DateCreated", pendingOnDate, MatchMode.START),
                                Restrictions.like("Status", "no-answer", MatchMode.START))));
                list = criteria.list();
                session.getTransaction().commit();

            } catch (Exception e) {
                session.getTransaction().rollback();
                System.out.println("Error in deleting Items and its properties at ItemsDAO " + e);
                e.printStackTrace();
            }
            break;
        default:
            System.err.println("Not a valid option");
            break;
        }
        return list;
    }

    public boolean updateProperty(Object entity) {

        CallAPIMessage msg = (CallAPIMessage) entity;
        try {
            session = getSessionFactory().openSession();
            session.beginTransaction();
            msg = (CallAPIMessage) session.merge(msg);
            session.getTransaction().commit();

        } catch (Exception e) {
            session.getTransaction().rollback();
            System.out.println("Error in updating CallAPIMessage properties at CallAPIMessageDAO " + e);
            e.printStackTrace();
        } finally {
            if (session.isOpen()) {
                session.close();
            }

            return msg != null;
        }
    }

    public SessionFactory getSessionFactory() {
        return sessionFactory;
    }

    public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }

    public Object buildEntity(Object entity, boolean coded) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public boolean addPropertyList(Object entity, Object property, String listType) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public Object readPropertyList(Object entity, String listType) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public boolean updatePropertyList(Object entity, Object property, String listType) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public boolean deleteEntity(Object entity) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public Object deletePropertyList(Object entity, Object property, String listType) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public Object fetchEntity(Object property) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public Object buildInnerPropertyList(Object entity, Object property, String listType) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public Object readInnerPropertyList(Object entity, String listType) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public boolean deleteInnerPropertyList(Object entity, Object property, String listType) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public int countEntities(String paramVal, Object entity, int pageNumber, int pageSize) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public Long getNumberOfRecords(String paramVal_1, String paramVal_2, int pageSize, int pageNumber) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public Long getNumberOfRecordsOnSearch(String paramVal_1, String paramVal_2, int pageSize, int pageNumber) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public int getNumberOfRecords(String paramVal_1, String paramVal_2, int pageSize, int pageNumber,
            String availability) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public int getNumberOfRecordsOnSearch(String paramVal_1, Object paramVal_2, int pageSize, int pageNumber,
            String availability) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public Object fetchEntities(String paramVal_1, String paramVal_2, String paramVal_3, int pageSize,
            int pageNumber, String ListType, String availability) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public Object readProperty(Object paramId) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public List fetchEntities(String paramVal) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public boolean updateProperty(Object entity, Object paramVal, String paramType) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

}