From 14fb1775e17fa2c991853958c198b436c5c29bbc Mon Sep 17 00:00:00 2001 From: uzma Date: Thu, 25 May 2023 23:38:09 +0100 Subject: [PATCH] [BAEL-6105] delete code from the old module --- .../java/com/baeldung/flush/AppConfig.java | 56 ----- .../java/com/baeldung/flush/Customer.java | 52 ----- .../com/baeldung/flush/CustomerAddress.java | 47 ----- .../boot/flush/FlushIntegrationTest.java | 191 ------------------ 4 files changed, 346 deletions(-) delete mode 100644 persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/flush/AppConfig.java delete mode 100644 persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/flush/Customer.java delete mode 100644 persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/flush/CustomerAddress.java delete mode 100644 persistence-modules/spring-boot-persistence-3/src/test/java/com/baeldung/boot/flush/FlushIntegrationTest.java diff --git a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/flush/AppConfig.java b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/flush/AppConfig.java deleted file mode 100644 index 96210fd4b8..0000000000 --- a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/flush/AppConfig.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.baeldung.flush; - -import java.util.Properties; - -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.sql.DataSource; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; -import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; -import org.springframework.orm.jpa.JpaTransactionManager; -import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; -import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; - -@Configuration -public class AppConfig { - - @Bean - public EntityManager entityManager(EntityManagerFactory entityManagerFactory) { - return entityManagerFactory.createEntityManager(); - } - - @Bean - public DataSource dataSource() { - return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.H2) - .build(); - } - - @Bean - public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource) { - LocalContainerEntityManagerFactoryBean emf = new LocalContainerEntityManagerFactoryBean(); - emf.setDataSource(dataSource); - emf.setPackagesToScan("com.baeldung.flush"); - emf.setJpaVendorAdapter(new HibernateJpaVendorAdapter()); - emf.setJpaProperties(getHibernateProperties()); - return emf; - } - - @Bean - public JpaTransactionManager transactionManager(LocalContainerEntityManagerFactoryBean entityManagerFactory) { - return new JpaTransactionManager(entityManagerFactory.getObject()); - } - - private Properties getHibernateProperties() { - Properties properties = new Properties(); - properties.setProperty("hibernate.hbm2ddl.auto", "create"); - properties.setProperty("hibernate.dialect", "org.hibernate.dialect.H2Dialect"); - return properties; - } -} - - - - diff --git a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/flush/Customer.java b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/flush/Customer.java deleted file mode 100644 index a31620c653..0000000000 --- a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/flush/Customer.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.baeldung.flush; - -import java.util.Objects; - -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; - -@Entity -public class Customer { - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - Customer customer = (Customer) o; - return age == customer.age && name.equals(customer.name); - } - - @Override - public int hashCode() { - return Objects.hash(name, age); - } - - private String name; - private int age; - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private Long id; - - public Long getId() { - return id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } -} diff --git a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/flush/CustomerAddress.java b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/flush/CustomerAddress.java deleted file mode 100644 index 8e4953117a..0000000000 --- a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/flush/CustomerAddress.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.baeldung.flush; - -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; - -@Entity -public class CustomerAddress { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - private String street; - - private String city; - - private long customer_id; - - public String getStreet() { - return street; - } - - public void setStreet(String street) { - this.street = street; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public Long getId() { - return id; - } - - public long getCustomer_id() { - return customer_id; - } - - public void setCustomer_id(long customer_id) { - this.customer_id = customer_id; - } -} diff --git a/persistence-modules/spring-boot-persistence-3/src/test/java/com/baeldung/boot/flush/FlushIntegrationTest.java b/persistence-modules/spring-boot-persistence-3/src/test/java/com/baeldung/boot/flush/FlushIntegrationTest.java deleted file mode 100644 index c678c59f9a..0000000000 --- a/persistence-modules/spring-boot-persistence-3/src/test/java/com/baeldung/boot/flush/FlushIntegrationTest.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.baeldung.boot.flush; - -import static org.assertj.core.api.Assertions.assertThat; - -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.EntityTransaction; -import javax.persistence.FlushModeType; -import javax.persistence.TypedQuery; - -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit.jupiter.SpringExtension; - -import com.baeldung.flush.AppConfig; -import com.baeldung.flush.Customer; -import com.baeldung.flush.CustomerAddress; - -@ExtendWith(SpringExtension.class) -@ContextConfiguration(classes = { AppConfig.class }) - -public class FlushIntegrationTest { - - private static final Customer EXPECTED_CUSTOMER = aCustomer(); - - @Autowired - private EntityManager entityManager; - - @Test - void givenANewCustomer_whenPersistAndNoFlush_thenDatabaseNotSynchronizedWithPersistentContextUsingCommitFlushMode() { - - entityManager.setFlushMode(FlushModeType.COMMIT); - - EntityTransaction transaction = getTransaction(); - Customer customer = saveCustomerInPersistentContext("Alice", 30); - Customer customerInContext = entityManager.find(Customer.class, customer.getId()); - assertDataInPersitentContext(customerInContext); - - TypedQuery retrievedCustomer = entityManager.createQuery("SELECT c FROM Customer c WHERE c.name = 'Alice'", Customer.class); - - List resultList = retrievedCustomer.getResultList(); - - assertThat(resultList).isEmpty(); - transaction.rollback(); - } - - @Test - void givenANewCustomer_whenPersistAndFlush_thenDatabaseSynchronizedWithPersistentContextUsingCommitFlushMode() { - entityManager.setFlushMode(FlushModeType.COMMIT); - - EntityTransaction transaction = getTransaction(); - Customer customer = saveCustomerInPersistentContext("Alice", 30); - entityManager.flush(); - Long generatedCustomerID = customer.getId(); - - Customer customerInContext = entityManager.find(Customer.class, generatedCustomerID); - assertDataInPersitentContext(customerInContext); - - TypedQuery retrievedCustomer = entityManager.createQuery("SELECT c FROM Customer c WHERE c.name = 'Alice'", Customer.class); - - Customer result = retrievedCustomer.getSingleResult(); - assertThat(result).isEqualTo(EXPECTED_CUSTOMER); - transaction.rollback(); - } - - @Test - public void givenANewCustomer_whenPersistAndFlush_thenCustomerIdGeneratedToBeAddedInAddress() { - entityManager.setFlushMode(FlushModeType.COMMIT); - EntityTransaction transaction = getTransaction(); - - saveCustomerInPersistentContext("John", 25); - entityManager.flush(); - - Customer retrievedCustomer = entityManager.createQuery("SELECT c FROM Customer c WHERE c.name = 'John'", Customer.class) - .getSingleResult(); - Long customerId = retrievedCustomer.getId(); - - CustomerAddress address = new CustomerAddress(); - address.setCustomer_id(customerId); - entityManager.persist(address); - entityManager.flush(); - - CustomerAddress customerAddress = entityManager.createQuery("SELECT a FROM CustomerAddress a WHERE a.customer_id = :customerID", CustomerAddress.class) - .setParameter("customerID", customerId) - .getSingleResult(); - - assertThat(customerAddress).isNotNull(); - transaction.rollback(); - } - - @Test - void givenANewCustomer_whenPersistAndNoFlush_thenDBIsSynchronizedWithThePersistentContextWithAutoFlushMode() { - entityManager.setFlushMode(FlushModeType.AUTO); - EntityTransaction transaction = getTransaction(); - - Customer customer = saveCustomerInPersistentContext("Alice", 30); - Customer customerInContext = entityManager.find(Customer.class, customer.getId()); - assertDataInPersitentContext(customerInContext); - - TypedQuery retrievedCustomer = entityManager.createQuery("SELECT c FROM Customer c WHERE c.name = 'Alice'", Customer.class); - - Customer result = retrievedCustomer.getSingleResult(); - - assertThat(result).isEqualTo(EXPECTED_CUSTOMER); - - transaction.rollback(); - } - - @Test - public void givenFlushModeAutoAndNewCustomer_whenPersistAndNoFlush_thenCustomerIdGeneratedToBeAddedInAddress() { - entityManager.setFlushMode(FlushModeType.AUTO); - EntityTransaction transaction = getTransaction(); - - saveCustomerInPersistentContext("John", 25); - - Customer singleResult = entityManager.createQuery("SELECT c FROM Customer c WHERE c.name = 'John'", Customer.class) - .getSingleResult(); - Long customerId = singleResult.getId(); - - CustomerAddress address = new CustomerAddress(); - address.setCustomer_id(customerId); - entityManager.persist(address); - - CustomerAddress customerAddress = entityManager.createQuery("SELECT a FROM CustomerAddress a WHERE a.customer_id = :customerID", CustomerAddress.class) - .setParameter("customerID", customerId) - .getSingleResult(); - - assertThat(customerAddress).isNotNull(); - transaction.rollback(); - } - - @Test - public void givenFlushModeAutoAndNewCustomer_whenPersistAndFlush_thenCustomerIdGeneratedToBeAddedInAddress() { - entityManager.setFlushMode(FlushModeType.AUTO); - EntityTransaction transaction = getTransaction(); - - saveCustomerInPersistentContext("John", 25); - - Customer singleResult = entityManager.createQuery("SELECT c FROM Customer c WHERE c.name = 'John'", Customer.class) - .getSingleResult(); - Long customerId = singleResult.getId(); - - CustomerAddress address = new CustomerAddress(); - address.setCustomer_id(customerId); - entityManager.persist(address); - entityManager.flush(); - - CustomerAddress customerAddress = entityManager.createQuery("SELECT a FROM CustomerAddress a WHERE a.customer_id = :customerID", CustomerAddress.class) - .setParameter("customerID", customerId) - .getSingleResult(); - - assertThat(customerAddress).isNotNull(); - - transaction.rollback(); - } - - private static void assertDataInPersitentContext(Customer customerInContext) { - assertThat(customerInContext).isNotNull(); - assertThat(customerInContext.getName()).isEqualTo("Alice"); - } - - private Customer saveCustomerInPersistentContext(String name, int age) { - Customer customer = new Customer(); - customer.setName(name); - customer.setAge(age); - entityManager.persist(customer); - return customer; - } - - @AfterEach - public void cleanup() { - entityManager.clear(); - } - - private static Customer aCustomer() { - Customer customer = new Customer(); - customer.setName("Alice"); - customer.setAge(30); - return customer; - } - - private EntityTransaction getTransaction() { - EntityTransaction transaction = entityManager.getTransaction(); - transaction.begin(); - return transaction; - } -} \ No newline at end of file