diff --git a/eip-aggregator/src/test/java/com/iluwatar/eip/aggregator/routes/AggregatorRouteTest.java b/eip-aggregator/src/test/java/com/iluwatar/eip/aggregator/routes/AggregatorRouteTest.java
index 2c7d207d6..2b831e019 100644
--- a/eip-aggregator/src/test/java/com/iluwatar/eip/aggregator/routes/AggregatorRouteTest.java
+++ b/eip-aggregator/src/test/java/com/iluwatar/eip/aggregator/routes/AggregatorRouteTest.java
@@ -28,7 +28,7 @@ import org.apache.camel.component.mock.MockEndpoint;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ActiveProfiles;
@@ -44,7 +44,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
*
*/
@ExtendWith(SpringExtension.class)
-@SpringApplicationConfiguration(classes = AggregatorRouteTest.class)
+@SpringBootTest(classes = AggregatorRouteTest.class)
@ActiveProfiles("test")
@EnableAutoConfiguration
@ComponentScan
diff --git a/eip-splitter/src/test/java/com/iluwatar/eip/splitter/routes/SplitterRouteTest.java b/eip-splitter/src/test/java/com/iluwatar/eip/splitter/routes/SplitterRouteTest.java
index 9257a4410..334b77da0 100644
--- a/eip-splitter/src/test/java/com/iluwatar/eip/splitter/routes/SplitterRouteTest.java
+++ b/eip-splitter/src/test/java/com/iluwatar/eip/splitter/routes/SplitterRouteTest.java
@@ -28,7 +28,7 @@ import org.apache.camel.component.mock.MockEndpoint;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ActiveProfiles;
@@ -42,7 +42,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
*
*/
@ExtendWith(SpringExtension.class)
-@SpringApplicationConfiguration(classes = SplitterRouteTest.class)
+@SpringBootTest(classes = SplitterRouteTest.class)
@ActiveProfiles("test")
@EnableAutoConfiguration
@ComponentScan
diff --git a/eip-wire-tap/src/test/java/com/iluwatar/eip/wiretap/routes/WireTapRouteTest.java b/eip-wire-tap/src/test/java/com/iluwatar/eip/wiretap/routes/WireTapRouteTest.java
index 449f86208..bb433f350 100644
--- a/eip-wire-tap/src/test/java/com/iluwatar/eip/wiretap/routes/WireTapRouteTest.java
+++ b/eip-wire-tap/src/test/java/com/iluwatar/eip/wiretap/routes/WireTapRouteTest.java
@@ -29,7 +29,7 @@ import org.apache.camel.component.mock.MockEndpoint;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ActiveProfiles;
@@ -45,7 +45,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
*
*/
@ExtendWith(SpringExtension.class)
-@SpringApplicationConfiguration(classes = WireTapRouteTest.class)
+@SpringBootTest(classes = WireTapRouteTest.class)
@ActiveProfiles("test")
@EnableAutoConfiguration
@ComponentScan
diff --git a/layers/pom.xml b/layers/pom.xml
index 8237c8f4f..a6d3d1719 100644
--- a/layers/pom.xml
+++ b/layers/pom.xml
@@ -41,7 +41,11 @@
org.hibernate
- hibernate-entitymanager
+ hibernate-core
+
+
+ javax.xml.bind
+ jaxb-api
commons-dbcp
diff --git a/layers/src/main/java/com/iluwatar/layers/CakeBakingServiceImpl.java b/layers/src/main/java/com/iluwatar/layers/CakeBakingServiceImpl.java
index e8deee73a..556a74c7a 100644
--- a/layers/src/main/java/com/iluwatar/layers/CakeBakingServiceImpl.java
+++ b/layers/src/main/java/com/iluwatar/layers/CakeBakingServiceImpl.java
@@ -72,18 +72,23 @@ public class CakeBakingServiceImpl implements CakeBakingService {
}
}
CakeToppingDao toppingBean = context.getBean(CakeToppingDao.class);
- CakeTopping topping = toppingBean.findOne(matchingToppings.iterator().next().getId());
+ Optional topping = toppingBean.findById(matchingToppings.iterator().next().getId());
CakeDao cakeBean = context.getBean(CakeDao.class);
- Cake cake = new Cake();
- cake.setTopping(topping);
- cake.setLayers(foundLayers);
- cakeBean.save(cake);
- topping.setCake(cake);
- toppingBean.save(topping);
- CakeLayerDao layerBean = context.getBean(CakeLayerDao.class);
- for (CakeLayer layer : foundLayers) {
- layer.setCake(cake);
- layerBean.save(layer);
+ if (topping.isPresent()) {
+ Cake cake = new Cake();
+ cake.setTopping(topping.get());
+ cake.setLayers(foundLayers);
+ cakeBean.save(cake);
+ topping.get().setCake(cake);
+ toppingBean.save(topping.get());
+ CakeLayerDao layerBean = context.getBean(CakeLayerDao.class);
+ for (CakeLayer layer : foundLayers) {
+ layer.setCake(cake);
+ layerBean.save(layer);
+ }
+ } else {
+ throw new CakeBakingException(String.format("Topping %s is not available",
+ cakeInfo.cakeToppingInfo.name));
}
}
diff --git a/layers/src/main/resources/applicationContext.xml b/layers/src/main/resources/applicationContext.xml
index eca3670b0..c149094c1 100644
--- a/layers/src/main/resources/applicationContext.xml
+++ b/layers/src/main/resources/applicationContext.xml
@@ -50,7 +50,7 @@
-
+
-
- org.hibernate
- hibernate-entitymanager
- ${hibernate.version}
-
org.springframework.boot
spring-boot-dependencies
@@ -300,6 +296,11 @@
mongo-java-driver
${mongo-java-driver.version}
+
+ log4j
+ log4j
+ ${log4j.version}
+
javax.xml.bind
jaxb-api
diff --git a/repository/pom.xml b/repository/pom.xml
index 2ccdc9da7..f0340f126 100644
--- a/repository/pom.xml
+++ b/repository/pom.xml
@@ -44,7 +44,7 @@
org.hibernate
- hibernate-entitymanager
+ hibernate-core
commons-dbcp
@@ -71,5 +71,9 @@
javax.annotation
javax.annotation-api
+
+ org.springframework.boot
+ spring-boot-starter-test
+
diff --git a/repository/src/main/java/com/iluwatar/repository/App.java b/repository/src/main/java/com/iluwatar/repository/App.java
index d96b4351e..c4a885380 100644
--- a/repository/src/main/java/com/iluwatar/repository/App.java
+++ b/repository/src/main/java/com/iluwatar/repository/App.java
@@ -23,6 +23,7 @@
package com.iluwatar.repository;
import java.util.List;
+import java.util.Optional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -84,17 +85,17 @@ public class App {
nasta.setSurname("Spotakova");
repository.save(nasta);
- LOGGER.info("Find by id 2: {}", repository.findOne(2L));
+ LOGGER.info("Find by id 2: {}", repository.findById(2L).get());
// Remove record from Person
- repository.delete(2L);
+ repository.deleteById(2L);
// count records
LOGGER.info("Count Person records: {}", repository.count());
// find by name
- Person p = repository.findOne(new PersonSpecifications.NameEqualSpec("John"));
- LOGGER.info("Find by John is {}", p);
+ Optional p = repository.findOne(new PersonSpecifications.NameEqualSpec("John"));
+ LOGGER.info("Find by John is {}", p.get());
// find by age
persons = repository.findAll(new PersonSpecifications.AgeBetweenSpec(20, 40));
diff --git a/repository/src/main/java/com/iluwatar/repository/AppConfig.java b/repository/src/main/java/com/iluwatar/repository/AppConfig.java
index c5ccb7d00..584c09037 100644
--- a/repository/src/main/java/com/iluwatar/repository/AppConfig.java
+++ b/repository/src/main/java/com/iluwatar/repository/AppConfig.java
@@ -24,6 +24,7 @@ package com.iluwatar.repository;
import java.sql.SQLException;
import java.util.List;
+import java.util.Optional;
import java.util.Properties;
import javax.sql.DataSource;
@@ -32,6 +33,7 @@ import org.apache.commons.dbcp.BasicDataSource;
import org.hibernate.jpa.HibernatePersistenceProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@@ -44,6 +46,7 @@ import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
*
*/
@EnableJpaRepositories
+@SpringBootConfiguration
public class AppConfig {
private static final Logger LOGGER = LoggerFactory.getLogger(AppConfig.class);
@@ -60,7 +63,7 @@ public class AppConfig {
basicDataSource.setUrl("jdbc:h2:~/databases/person");
basicDataSource.setUsername("sa");
basicDataSource.setPassword("sa");
- return (DataSource) basicDataSource;
+ return basicDataSource;
}
/**
@@ -134,17 +137,17 @@ public class AppConfig {
nasta.setSurname("Spotakova");
repository.save(nasta);
- LOGGER.info("Find by id 2: {}", repository.findOne(2L));
+ LOGGER.info("Find by id 2: {}", repository.findById(2L).get());
// Remove record from Person
- repository.delete(2L);
+ repository.deleteById(2L);
// count records
LOGGER.info("Count Person records: {}", repository.count());
// find by name
- Person p = repository.findOne(new PersonSpecifications.NameEqualSpec("John"));
- LOGGER.info("Find by John is {}", p);
+ Optional p = repository.findOne(new PersonSpecifications.NameEqualSpec("John"));
+ LOGGER.info("Find by John is {}", p.get());
// find by age
persons = repository.findAll(new PersonSpecifications.AgeBetweenSpec(20, 40));
diff --git a/repository/src/main/resources/applicationContext.xml b/repository/src/main/resources/applicationContext.xml
index 26d6cb3f4..b27bb4c85 100644
--- a/repository/src/main/resources/applicationContext.xml
+++ b/repository/src/main/resources/applicationContext.xml
@@ -49,7 +49,7 @@
-
+