diff --git a/build.gradle b/build.gradle index 2e1a77dbaa..53ef864ac4 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ plugins { } ext { - globalVersion = '0.23.3-ALPHA' + globalVersion = '0.23.4-ALPHA' } repositories { diff --git a/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/HibernateContext.java b/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/HibernateContext.java index afef916b1b..91a204b852 100644 --- a/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/HibernateContext.java +++ b/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/HibernateContext.java @@ -8,7 +8,6 @@ import ru.tinkoff.qa.neptune.database.abstractions.InsertQuery; import ru.tinkoff.qa.neptune.database.abstractions.SelectQuery; import ru.tinkoff.qa.neptune.database.abstractions.UpdateAction; -import ru.tinkoff.qa.neptune.hibernate.delete.DeleteAllFromStepSupplier; import ru.tinkoff.qa.neptune.hibernate.delete.DeleteByQueryStepSupplier; import ru.tinkoff.qa.neptune.hibernate.exception.HibernateConfigurationException; import ru.tinkoff.qa.neptune.hibernate.save.SaveStepSupplier; @@ -278,11 +277,6 @@ public HibernateContext delete(String description, Iterable toDelete) { return this; } - public HibernateContext deleteAllFrom(Class entityCls) { - delete(DeleteAllFromStepSupplier.deleteAllRecords(entityCls)); - return this; - } - @Override protected & SelectQuery> S update(Q query, UpdateAction... actions) { return get(((SaveStepSupplier) query).setUpdates(actions)); diff --git a/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/delete/DeleteAll.java b/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/delete/DeleteAll.java deleted file mode 100644 index 53c244ccdb..0000000000 --- a/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/delete/DeleteAll.java +++ /dev/null @@ -1,27 +0,0 @@ -package ru.tinkoff.qa.neptune.hibernate.delete; - -import ru.tinkoff.qa.neptune.hibernate.HibernateContext; -import ru.tinkoff.qa.neptune.hibernate.HibernateFunction; - - -public final class DeleteAll extends HibernateFunction { - - DeleteAll(Class entity) { - super(entity); - } - - @Override - public Void apply(HibernateContext context) { - var sessionFactory = context.getSessionFactoryByEntity(entity); - var session = sessionFactory.getCurrentSession(); - - session.beginTransaction(); - - var criteriaDelete = session.getCriteriaBuilder().createCriteriaDelete(entity); - session.createQuery(criteriaDelete).executeUpdate(); - - session.getTransaction().commit(); - - return null; - } -} diff --git a/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/delete/DeleteAllFromStepSupplier.java b/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/delete/DeleteAllFromStepSupplier.java deleted file mode 100644 index 32e0061969..0000000000 --- a/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/delete/DeleteAllFromStepSupplier.java +++ /dev/null @@ -1,21 +0,0 @@ -package ru.tinkoff.qa.neptune.hibernate.delete; - -import ru.tinkoff.qa.neptune.core.api.steps.SequentialGetStepSupplier; -import ru.tinkoff.qa.neptune.core.api.steps.annotations.Description; -import ru.tinkoff.qa.neptune.database.abstractions.SelectQuery; -import ru.tinkoff.qa.neptune.hibernate.HibernateContext; - -@SequentialGetStepSupplier.DefineGetImperativeParameterName("Delete:") -@Description("All records") -public final class DeleteAllFromStepSupplier - extends SequentialGetStepSupplier.GetObjectStepSupplier> - implements SelectQuery { - - private DeleteAllFromStepSupplier(Class entity) { - super(new DeleteAll<>(entity)); - } - - public static DeleteAllFromStepSupplier deleteAllRecords(Class entityCls) { - return new DeleteAllFromStepSupplier<>(entityCls); - } -} diff --git a/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/save/SaveFunction.java b/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/save/SaveFunction.java index d3f95d9fc9..ce34196a91 100644 --- a/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/save/SaveFunction.java +++ b/hibernate/src/main/java/ru/tinkoff/qa/neptune/hibernate/save/SaveFunction.java @@ -5,6 +5,7 @@ import ru.tinkoff.qa.neptune.hibernate.HibernateContext; import java.util.ArrayList; +import java.util.HashSet; import static com.google.common.base.Preconditions.checkNotNull; @@ -23,14 +24,17 @@ public void setToSave(Iterable listToSave) { public void saveObjects(HibernateContext context) { var savedList = new ArrayList(); - var sessions = new ArrayList(); + var sessions = new HashSet(); for (var toSave : listToSave) { var sessionFactory = context.getSessionFactoryByEntity(toSave.getClass()); var session = sessionFactory.getCurrentSession(); sessions.add(session); var persistenceUnitUtil = sessionFactory.getPersistenceUnitUtil(); - session.beginTransaction(); + + if (!session.getTransaction().isActive()) { + session.beginTransaction(); + } if (persistenceUnitUtil.getIdentifier(toSave) != null) { var obj = session.merge(toSave); diff --git a/hibernate/src/test/java/ru/tinkoff/qa/neptune/hibernate/DeleteTest.java b/hibernate/src/test/java/ru/tinkoff/qa/neptune/hibernate/DeleteTest.java index 4c3494f0ef..53c5d854ca 100644 --- a/hibernate/src/test/java/ru/tinkoff/qa/neptune/hibernate/DeleteTest.java +++ b/hibernate/src/test/java/ru/tinkoff/qa/neptune/hibernate/DeleteTest.java @@ -33,7 +33,6 @@ public void prepareClass() { when(session.merge(TEST_ENTITIES.get(1))).thenReturn(TEST_ENTITIES.get(1)); when(criteriaBuilder.createCriteriaDelete(TestEntity.class)).thenReturn(criteriaDelete); - when(session.createQuery(criteriaDelete)).thenReturn(query); } @Test @@ -89,16 +88,6 @@ public void deleteIterableTest() { } } - @Test - public void deleteAllTest() { - try (var mockedStatic = Mockito.mockStatic(Persistence.class)) { - mockPersistence(mockedStatic); - - hibernate().deleteAllFrom(TestEntity.class); - verify(session, times(1)).createQuery(criteriaDelete); - } - } - @AfterMethod(alwaysRun = true) public void clearInvocations() { Mockito.clearInvocations(session);