List of usage examples for javax.persistence EntityManager isOpen
public boolean isOpen();
From source file:org.meveo.service.billing.impl.InvoiceService.java
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public void createAgregatesAndInvoice(BillingAccount billingAccount, Long billingRunId, User currentUser) throws BusinessException, Exception { log.debug("createAgregatesAndInvoice tx status={}", txReg.getTransactionStatus()); EntityManager em = getEntityManager(); BillingRun billingRun = em.find(BillingRun.class, billingRunId); em.refresh(billingRun);/* www .j a v a 2 s .c o m*/ try { billingAccount = em.find(billingAccount.getClass(), billingAccount.getId()); em.refresh(billingAccount); currentUser = em.find(currentUser.getClass(), currentUser.getId()); em.refresh(currentUser); Long startDate = System.currentTimeMillis(); BillingCycle billingCycle = billingRun.getBillingCycle(); if (billingCycle == null) { billingCycle = billingAccount.getBillingCycle(); } if (billingCycle == null) { throw new BusinessException("Cant find the billing cycle"); } InvoiceType invoiceType = billingCycle.getInvoiceType(); if (invoiceType == null) { invoiceType = invoiceTypeService.getDefaultCommertial(currentUser); } Invoice invoice = new Invoice(); invoice.setInvoiceType(invoiceType); invoice.setBillingAccount(billingAccount); invoice.setBillingRun(billingRun); invoice.setAuditable(billingRun.getAuditable()); invoice.setProvider(billingRun.getProvider()); // ticket 680 Date invoiceDate = billingRun.getInvoiceDate(); invoice.setInvoiceDate(invoiceDate); Integer delay = billingCycle.getDueDateDelay(); Date dueDate = invoiceDate; if (delay != null) { dueDate = DateUtils.addDaysToDate(invoiceDate, delay); } invoice.setDueDate(dueDate); PaymentMethodEnum paymentMethod = billingAccount.getPaymentMethod(); if (paymentMethod == null) { paymentMethod = billingAccount.getCustomerAccount().getPaymentMethod(); } invoice.setPaymentMethod(paymentMethod); invoice.setProvider(billingRun.getProvider()); em.persist(invoice); // create(invoice, currentUser, currentUser.getProvider()); log.debug("created invoice entity with id={}, tx status={}, em open={}", invoice.getId(), txReg.getTransactionStatus(), em.isOpen()); ratedTransactionService.createInvoiceAndAgregates(billingAccount, invoice, billingRun.getLastTransactionDate(), currentUser); log.debug("created aggregates tx status={}, em open={}", txReg.getTransactionStatus(), em.isOpen()); em.joinTransaction(); if (billingRun.getProvider().isDisplayFreeTransacInInvoice()) { em.createNamedQuery("RatedTransaction.updateInvoicedDisplayFree") .setParameter("billingAccount", billingAccount) .setParameter("lastTransactionDate", billingRun.getLastTransactionDate()) .setParameter("billingRun", billingRun).setParameter("invoice", invoice).executeUpdate(); } else { em.createNamedQuery("RatedTransaction.updateInvoiced") .setParameter("billingAccount", billingAccount) .setParameter("lastTransactionDate", billingRun.getLastTransactionDate()) .setParameter("billingRun", billingRun).setParameter("invoice", invoice).executeUpdate(); } StringBuffer num1 = new StringBuffer("000000000"); num1.append(invoice.getId() + ""); String invoiceNumber = num1.substring(num1.length() - 9); int key = 0; for (int i = 0; i < invoiceNumber.length(); i++) { key = key + Integer.parseInt(invoiceNumber.substring(i, i + 1)); } invoice.setTemporaryInvoiceNumber(invoiceNumber + "-" + key % 10); // getEntityManager().merge(invoice); Long endDate = System.currentTimeMillis(); log.info("createAgregatesAndInvoice BR_ID=" + billingRun.getId() + ", BA_ID=" + billingAccount.getId() + ", Time en ms=" + (endDate - startDate)); } catch (Exception e) { log.error("Error for BA=" + billingAccount.getCode() + " : ", e); RejectedBillingAccount rejectedBA = new RejectedBillingAccount(billingAccount, billingRun, e.getMessage()); rejectedBillingAccountService.create(rejectedBA, currentUser); } }
From source file:org.nuxeo.ecm.core.persistence.PersistenceProvider.java
protected void releaseEntityManager(EntityManager em) { if (!em.isOpen()) { return;//from w ww . ja va 2s .co m } try { doCommit(em); } finally { if (em.isOpen()) { em.clear(); em.close(); } } }
From source file:org.nuxeo.ecm.core.persistence.PersistenceProvider.java
public void releaseEntityManagerWithRollback(EntityManager em) { if (!em.isOpen()) { return;/*from ww w . j a v a 2 s .c o m*/ } try { doRollback(em); } finally { if (em.isOpen()) { em.clear(); em.close(); } } }
From source file:org.opencastproject.usertracking.impl.UserTrackingServiceImpl.java
public int getViews(String mediapackageId) { EntityManager em = null; try {//ww w. ja v a 2 s . c o m em = emf.createEntityManager(); Query q = em.createNamedQuery("countSessionsOfMediapackage"); q.setParameter("mediapackageId", mediapackageId); return ((Long) q.getSingleResult()).intValue(); } finally { if (em != null && em.isOpen()) { em.close(); } } }
From source file:org.opencastproject.usertracking.impl.UserTrackingServiceImpl.java
@SuppressWarnings("unchecked") public UserAction addUserFootprint(UserAction a) throws UserTrackingException { a.setType("FOOTPRINT"); EntityManager em = null; EntityTransaction tx = null;/* w ww. ja v a 2 s . c o m*/ try { em = emf.createEntityManager(); tx = em.getTransaction(); tx.begin(); Query q = em.createNamedQuery("findLastUserFootprintOfSession"); q.setMaxResults(1); q.setParameter("sessionId", a.getSessionId()); Collection<UserAction> userActions = q.getResultList(); if (userActions.size() >= 1) { UserAction last = userActions.iterator().next(); if (last.getMediapackageId().equals(a.getMediapackageId()) && last.getType().equals(a.getType()) && last.getOutpoint() == a.getInpoint()) { last.setOutpoint(a.getOutpoint()); a = last; a.setId(last.getId()); } else { em.persist(a); } } else { em.persist(a); } tx.commit(); return a; } catch (Exception e) { if (tx != null && tx.isActive()) { tx.rollback(); } throw new UserTrackingException(e); } finally { if (em != null && em.isOpen()) { em.close(); } } }
From source file:org.opencastproject.usertracking.impl.UserTrackingServiceImpl.java
public UserAction addUserTrackingEvent(UserAction a) throws UserTrackingException { EntityManager em = null; EntityTransaction tx = null;//from ww w.j a v a2 s .c o m try { em = emf.createEntityManager(); tx = em.getTransaction(); tx.begin(); em.persist(a); tx.commit(); return a; } catch (Exception e) { if (tx.isActive()) { tx.rollback(); } throw new UserTrackingException(e); } finally { if (em != null && em.isOpen()) { em.close(); } } }
From source file:org.opencastproject.usertracking.impl.UserTrackingServiceImpl.java
@SuppressWarnings("unchecked") public UserActionList getUserActions(int offset, int limit) { UserActionList result = new UserActionListImpl(); result.setTotal(getTotal());/*from w w w. j av a 2s . co m*/ result.setOffset(offset); result.setLimit(limit); EntityManager em = null; try { em = emf.createEntityManager(); Query q = em.createNamedQuery("findUserActions"); q.setFirstResult(offset); q.setMaxResults(limit); Collection<UserAction> userActions = q.getResultList(); for (UserAction a : userActions) { result.add(a); } return result; } finally { if (em != null && em.isOpen()) { em.close(); } } }
From source file:org.opencastproject.usertracking.impl.UserTrackingServiceImpl.java
private int getTotal() { EntityManager em = null; try {//from w ww . j a v a 2 s . c o m em = emf.createEntityManager(); Query q = em.createNamedQuery("findTotal"); return ((Long) q.getSingleResult()).intValue(); } finally { if (em != null && em.isOpen()) { em.close(); } } }
From source file:org.opencastproject.usertracking.impl.UserTrackingServiceImpl.java
@SuppressWarnings("unchecked") public UserActionList getUserActionsByType(String type, int offset, int limit) { UserActionList result = new UserActionListImpl(); result.setTotal(getTotal(type));/*from ww w . j a v a2 s . c o m*/ result.setOffset(offset); result.setLimit(limit); EntityManager em = null; try { em = emf.createEntityManager(); Query q = em.createNamedQuery("findUserActionsByType"); q.setParameter("type", type); q.setFirstResult(offset); q.setMaxResults(limit); Collection<UserAction> userActions = q.getResultList(); for (UserAction a : userActions) { result.add(a); } return result; } finally { if (em != null && em.isOpen()) { em.close(); } } }
From source file:org.opencastproject.usertracking.impl.UserTrackingServiceImpl.java
private int getTotal(String type) { EntityManager em = null; try {//from ww w .j a v a2 s.co m em = emf.createEntityManager(); Query q = em.createNamedQuery("findTotalByType"); q.setParameter("type", type); return ((Long) q.getSingleResult()).intValue(); } finally { if (em != null && em.isOpen()) { em.close(); } } }