@Override public void end(Context context) { log.trace("Commit transaction thereby unlock active tasks"); ((ContextImpl) context).transaction.commit(); ((ContextImpl) context).transaction.end(); }
@Override public void storeDynamicAttributes(BaseGenericIdEntity entity) { try (Transaction tx = persistence.getTransaction()) { doStoreDynamicAttributes(entity); tx.commit(); } }
@Override public void migrateAttachmentsToFileStorage(List<SendingAttachment> attachments) { try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); for (SendingAttachment attachment : attachments) { migrateAttachment(em, attachment); } tx.commit(); } }
@Override public void migrateEmailsToFileStorage(List<SendingMessage> messages) { try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); for (SendingMessage msg : messages) { migrateMessage(em, msg); } tx.commit(); } }
protected void transactional(Closure closure) { Persistence persistence = AppBeans.get(Persistence.class); Transaction tx = persistence.getTransaction(); try { closure.call(persistence.getEntityManager()); tx.commit(); } finally { tx.end(); } } }
protected Set<String> getAccessTokenValuesByUserLoginFromDatabase(String userLogin) { try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); List<String> result = em.createQuery("select e.tokenValue from sys$AccessToken e where e.userLogin = :userLogin", String.class) .setParameter("userLogin", userLogin) .getResultList(); tx.commit(); return new HashSet<>(result); } }
@Nullable protected String getAccessTokenValueByRefreshTokenValueFromDatabase(String refreshTokenValue) { String accessTokenValue; try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); accessTokenValue = em.createQuery("select e.tokenValue from sys$AccessToken e where e.refreshTokenValue = :refreshTokenValue", String.class) .setParameter("refreshTokenValue", refreshTokenValue) .getFirstResult(); tx.commit(); return accessTokenValue; } }
protected Set<String> getRefreshTokenValuesByUserLoginFromDatabase(String userLogin) { try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); List<String> result = em.createQuery("select e.tokenValue from sys$RefreshToken e where e.userLogin = :userLogin", String.class) .setParameter("userLogin", userLogin) .getResultList(); tx.commit(); return new HashSet<>(result); } }
@Override public void deleteSettings(ClientType clientType, String name) { try (Transaction tx = persistence.createTransaction()) { UserSetting us = findUserSettings(clientType, name); if (us!=null){ EntityManager em = persistence.getEntityManager(); em.remove(us); } tx.commit(); } }
protected void deleteExpiredRefreshTokensInDatabase() { try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); em.createQuery("delete from sys$RefreshToken t where t.expiry < CURRENT_TIMESTAMP") .executeUpdate(); tx.commit(); } }
protected void deleteExpiredAccessTokensInDatabase() { try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); em.createQuery("delete from sys$AccessToken t where t.expiry < CURRENT_TIMESTAMP") .executeUpdate(); tx.commit(); } }
@Override public <T extends Entity> Collection<T> loadEntitiesForSoftReference(Class<T> polymorphicEntityClass, Entity softReference, String attribute, String view) { Transaction tx = persistence.createTransaction(); EntityManager em = persistence.getEntityManager(); Query query = createPolymorphicQuery(em, polymorphicEntityClass, attribute, softReference, view); List result = query.getResultList(); tx.commit(); return result; }
@Override public void afterCommit() { Object entityId = e.getId(); try (Transaction tx = persistence.createTransaction()) { enqueue(metaClass.getName(), entityId, FtsChangeType.UPDATE); tx.commit(); } } });
@Override public void setActive(Set<ScheduledTask> tasks, boolean active) { try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); for (ScheduledTask task : tasks) { ScheduledTask t = em.find(ScheduledTask.class, task.getId()); t.setActive(active); } tx.commit(); } }
@Override public void resetRememberMeTokens() { Transaction tx = persistence.createTransaction(); try { EntityManager em = persistence.getEntityManager(); Query query = em.createQuery("delete from sec$RememberMeToken rt"); query.executeUpdate(); tx.commit(); } finally { tx.end(); } }
protected void removeAccessTokenFromDatabase(String accessTokenValue) { try (Transaction tx = persistence.getTransaction()) { EntityManager em = persistence.getEntityManager(); em.createQuery("delete from sys$AccessToken t where t.tokenValue = :tokenValue") .setParameter("tokenValue", accessTokenValue) .executeUpdate(); tx.commit(); } }
@Override public String loadSetting(ClientType clientType, String name) { String value; try (Transaction tx = persistence.createTransaction(new TransactionParams().setReadOnly(true))) { UserSetting us = findUserSettings(clientType, name); value = us == null ? null : us.getValue(); tx.commit(); } return value; }
protected void checkIfFileDescriptorExists(FileDescriptor fd) throws FileStorageException { try (Transaction tx = persistence.getTransaction()) { FileDescriptor existingFile = persistence.getEntityManager().find(FileDescriptor.class, fd.getId()); if (existingFile == null || entityStates.isDeleted(existingFile)) { throw new FileStorageException(FileStorageException.Type.FILE_NOT_FOUND, fd.getName()); } tx.commit(); } } }
@Override public void afterCommit() { Number id = item.getDbGeneratedIdEntity().getId().getNN(); item.setObjectEntityId(id); try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); em.persist(item); tx.commit(); } } });
@Override public String loadOwnLocale() { try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); User user = em.find(User.class, userSessionSource.getUserSession().getUser().getId(), "user.locale"); if (user == null) throw new EntityAccessException(User.class, userSessionSource.getUserSession().getUser().getId()); tx.commit(); return user.getLanguage(); } }