Skip to content

Commit 84c4b03

Browse files
gaurav9822iluwatar
authored andcommitted
Fix: Github reports security vulnerabilities iluwatar#933 (iluwatar#960)
* Fix: Github reports security vulnerabilities iluwatar#933 Upgrade camel and spring-data * -Fix github security vulnerabilities in spring-data and camel * -Code changes for review comments
1 parent f5455f9 commit 84c4b03

File tree

14 files changed

+72
-54
lines changed

14 files changed

+72
-54
lines changed

eip-aggregator/src/test/java/com/iluwatar/eip/aggregator/routes/AggregatorRouteTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import org.junit.jupiter.api.Test;
2929
import org.junit.jupiter.api.extension.ExtendWith;
3030
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
31-
import org.springframework.boot.test.SpringApplicationConfiguration;
31+
import org.springframework.boot.test.context.SpringBootTest;
3232
import org.springframework.context.annotation.ComponentScan;
3333
import org.springframework.test.annotation.DirtiesContext;
3434
import org.springframework.test.context.ActiveProfiles;
@@ -44,7 +44,7 @@
4444
* </p>
4545
*/
4646
@ExtendWith(SpringExtension.class)
47-
@SpringApplicationConfiguration(classes = AggregatorRouteTest.class)
47+
@SpringBootTest(classes = AggregatorRouteTest.class)
4848
@ActiveProfiles("test")
4949
@EnableAutoConfiguration
5050
@ComponentScan

eip-splitter/src/test/java/com/iluwatar/eip/splitter/routes/SplitterRouteTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import org.junit.jupiter.api.Test;
2929
import org.junit.jupiter.api.extension.ExtendWith;
3030
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
31-
import org.springframework.boot.test.SpringApplicationConfiguration;
31+
import org.springframework.boot.test.context.SpringBootTest;
3232
import org.springframework.context.annotation.ComponentScan;
3333
import org.springframework.test.annotation.DirtiesContext;
3434
import org.springframework.test.context.ActiveProfiles;
@@ -42,7 +42,7 @@
4242
* </p>
4343
*/
4444
@ExtendWith(SpringExtension.class)
45-
@SpringApplicationConfiguration(classes = SplitterRouteTest.class)
45+
@SpringBootTest(classes = SplitterRouteTest.class)
4646
@ActiveProfiles("test")
4747
@EnableAutoConfiguration
4848
@ComponentScan

eip-wire-tap/src/test/java/com/iluwatar/eip/wiretap/routes/WireTapRouteTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import org.junit.jupiter.api.Test;
3030
import org.junit.jupiter.api.extension.ExtendWith;
3131
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
32-
import org.springframework.boot.test.SpringApplicationConfiguration;
32+
import org.springframework.boot.test.context.SpringBootTest;
3333
import org.springframework.context.annotation.ComponentScan;
3434
import org.springframework.test.annotation.DirtiesContext;
3535
import org.springframework.test.context.ActiveProfiles;
@@ -45,7 +45,7 @@
4545
* </p>
4646
*/
4747
@ExtendWith(SpringExtension.class)
48-
@SpringApplicationConfiguration(classes = WireTapRouteTest.class)
48+
@SpringBootTest(classes = WireTapRouteTest.class)
4949
@ActiveProfiles("test")
5050
@EnableAutoConfiguration
5151
@ComponentScan

layers/pom.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,11 @@
4141
</dependency>
4242
<dependency>
4343
<groupId>org.hibernate</groupId>
44-
<artifactId>hibernate-entitymanager</artifactId>
44+
<artifactId>hibernate-core</artifactId>
45+
</dependency>
46+
<dependency>
47+
<groupId>javax.xml.bind</groupId>
48+
<artifactId>jaxb-api</artifactId>
4549
</dependency>
4650
<dependency>
4751
<groupId>commons-dbcp</groupId>

layers/src/main/java/com/iluwatar/layers/CakeBakingServiceImpl.java

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,18 +72,23 @@ public void bakeNewCake(CakeInfo cakeInfo) throws CakeBakingException {
7272
}
7373
}
7474
CakeToppingDao toppingBean = context.getBean(CakeToppingDao.class);
75-
CakeTopping topping = toppingBean.findOne(matchingToppings.iterator().next().getId());
75+
Optional<CakeTopping> topping = toppingBean.findById(matchingToppings.iterator().next().getId());
7676
CakeDao cakeBean = context.getBean(CakeDao.class);
77-
Cake cake = new Cake();
78-
cake.setTopping(topping);
79-
cake.setLayers(foundLayers);
80-
cakeBean.save(cake);
81-
topping.setCake(cake);
82-
toppingBean.save(topping);
83-
CakeLayerDao layerBean = context.getBean(CakeLayerDao.class);
84-
for (CakeLayer layer : foundLayers) {
85-
layer.setCake(cake);
86-
layerBean.save(layer);
77+
if (topping.isPresent()) {
78+
Cake cake = new Cake();
79+
cake.setTopping(topping.get());
80+
cake.setLayers(foundLayers);
81+
cakeBean.save(cake);
82+
topping.get().setCake(cake);
83+
toppingBean.save(topping.get());
84+
CakeLayerDao layerBean = context.getBean(CakeLayerDao.class);
85+
for (CakeLayer layer : foundLayers) {
86+
layer.setCake(cake);
87+
layerBean.save(layer);
88+
}
89+
} else {
90+
throw new CakeBakingException(String.format("Topping %s is not available",
91+
cakeInfo.cakeToppingInfo.name));
8792
}
8893
}
8994

layers/src/main/resources/applicationContext.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
<property name="dataSource" ref="dataSource" />
5151
<property name="packagesToScan" value="com.iluwatar" />
5252
<property name="persistenceProvider">
53-
<bean class="org.hibernate.ejb.HibernatePersistence" />
53+
<bean class="org.hibernate.jpa.HibernatePersistenceProvider" />
5454
</property>
5555
<property name="jpaProperties">
5656
<map>

pom.xml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
<inceptionYear>2014</inceptionYear>
2929
<properties>
3030
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
31-
<hibernate.version>5.0.1.Final</hibernate.version>
32-
<spring.version>4.2.4.RELEASE</spring.version>
33-
<spring-boot.version>1.3.3.RELEASE</spring-boot.version>
34-
<spring-data.version>1.9.2.RELEASE</spring-data.version>
31+
<hibernate.version>5.2.18.Final</hibernate.version>
32+
<spring.version>5.0.13.RELEASE</spring.version>
33+
<spring-boot.version>2.0.9.RELEASE</spring-boot.version>
34+
<spring-data.version>2.0.14.RELEASE</spring-data.version>
3535
<h2.version>1.4.190</h2.version>
3636
<junit.version>4.12</junit.version>
3737
<junit-jupiter.version>5.0.2</junit-jupiter.version>
@@ -40,7 +40,7 @@
4040
<compiler.version>3.8.1</compiler.version>
4141
<jacoco.version>0.8.4</jacoco.version>
4242
<commons-dbcp.version>1.4</commons-dbcp.version>
43-
<camel.version>2.16.1</camel.version>
43+
<camel.version>2.24.0</camel.version>
4444
<guava.version>19.0</guava.version>
4545
<mockito.version>1.10.19</mockito.version>
4646
<apache-httpcomponents.version>4.5.10</apache-httpcomponents.version>
@@ -55,6 +55,7 @@
5555
<aws-lambda-java-events.version>2.0.1</aws-lambda-java-events.version>
5656
<jackson.version>2.8.5</jackson.version>
5757
<pmd.version>3.12.0</pmd.version>
58+
<log4j.version>1.2.17</log4j.version>
5859
<jaxb-api.version>2.3.0</jaxb-api.version>
5960
<annotation-api.version>1.3.1</annotation-api.version>
6061
</properties>
@@ -191,11 +192,6 @@
191192
<artifactId>hibernate-core</artifactId>
192193
<version>${hibernate.version}</version>
193194
</dependency>
194-
<dependency>
195-
<groupId>org.hibernate</groupId>
196-
<artifactId>hibernate-entitymanager</artifactId>
197-
<version>${hibernate.version}</version>
198-
</dependency>
199195
<dependency>
200196
<groupId>org.springframework.boot</groupId>
201197
<artifactId>spring-boot-dependencies</artifactId>
@@ -300,6 +296,11 @@
300296
<artifactId>mongo-java-driver</artifactId>
301297
<version>${mongo-java-driver.version}</version>
302298
</dependency>
299+
<dependency>
300+
<groupId>log4j</groupId>
301+
<artifactId>log4j</artifactId>
302+
<version>${log4j.version}</version>
303+
</dependency>
303304
<dependency>
304305
<groupId>javax.xml.bind</groupId>
305306
<artifactId>jaxb-api</artifactId>

repository/pom.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
</dependency>
4545
<dependency>
4646
<groupId>org.hibernate</groupId>
47-
<artifactId>hibernate-entitymanager</artifactId>
47+
<artifactId>hibernate-core</artifactId>
4848
</dependency>
4949
<dependency>
5050
<groupId>commons-dbcp</groupId>
@@ -71,5 +71,9 @@
7171
<groupId>javax.annotation</groupId>
7272
<artifactId>javax.annotation-api</artifactId>
7373
</dependency>
74+
<dependency>
75+
<groupId>org.springframework.boot</groupId>
76+
<artifactId>spring-boot-starter-test</artifactId>
77+
</dependency>
7478
</dependencies>
7579
</project>

repository/src/main/java/com/iluwatar/repository/App.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
package com.iluwatar.repository;
2424

2525
import java.util.List;
26+
import java.util.Optional;
2627

2728
import org.slf4j.Logger;
2829
import org.slf4j.LoggerFactory;
@@ -84,17 +85,17 @@ public static void main(String[] args) {
8485
nasta.setSurname("Spotakova");
8586
repository.save(nasta);
8687

87-
LOGGER.info("Find by id 2: {}", repository.findOne(2L));
88+
LOGGER.info("Find by id 2: {}", repository.findById(2L).get());
8889

8990
// Remove record from Person
90-
repository.delete(2L);
91+
repository.deleteById(2L);
9192

9293
// count records
9394
LOGGER.info("Count Person records: {}", repository.count());
9495

9596
// find by name
96-
Person p = repository.findOne(new PersonSpecifications.NameEqualSpec("John"));
97-
LOGGER.info("Find by John is {}", p);
97+
Optional<Person> p = repository.findOne(new PersonSpecifications.NameEqualSpec("John"));
98+
LOGGER.info("Find by John is {}", p.get());
9899

99100
// find by age
100101
persons = repository.findAll(new PersonSpecifications.AgeBetweenSpec(20, 40));

repository/src/main/java/com/iluwatar/repository/AppConfig.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import java.sql.SQLException;
2626
import java.util.List;
27+
import java.util.Optional;
2728
import java.util.Properties;
2829

2930
import javax.sql.DataSource;
@@ -32,6 +33,7 @@
3233
import org.hibernate.jpa.HibernatePersistenceProvider;
3334
import org.slf4j.Logger;
3435
import org.slf4j.LoggerFactory;
36+
import org.springframework.boot.SpringBootConfiguration;
3537
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
3638
import org.springframework.context.annotation.Bean;
3739
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@@ -44,6 +46,7 @@
4446
*
4547
*/
4648
@EnableJpaRepositories
49+
@SpringBootConfiguration
4750
public class AppConfig {
4851

4952
private static final Logger LOGGER = LoggerFactory.getLogger(AppConfig.class);
@@ -60,7 +63,7 @@ public DataSource dataSource() {
6063
basicDataSource.setUrl("jdbc:h2:~/databases/person");
6164
basicDataSource.setUsername("sa");
6265
basicDataSource.setPassword("sa");
63-
return (DataSource) basicDataSource;
66+
return basicDataSource;
6467
}
6568

6669
/**
@@ -134,17 +137,17 @@ public static void main(String[] args) {
134137
nasta.setSurname("Spotakova");
135138
repository.save(nasta);
136139

137-
LOGGER.info("Find by id 2: {}", repository.findOne(2L));
140+
LOGGER.info("Find by id 2: {}", repository.findById(2L).get());
138141

139142
// Remove record from Person
140-
repository.delete(2L);
143+
repository.deleteById(2L);
141144

142145
// count records
143146
LOGGER.info("Count Person records: {}", repository.count());
144147

145148
// find by name
146-
Person p = repository.findOne(new PersonSpecifications.NameEqualSpec("John"));
147-
LOGGER.info("Find by John is {}", p);
149+
Optional<Person> p = repository.findOne(new PersonSpecifications.NameEqualSpec("John"));
150+
LOGGER.info("Find by John is {}", p.get());
148151

149152
// find by age
150153
persons = repository.findAll(new PersonSpecifications.AgeBetweenSpec(20, 40));

0 commit comments

Comments
 (0)