Skip to content

Commit 1d44a03

Browse files
committed
Merge branch 'master' of git@github.com:javaee-samples/javaee8-samples.git
2 parents c54262f + 3d82e3a commit 1d44a03

12 files changed

Lines changed: 329 additions & 9 deletions

File tree

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ env:
99
- TESTFOLDER=jpa
1010
- TESTFOLDER=jsf
1111
- TESTFOLDER=jsonb
12+
- TESTFOLDER=validation
1213

1314
install: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
1415

jpa/stream/src/main/java/org/javaee8/jpa/stream/repository/PersonRepository.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313
*/
1414
public class PersonRepository {
1515

16-
@PersistenceContext(unitName = "DEFAULT_PU")
17-
private EntityManager em;
16+
@PersistenceContext
17+
private EntityManager entityManager;
1818

1919
public Stream<Person> findAll() {
20-
CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
21-
cq.select(cq.from(Person.class));
22-
return em.createQuery(cq).getResultStream();
20+
CriteriaQuery criteriaQuery = entityManager.getCriteriaBuilder().createQuery();
21+
criteriaQuery.select(criteriaQuery.from(Person.class));
22+
return entityManager.createQuery(criteriaQuery).getResultStream();
2323
}
2424

2525
}

jpa/stream/src/test/resources/test-persistence.xml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
3-
<persistence-unit name="DEFAULT_PU" transaction-type="JTA">
4-
<jta-data-source>java:comp/DefaultDataSource</jta-data-source>
5-
<exclude-unlisted-classes>false</exclude-unlisted-classes>
3+
4+
<!--
5+
This defines the persistence unit from which the entity manager is used in org.javaee8.jpa.stream.repository.PersonRepository
6+
7+
Note that this relies on the defaults; in Java EE the transaction type defaults to JTA and the data source defaults to the platform default data source
8+
9+
-->
10+
11+
<persistence-unit name="TEST_PU">
612
<properties>
713
<property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
814
<property name="javax.persistence.sql-load-script-source" value="META-INF/sql/insert.sql"/>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,13 @@
9292
-->
9393
<modules>
9494
<module>test-utils</module>
95-
9695
<module>servlet</module>
9796
<module>security</module>
9897
<module>jsf</module>
9998
<module>cdi</module>
10099
<module>jpa</module>
101100
<module>jsonb</module>
101+
<module>validation</module>
102102
</modules>
103103

104104
<dependencyManagement>

validation/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Java EE 8 Samples: Bean Validation 2#
2+
3+
The [JSR 380](https://www.jcp.org/en/jsr/detail?id=380) specifies the next version of Bean Validation, version 2.
4+
5+
## Samples ##
6+
7+
- constraints:
8+
Testing new features coming with Bean Validation 2 like java.time API validation support, repeatable annotations and type annotations applied on Lists and Maps.

validation/constraints/pom.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
3+
4+
<parent>
5+
<groupId>org.javaee8</groupId>
6+
<artifactId>validation</artifactId>
7+
<version>1.0-SNAPSHOT</version>
8+
</parent>
9+
10+
<artifactId>constraints</artifactId>
11+
<name>Java EE 8 Samples: Bean Validation 2: Support for java.time API</name>
12+
13+
<dependencies>
14+
<dependency>
15+
<groupId>javax.validation</groupId>
16+
<artifactId>validation-api</artifactId>
17+
<version>2.0.0.Final</version>
18+
</dependency>
19+
</dependencies>
20+
</project>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package org.javaee8.validation;
2+
3+
import javax.validation.constraints.NotEmpty;
4+
5+
/**
6+
* @author mertcaliskan
7+
*/
8+
public class Address {
9+
10+
@NotEmpty
11+
private String detail;
12+
13+
public String getDetail() {
14+
return detail;
15+
}
16+
17+
public void setDetail(String detail) {
18+
this.detail = detail;
19+
}
20+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.javaee8.validation;
2+
3+
/**
4+
* @author mertcaliskan
5+
*/
6+
public interface Admin {
7+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package org.javaee8.validation;
2+
3+
import javax.validation.constraints.NotNull;
4+
import javax.validation.constraints.Size;
5+
6+
/**
7+
* @author mertcaliskan
8+
*/
9+
public class Country {
10+
11+
@NotNull
12+
@Size(min = 2, max = 2)
13+
private String countryCode;
14+
15+
public String getCountryCode() {
16+
return countryCode;
17+
}
18+
19+
public void setCountryCode(String countryCode) {
20+
this.countryCode = countryCode;
21+
}
22+
}
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
package org.javaee8.validation;
2+
3+
import javax.validation.Valid;
4+
import javax.validation.constraints.Email;
5+
import javax.validation.constraints.NotNull;
6+
import javax.validation.constraints.Past;
7+
import javax.validation.constraints.Size;
8+
import javax.validation.groups.Default;
9+
import java.time.LocalDate;
10+
import java.time.Year;
11+
import java.util.HashMap;
12+
import java.util.List;
13+
import java.util.Map;
14+
import java.util.Optional;
15+
16+
/**
17+
* @author mertcaliskan
18+
*/
19+
class Person {
20+
21+
@Past
22+
private Year yearOfBirth;
23+
24+
private Optional<@Past LocalDate> marriageAnniversary;
25+
26+
private List<@NotNull @Email String> emails;
27+
28+
@Size(min = 8, groups = Default.class)
29+
@Size(min = 12, groups = Admin.class)
30+
private String password;
31+
32+
private Map<@Valid Country, @Valid Address> addressMap = new HashMap<>();
33+
34+
35+
public Year getYearOfBirth() {
36+
return yearOfBirth;
37+
}
38+
39+
public void setYearOfBirth(Year yearOfBirth) {
40+
this.yearOfBirth = yearOfBirth;
41+
}
42+
43+
public Optional<LocalDate> getMarriageAnniversary() {
44+
return marriageAnniversary;
45+
}
46+
47+
public void setMarriageAnniversary(Optional<LocalDate> marriageAnniversary) {
48+
this.marriageAnniversary = marriageAnniversary;
49+
}
50+
51+
public List<String> getEmails() {
52+
return emails;
53+
}
54+
55+
public void setEmails(List<String> emails) {
56+
this.emails = emails;
57+
}
58+
59+
public String getPassword() {
60+
return password;
61+
}
62+
63+
public void setPassword(String password) {
64+
this.password = password;
65+
}
66+
67+
public Map<Country, Address> getAddressMap() {
68+
return addressMap;
69+
}
70+
71+
public void setAddressMap(Map<Country, Address> addressMap) {
72+
this.addressMap = addressMap;
73+
}
74+
}

0 commit comments

Comments
 (0)