com.quatro.dao.security.SecProviderDao.java Source code

Java tutorial

Introduction

Here is the source code for com.quatro.dao.security.SecProviderDao.java

Source

/**
 * Copyright (c) 2005, 2009 IBM Corporation and others.
 * This software is published under the GPL GNU General Public License.
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version. 
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 *
 * Contributors:
 *     <Quatro Group Software Systems inc.>  <OSCAR Team>
 */

package com.quatro.dao.security;

import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.LockMode;
import org.hibernate.Query;
import org.hibernate.criterion.Example;
import org.oscarehr.util.MiscUtils;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.quatro.model.security.SecProvider;

/**
 * 
 * @author JZhang
 *
 */

public class SecProviderDao extends HibernateDaoSupport {
    private static final Logger logger = MiscUtils.getLogger();
    // property constants
    public static final String LAST_NAME = "lastName";
    public static final String FIRST_NAME = "firstName";
    public static final String PROVIDER_TYPE = "providerType";
    public static final String SPECIALTY = "specialty";
    public static final String TEAM = "team";
    public static final String SEX = "sex";
    public static final String ADDRESS = "address";
    public static final String PHONE = "phone";
    public static final String WORK_PHONE = "workPhone";
    public static final String OHIP_NO = "ohipNo";
    public static final String RMA_NO = "rmaNo";
    public static final String BILLING_NO = "billingNo";
    public static final String HSO_NO = "hsoNo";
    public static final String STATUS = "status";
    public static final String COMMENTS = "comments";
    public static final String PROVIDER_ACTIVITY = "providerActivity";

    public void save(SecProvider transientInstance) {
        logger.debug("saving Provider instance");
        try {
            this.getHibernateTemplate().save(transientInstance);
            logger.debug("save successful");
        } catch (RuntimeException re) {
            logger.error("save failed", re);
            throw re;
        }
    }

    public void saveOrUpdate(SecProvider transientInstance) {
        logger.debug("saving Provider instance");
        try {
            this.getHibernateTemplate().saveOrUpdate(transientInstance);
            logger.debug("save successful");
        } catch (RuntimeException re) {
            logger.error("save failed", re);
            throw re;
        }
    }

    public void delete(SecProvider persistentInstance) {
        logger.debug("deleting Provider instance");
        try {
            this.getHibernateTemplate().delete(persistentInstance);
            logger.debug("delete successful");
        } catch (RuntimeException re) {
            logger.error("delete failed", re);
            throw re;
        }
    }

    public SecProvider findById(java.lang.String id) {
        logger.debug("getting Provider instance with id: " + id);
        try {
            SecProvider instance = (SecProvider) this.getHibernateTemplate()
                    .get("com.quatro.model.security.SecProvider", id);
            return instance;
        } catch (RuntimeException re) {
            logger.error("get failed", re);
            throw re;
        }
    }

    public SecProvider findById(java.lang.String id, String status) {
        logger.debug("getting Provider instance with id: " + id);
        try {
            String sql = "from SecProvider where id=? and status=?";
            List lst = this.getHibernateTemplate().find(sql, new Object[] { id, status });
            if (lst.size() == 0)
                return null;
            else
                return (SecProvider) lst.get(0);

        } catch (RuntimeException re) {
            logger.error("get failed", re);
            throw re;
        }
    }

    public List findByExample(SecProviderDao instance) {
        logger.debug("finding Provider instance by example");
        try {
            List results = getSession().createCriteria("com.quatro.model.security.SecProvider")
                    .add(Example.create(instance)).list();
            logger.debug("find by example successful, result size: " + results.size());
            return results;
        } catch (RuntimeException re) {
            logger.error("find by example failed", re);
            throw re;
        }
    }

    public List findByProperty(String propertyName, Object value) {
        logger.debug("finding Provider instance with property: " + propertyName + ", value: " + value);
        try {
            String queryString = "from Provider as model where model." + propertyName + "= ?";
            Query queryObject = getSession().createQuery(queryString);
            queryObject.setParameter(0, value);
            return queryObject.list();
        } catch (RuntimeException re) {
            logger.error("find by property name failed", re);
            throw re;
        }
    }

    public List findByLastName(Object lastName) {
        return findByProperty(LAST_NAME, lastName);
    }

    public List findByFirstName(Object firstName) {
        return findByProperty(FIRST_NAME, firstName);
    }

    public List findByProviderType(Object providerType) {
        return findByProperty(PROVIDER_TYPE, providerType);
    }

    public List findBySpecialty(Object specialty) {
        return findByProperty(SPECIALTY, specialty);
    }

    public List findByTeam(Object team) {
        return findByProperty(TEAM, team);
    }

    public List findBySex(Object sex) {
        return findByProperty(SEX, sex);
    }

    public List findByAddress(Object address) {
        return findByProperty(ADDRESS, address);
    }

    public List findByPhone(Object phone) {
        return findByProperty(PHONE, phone);
    }

    public List findByWorkPhone(Object workPhone) {
        return findByProperty(WORK_PHONE, workPhone);
    }

    public List findByOhipNo(Object ohipNo) {
        return findByProperty(OHIP_NO, ohipNo);
    }

    public List findByRmaNo(Object rmaNo) {
        return findByProperty(RMA_NO, rmaNo);
    }

    public List findByBillingNo(Object billingNo) {
        return findByProperty(BILLING_NO, billingNo);
    }

    public List findByHsoNo(Object hsoNo) {
        return findByProperty(HSO_NO, hsoNo);
    }

    public List findByStatus(Object status) {
        return findByProperty(STATUS, status);
    }

    public List findByComments(Object comments) {
        return findByProperty(COMMENTS, comments);
    }

    public List findByProviderActivity(Object providerActivity) {
        return findByProperty(PROVIDER_ACTIVITY, providerActivity);
    }

    public List findAll() {
        logger.debug("finding all Provider instances");
        try {
            String queryString = "from Provider";
            Query queryObject = getSession().createQuery(queryString);
            return queryObject.list();
        } catch (RuntimeException re) {
            logger.error("find all failed", re);
            throw re;
        }
    }

    public SecProviderDao merge(SecProviderDao detachedInstance) {
        logger.debug("merging Provider instance");
        try {
            SecProviderDao result = (SecProviderDao) getSession().merge(detachedInstance);
            logger.debug("merge successful");
            return result;
        } catch (RuntimeException re) {
            logger.error("merge failed", re);
            throw re;
        }
    }

    public void attachDirty(SecProviderDao instance) {
        logger.debug("attaching dirty Provider instance");
        try {
            getSession().saveOrUpdate(instance);
            logger.debug("attach successful");
        } catch (RuntimeException re) {
            logger.error("attach failed", re);
            throw re;
        }
    }

    public void attachClean(SecProviderDao instance) {
        logger.debug("attaching clean Provider instance");
        try {
            getSession().lock(instance, LockMode.NONE);
            logger.debug("attach successful");
        } catch (RuntimeException re) {
            logger.error("attach failed", re);
            throw re;
        }
    }
}