Пример #1
0
 @Override
 public <E extends T> Iterable<E> upsert(Iterable<E> entities) {
   try (TransactionScope transaction = new TransactionScope(transactionProvider)) {
     for (E entity : entities) {
       upsert(entity);
     }
     transaction.commit();
   }
   return entities;
 }
Пример #2
0
 @Override
 public <E extends T> Void delete(E entity) {
   try (TransactionScope transaction = new TransactionScope(transactionProvider)) {
     EntityProxy<E> proxy = context.proxyOf(entity, true);
     synchronized (proxy.syncObject()) {
       context.write(proxy.type().getClassType()).delete(entity, proxy);
       transaction.commit();
     }
   }
   return null;
 }
Пример #3
0
 @Override
 public <E extends T> E upsert(E entity) {
   try (TransactionScope transaction = new TransactionScope(transactionProvider)) {
     EntityProxy<E> proxy = context.proxyOf(entity, true);
     synchronized (proxy.syncObject()) {
       EntityWriter<E, T> writer = context.write(proxy.type().getClassType());
       writer.upsert(entity, proxy);
       transaction.commit();
       return entity;
     }
   }
 }
  @Override
  public void deleteFinancialSource(FinancialSource source) {
    if (source == null) throw new IllegalArgumentException("Argument 'source' must not be null.");

    TransactionScope transactionScope = this.beginTransaction();

    try {
      this.getSession().getEntityManager().remove(source);

      transactionScope.commit();
    } finally {
      transactionScope.dispose();
    }
  }
  @Override
  public void deletePayment(Payment payment) {
    if (payment == null) throw new IllegalArgumentException("Argument 'payment' must not be null.");

    TransactionScope transactionScope = this.beginTransaction();

    try {
      this.getSession().getEntityManager().remove(payment);

      transactionScope.commit();
    } finally {
      transactionScope.dispose();
    }
  }
Пример #6
0
 @Override
 public <E extends T> Void delete(Iterable<E> entities) {
   Iterator<E> iterator = entities.iterator();
   if (iterator.hasNext()) {
     try (TransactionScope transaction = new TransactionScope(transactionProvider)) {
       E entity = iterator.next();
       EntityProxy<E> proxy = context.proxyOf(entity, false);
       EntityWriter<E, T> writer = context.write(proxy.type().getClassType());
       writer.delete(entities);
       transaction.commit();
     }
   }
   return null;
 }
Пример #7
0
 @SuppressWarnings("unchecked")
 @Override
 public <E extends T> E update(E entity, Attribute<?, ?>... attributes) {
   try (TransactionScope transaction = new TransactionScope(transactionProvider)) {
     EntityProxy<E> proxy = context.proxyOf(entity, true);
     synchronized (proxy.syncObject()) {
       context
           .write(proxy.type().getClassType())
           .update(entity, proxy, (Attribute<E, ?>[]) attributes);
       transaction.commit();
       return entity;
     }
   }
 }
  @Override
  public void persistFinancialSource(FinancialSource source) {
    EntityManager entityManager = this.getSession().getEntityManager();

    TransactionScope transactionScope = this.beginTransaction();

    try {
      entityManager.persist(source);

      markAsChanged(source);

      transactionScope.commit();
    } finally {
      transactionScope.dispose();
    }
  }
Пример #9
0
 @Override
 public <K, E extends T> Iterable<K> insert(Iterable<E> entities, @Nullable Class<K> keyClass) {
   Iterator<E> iterator = entities.iterator();
   if (iterator.hasNext()) {
     try (TransactionScope transaction = new TransactionScope(transactionProvider)) {
       E entity = iterator.next();
       EntityProxy<E> proxy = context.proxyOf(entity, true);
       EntityWriter<E, T> writer = context.write(proxy.type().getClassType());
       GeneratedKeys<E> keys = writer.batchInsert(entities, keyClass != null);
       transaction.commit();
       @SuppressWarnings("unchecked")
       Iterable<K> result = (Iterable<K>) keys;
       return result;
     }
   }
   return null;
 }
  @Override
  public void persistPayment(Payment payment) {
    if (payment == null) throw new IllegalArgumentException("Argument 'payment' must not be null.");

    EntityManager entityManager = this.getSession().getEntityManager();

    TransactionScope transactionScope = this.beginTransaction();

    try {
      entityManager.persist(payment);

      markAsChanged(payment);

      transactionScope.commit();
    } finally {
      transactionScope.dispose();
    }
  }
  @Override
  public void deleteFinancialSource(int id) {
    EntityManager entityManager = this.getSession().getEntityManager();

    TransactionScope transactionScope = this.beginTransaction();

    try {
      entityManager
          .createQuery("DELETE FROM FinancialSource fs WHERE fs.id :finId")
          .setParameter("finId", id)
          .executeUpdate();

      transactionScope.commit();
    } catch (PersistenceException ex) {
      throw TransactionHelper.translateException(ex);
    } finally {
      transactionScope.dispose();
    }
  }
Пример #12
0
 @Override
 public <K, E extends T> K insert(E entity, @Nullable Class<K> keyClass) {
   try (TransactionScope transaction = new TransactionScope(transactionProvider)) {
     EntityProxy<E> proxy = context.proxyOf(entity, true);
     synchronized (proxy.syncObject()) {
       EntityWriter<E, T> writer = context.write(proxy.type().getClassType());
       GeneratedKeys<E> key = null;
       if (keyClass != null) {
         key = new GeneratedKeys<>(proxy.type().isImmutable() ? null : proxy);
       }
       writer.insert(entity, proxy, key);
       transaction.commit();
       if (key != null && key.size() > 0) {
         return keyClass.cast(key.get(0));
       }
     }
   }
   return null;
 }