Package org.openmeetings.app.data.user.dao

Source Code of org.openmeetings.app.data.user.dao.UserSipDataDaoImpl

package org.openmeetings.app.data.user.dao;

import java.util.Date;

import javax.persistence.NoResultException;
import javax.persistence.Query;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import org.openmeetings.app.persistence.beans.user.UserSipData;
import org.openmeetings.app.persistence.utils.PersistenceSessionUtil;
import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;

public class UserSipDataDaoImpl {

  private static final Logger log = Red5LoggerFactory.getLogger(UserSipDataDaoImpl.class, ScopeApplicationAdapter.webAppRootKey);

  private static UserSipDataDaoImpl instance = null;

 
  private UserSipDataDaoImpl() {
  }

  public static synchronized UserSipDataDaoImpl getInstance() {
    if (instance == null) {
      instance = new UserSipDataDaoImpl();
    }
    return instance;
  }
 
  public UserSipData getUserSipDataById(Long userSipDataId) {
    try {
     
      if (userSipDataId == null) {
        return null;
      }
     
      String hql = "select c from UserSipData as c where c.userSipDataId = :userSipDataId";
     
      Object idf = PersistenceSessionUtil.createSession();
      EntityManager session = PersistenceSessionUtil.getSession();
      EntityTransaction tx = session.getTransaction();
      tx.begin();
      Query query = session.createQuery(hql);
      query.setParameter("userSipDataId", userSipDataId);
      UserSipData userSipData = null;
      try {
        userSipData = (UserSipData) query.getSingleResult();
        } catch (NoResultException ex) {
        }
      tx.commit();
      PersistenceSessionUtil.closeSession(idf);
     
      return userSipData;
    } catch (Exception ex2) {
      log.error("getUserSipDataById",ex2);
    }
    return null;
  }

  public Long addUserSipData(UserSipData userSipData) {
    try {
     
      if (userSipData == null) {
        return null;
      }
     
      userSipData.setInserted(new Date());
     
      Object idf = PersistenceSessionUtil.createSession();
      EntityManager session = PersistenceSessionUtil.getSession();
      EntityTransaction tx = session.getTransaction();
      tx.begin();
      userSipData = session.merge(userSipData);
      Long userSipDataId = userSipData.getUserSipDataId();
      tx.commit();
      PersistenceSessionUtil.closeSession(idf);
     
      return userSipDataId;
    } catch (Exception ex2) {
      log.error("[addUserSipData] ",ex2);
    }
    return null;
  }
 
  public Long updateUserSipData(UserSipData userSipData) {
    try {
     
      if (userSipData == null) {
        return null;
      }
     
      userSipData.setUpdated(new Date());
     
      Object idf = PersistenceSessionUtil.createSession();
      EntityManager session = PersistenceSessionUtil.getSession();
      EntityTransaction tx = session.getTransaction();
      tx.begin();
      if (userSipData.getUserSipDataId() == 0) {
        session.persist(userSipData);
          } else {
            if (!session.contains(userSipData)) {
              session.merge(userSipData);
          }
      }
      tx.commit();
      PersistenceSessionUtil.closeSession(idf);
     
      return userSipData.getUserSipDataId();
    } catch (Exception ex2) {
      log.error("[updateUserSipData] ",ex2);
    }
    return null;
 
 
}
TOP

Related Classes of org.openmeetings.app.data.user.dao.UserSipDataDaoImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.