Skip to content

Commit 4bdc333

Browse files
committed
Merge branch 'master' into BAEL-16633
2 parents 0e37289 + 18c6a1a commit 4bdc333

File tree

262 files changed

+2520
-4027
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

262 files changed

+2520
-4027
lines changed

.gitignore

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,10 @@ software-security/sql-injection-samples/derby.log
8484
spring-soap/src/main/java/com/baeldung/springsoap/gen/
8585
/report-*.json
8686
transaction.log
87-
*-shell.log
87+
*-shell.log
88+
89+
apache-cxf/cxf-aegis/baeldung.xml
90+
apache-fop/src/test/resources/input.xml
91+
apache-fop/src/test/resources/output_herold.pdf
92+
apache-fop/src/test/resources/output_html2fo.pdf
93+
apache-fop/src/test/resources/output_jtidy.pdf

apache-fop/src/test/resources/input.xml

Lines changed: 0 additions & 1674 deletions
This file was deleted.
-33.9 KB
Binary file not shown.
-14.3 KB
Binary file not shown.
-25.3 KB
Binary file not shown.

code-generation/pom.xml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,16 @@
1212
</parent>
1313

1414
<dependencies>
15+
<dependency>
16+
<groupId>com.google.auto.value</groupId>
17+
<artifactId>auto-value-annotations</artifactId>
18+
<version>${auto-value.version}</version>
19+
</dependency>
1520
<dependency>
1621
<groupId>com.google.auto.value</groupId>
1722
<artifactId>auto-value</artifactId>
1823
<version>${auto-value.version}</version>
24+
<scope>provided</scope>
1925
</dependency>
2026
<dependency>
2127
<groupId>com.google.auto.factory</groupId>
@@ -43,9 +49,9 @@
4349
</dependencies>
4450

4551
<properties>
46-
<auto-value.version>1.3</auto-value.version>
47-
<auto-factory.version>1.0-beta5</auto-factory.version>
48-
<auto-service.version>1.0-rc5</auto-service.version>
52+
<auto-value.version>1.6.6</auto-value.version>
53+
<auto-factory.version>1.0-beta6</auto-factory.version>
54+
<auto-service.version>1.0-rc6</auto-service.version>
4955
<guice.version>4.2.0</guice.version>
5056
</properties>
5157

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.baeldung.autovalue;
2+
3+
import java.util.ArrayList;
4+
import java.util.Collections;
5+
import java.util.List;
6+
7+
import com.google.auto.value.AutoValue;
8+
9+
@AutoValue
10+
public abstract class Person {
11+
12+
public abstract String name();
13+
14+
public abstract List<String> favoriteMovies();
15+
16+
public static Builder builder() {
17+
return new AutoValue_Person.Builder();
18+
}
19+
20+
@AutoValue.Builder
21+
public static abstract class Builder {
22+
23+
public abstract Builder name(String value);
24+
25+
public abstract Builder favoriteMovies(List<String> value);
26+
27+
abstract List<String> favoriteMovies();
28+
29+
abstract Person autoBuild();
30+
31+
public Person build() {
32+
List<String> favoriteMovies = favoriteMovies();
33+
List<String> copy = Collections.unmodifiableList(new ArrayList<>(favoriteMovies));
34+
favoriteMovies(copy);
35+
return autoBuild();
36+
}
37+
}
38+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.baeldung.autovalue;
2+
3+
import static org.junit.Assert.assertEquals;
4+
import static org.junit.Assert.assertFalse;
5+
6+
import java.util.ArrayList;
7+
import java.util.List;
8+
9+
import org.junit.Test;
10+
11+
/**
12+
* Unit Test which verifies that the {@link Person} value object creates defensive copies of its favoriteMovies list.
13+
*/
14+
public class PersonUnitTest {
15+
16+
@Test
17+
public void givenNewPerson_whenModifyOriginalList_thenValueObjectIsNotAlsoModified() {
18+
// GIVEN new Person
19+
List<String> originalFavoriteMoviesList = new ArrayList<String>();
20+
originalFavoriteMoviesList.add("Training Day");
21+
originalFavoriteMoviesList.add("Fast and the Furious");
22+
Person person = Person.builder()
23+
.name("Dan")
24+
.favoriteMovies(originalFavoriteMoviesList)
25+
.build();
26+
27+
// WHEN modify original list
28+
originalFavoriteMoviesList.add("Friday");
29+
30+
// THEN Person remains unaffected
31+
assertFalse(person.favoriteMovies()
32+
.contains("Friday"));
33+
assertEquals(2, person.favoriteMovies()
34+
.size());
35+
}
36+
37+
}

core-groovy-collections/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@ This module contains articles about Groovy core collections
55
## Relevant articles:
66

77
- [Maps in Groovy](https://www.baeldung.com/groovy-maps)
8-
8+
- [Finding Elements in Collections in Groovy](https://www.baeldung.com/groovy-collections-find-elements)
9+
- [Lists in Groovy](https://www.baeldung.com/groovy-lists)
10+
- [A Quick Guide to Iterating a Map in Groovy](https://www.baeldung.com/groovy-map-iterating)

core-groovy/src/test/groovy/com/baeldung/lists/ListUnitTest.groovy renamed to core-groovy-collections/src/test/groovy/com/baeldung/find/ListFindUnitTest.groovy

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package com.baeldung.lists
1+
package com.baeldung.find
22

3-
import com.baeldung.Person
3+
import com.baeldung.find.Person
44
import org.junit.Test
55

66
import static org.junit.Assert.*
77

8-
class ListUnitTest {
8+
class ListFindUnitTest {
99

1010
private final personList = [
1111
new Person("Regina", "Fitzpatrick", 25),

0 commit comments

Comments
 (0)