package net.sourceforge.seqware.common.dao.hibernate; import java.lang.reflect.InvocationTargetException; import java.util.List; import net.sourceforge.seqware.common.dao.ShareStudyDAO; import net.sourceforge.seqware.common.model.ShareStudy; import net.sourceforge.seqware.common.util.NullBeanUtils; import org.apache.commons.beanutils.BeanUtilsBean; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * <p> * ShareStudyDAOHibernate class. * </p> * * @author boconnor * @version $Id: $Id */ public class ShareStudyDAOHibernate extends HibernateDaoSupport implements ShareStudyDAO { /** * <p> * Constructor for ShareStudyDAOHibernate. * </p> */ public ShareStudyDAOHibernate() { super(); } /** * {@inheritDoc} * * Inserts an instance of ShareStudy into the database. * * @param shareStudy */ @Override public void insert(ShareStudy shareStudy) { this.getHibernateTemplate().save(shareStudy); } /** * {@inheritDoc} * * Updates an instance of ShareStudy in the database. * * @param shareStudy */ @Override public void update(ShareStudy shareStudy) { this.getHibernateTemplate().update(shareStudy); } /** * {@inheritDoc} * * Updates an instance of ShareStudy in the database. * * @param shareStudy */ @Override public void delete(ShareStudy shareStudy) { this.getHibernateTemplate().delete(shareStudy); } /** * {@inheritDoc} * * Finds an instance of ShareStudy in the database by the ShareStudy ID. */ @Override public ShareStudy findByStudyIdAndRegistrationId(Integer studyId, Integer registrationId) { String query = "from ShareStudy as shareStudy where shareStudy.studyId = ? and shareStudy.registration.registrationId = ?"; ShareStudy shareStudy = null; Object[] parameters = { studyId, registrationId }; List list = this.getHibernateTemplate().find(query, parameters); if (list.size() > 0) { shareStudy = (ShareStudy) list.get(0); } return shareStudy; } /** * {@inheritDoc} * * Finds an instance of ShareStudy in the database by the ShareStudy ID. */ @Override public ShareStudy findByID(Integer id) { String query = "from ShareStudy as shareStudy where shareStudy.shareStudyId = ?"; ShareStudy shareStudy = null; Object[] parameters = { id }; List list = this.getHibernateTemplate().find(query, parameters); if (list.size() > 0) { shareStudy = (ShareStudy) list.get(0); } return shareStudy; } /** {@inheritDoc} */ @Override public ShareStudy updateDetached(ShareStudy shareStudy) { ShareStudy dbObject = findByID(shareStudy.getShareStudyId()); try { BeanUtilsBean beanUtils = new NullBeanUtils(); beanUtils.copyProperties(dbObject, shareStudy); return (ShareStudy) this.getHibernateTemplate().merge(dbObject); } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } return null; } /** {@inheritDoc} */ @Override public List<ShareStudy> list() { throw new UnsupportedOperationException("Not supported yet."); } }