Skip to content

Commit f667ab2

Browse files
committed
Merge branch 'release/3.2'
2 parents 88d5268 + 010981c commit f667ab2

6 files changed

Lines changed: 51 additions & 43 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<groupId>com.cortez.samples</groupId>
55
<artifactId>javaee7-angular</artifactId>
6-
<version>3.1</version>
6+
<version>3.2</version>
77
<packaging>war</packaging>
88

99
<name>javaee7-angular</name>

src/main/java/com/cortez/samples/javaee7angular/pagination/PaginatedListWrapper.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,27 @@
11
package com.cortez.samples.javaee7angular.pagination;
22

3+
import com.cortez.samples.javaee7angular.data.Person;
4+
5+
import javax.xml.bind.annotation.XmlElement;
6+
import javax.xml.bind.annotation.XmlRootElement;
7+
import java.io.Serializable;
38
import java.util.List;
49

510
/**
611
* Wraps all the information needed to paginate a table.
712
*
813
* @author Roberto Cortez
914
*/
10-
public class PaginatedListWrapper<T> {
15+
@XmlRootElement
16+
public class PaginatedListWrapper implements Serializable {
1117
private Integer currentPage;
1218
private Integer pageSize;
1319
private Integer totalResults;
1420

1521
private String sortFields;
1622
private String sortDirections;
17-
private List<T> list;
23+
@XmlElement
24+
private List<Person> list;
1825

1926
public Integer getCurrentPage() {
2027
return currentPage;
@@ -56,11 +63,11 @@ public void setSortDirections(String sortDirections) {
5663
this.sortDirections = sortDirections;
5764
}
5865

59-
public List<T> getList() {
66+
public List getList() {
6067
return list;
6168
}
6269

63-
public void setList(List<T> list) {
70+
public void setList(List<Person> list) {
6471
this.list = list;
6572
}
6673
}

src/main/java/com/cortez/samples/javaee7angular/rest/PersonResource.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,14 @@ private Integer countPersons() {
3333

3434
@SuppressWarnings("unchecked")
3535
private List<Person> findPersons(int startPosition, int maxResults, String sortFields, String sortDirections) {
36-
Query query = entityManager.createQuery("SELECT p FROM Person p ORDER BY " + sortFields + " " + sortDirections);
36+
Query query =
37+
entityManager.createQuery("SELECT p FROM Person p ORDER BY p." + sortFields + " " + sortDirections);
3738
query.setFirstResult(startPosition);
3839
query.setMaxResults(maxResults);
3940
return query.getResultList();
4041
}
4142

42-
private PaginatedListWrapper<Person> findPersons(PaginatedListWrapper<Person> wrapper) {
43+
private PaginatedListWrapper findPersons(PaginatedListWrapper wrapper) {
4344
wrapper.setTotalResults(countPersons());
4445
int start = (wrapper.getCurrentPage() - 1) * wrapper.getPageSize();
4546
wrapper.setList(findPersons(start,
@@ -51,16 +52,16 @@ private PaginatedListWrapper<Person> findPersons(PaginatedListWrapper<Person> wr
5152

5253
@GET
5354
@Produces(MediaType.APPLICATION_JSON)
54-
public PaginatedListWrapper<Person> listPersons(@DefaultValue("1")
55-
@QueryParam("page")
56-
Integer page,
57-
@DefaultValue("id")
58-
@QueryParam("sortFields")
59-
String sortFields,
60-
@DefaultValue("asc")
61-
@QueryParam("sortDirections")
62-
String sortDirections) {
63-
PaginatedListWrapper<Person> paginatedListWrapper = new PaginatedListWrapper<>();
55+
public PaginatedListWrapper listPersons(@DefaultValue("1")
56+
@QueryParam("page")
57+
Integer page,
58+
@DefaultValue("id")
59+
@QueryParam("sortFields")
60+
String sortFields,
61+
@DefaultValue("asc")
62+
@QueryParam("sortDirections")
63+
String sortDirections) {
64+
PaginatedListWrapper paginatedListWrapper = new PaginatedListWrapper();
6465
paginatedListWrapper.setCurrentPage(page);
6566
paginatedListWrapper.setSortFields(sortFields);
6667
paginatedListWrapper.setSortDirections(sortDirections);
@@ -70,7 +71,7 @@ public PaginatedListWrapper<Person> listPersons(@DefaultValue("1")
7071

7172
@GET
7273
@Path("{id}")
73-
public Person getPerson( @PathParam("id") Long id) {
74+
public Person getPerson(@PathParam("id") Long id) {
7475
return entityManager.find(Person.class, id);
7576
}
7677

src/main/resources/sql/create.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
CREATE SEQUENCE ID START WITH 100;
2-
CREATE TABLE PERSON("ID" INTEGER not null primary key, "NAME" VARCHAR(50), "DESCRIPTION" VARCHAR(100), "IMAGEURL" VARCHAR(500));
1+
CREATE SEQUENCE ID START WITH 100
2+
CREATE TABLE PERSON("ID" INTEGER not null primary key, "NAME" VARCHAR(50), "DESCRIPTION" VARCHAR(100), "IMAGEURL" VARCHAR(500))

src/main/resources/sql/drop.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
DROP TABLE PERSON;
2-
DROP SEQUENCE ID;
1+
DROP TABLE PERSON
2+
DROP SEQUENCE ID

src/main/resources/sql/load.sql

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (1, 'Uzumaki Naruto', 'Konoha', 'http://img1.wikia.nocookie.net/__cb20140523045537/naruto/images/thumb/3/36/Naruto_Uzumaki.png/300px-Naruto_Uzumaki.png');
2-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (2, 'Hatake Kakashi', 'Konoha', 'http://img1.wikia.nocookie.net/__cb20140616090940/naruto/images/thumb/b/b3/KakashiHatake.png/300px-KakashiHatake.png');
3-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (3, 'Haruno Sakura', 'Konoha', 'http://img1.wikia.nocookie.net/__cb20130910111848/naruto/images/thumb/5/59/Sakura_Part_II.png/300px-Sakura_Part_II.png');
4-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (4, 'Uchiha Sasuke', 'Missing-nin', 'http://img2.wikia.nocookie.net/__cb20140124043530/naruto/images/thumb/c/ce/Sasuke_Shippuden.png/300px-Sasuke_Shippuden.png');
5-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (5, 'Gaara', 'Sunagakure', 'http://img3.wikia.nocookie.net/__cb20130910220958/naruto/images/thumb/0/0f/Gaara_Part_II.png/300px-Gaara_Part_II.png');
6-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (6, 'Killer Bee', 'Kumogakure', 'http://img1.wikia.nocookie.net/__cb20120215120020/naruto/images/thumb/3/36/Killer_Bee.png/300px-Killer_Bee.png');
7-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (7, 'Jiraya', 'Konoha', 'http://img2.wikia.nocookie.net/__cb20120925123905/naruto/images/thumb/2/21/Profile_Jiraiya.PNG/300px-Profile_Jiraiya.PNG');
8-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (8, 'Namikaze Minato', 'Konoha', 'http://img4.wikia.nocookie.net/__cb20140209115534/naruto/images/thumb/1/1f/Minato_Namikaze.PNG/300px-Minato_Namikaze.PNG');
9-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (9, 'Uchiha Madara', 'Missing-nin', 'http://img2.wikia.nocookie.net/__cb20140118022828/naruto/images/thumb/2/29/Uchiha_Madara.png/300px-Uchiha_Madara.png');
10-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (10, 'Senju Hashirama', 'Konoha', 'http://img2.wikia.nocookie.net/__cb20120915132454/naruto/images/thumb/7/7e/Hashirama_Senju.png/300px-Hashirama_Senju.png');
11-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (11, 'Might Guy', 'Konoha', 'http://img4.wikia.nocookie.net/__cb20140605202934/naruto/images/thumb/4/40/MightGuy.png/300px-MightGuy.png');
12-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (12, 'Hyuga Neji', 'Konoha', 'http://img1.wikia.nocookie.net/__cb20130913104919/naruto/images/thumb/a/a8/Neji_Part_II.png/300px-Neji_Part_II.png');
13-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (13, 'Rock Lee', 'Konoha', 'http://img1.wikia.nocookie.net/__cb20131029112352/naruto/images/thumb/7/7d/Lee_timeskip.png/300px-Lee_timeskip.png');
14-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (14, 'Uchiha Obito', 'Missing-nin', 'http://img1.wikia.nocookie.net/__cb20140616090247/naruto/images/thumb/a/a0/Obito_Uchiha2.png/300px-Obito_Uchiha2.png');
15-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (15, 'Kurama', 'Tailed Beast', 'http://img2.wikia.nocookie.net/__cb20100601024642/naruto/images/thumb/2/28/9_tails.PNG/300px-9_tails.PNG');
16-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (16, 'Uzumaki Kushina', 'Konoha', 'http://img4.wikia.nocookie.net/__cb20121006054451/naruto/images/thumb/4/4d/Kushina_2.png/300px-Kushina_2.png');
17-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (17, 'Nara Shikamaru', 'Konoha', 'http://img1.wikia.nocookie.net/__cb20130917013425/naruto/images/thumb/9/9a/Shikamaru_Nara.png/300px-Shikamaru_Nara.png');
18-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (18, 'Sarutobi Hiruzen', 'Konoha', 'http://img4.wikia.nocookie.net/__cb20120912121115/naruto/images/thumb/e/e4/Hiruzen_Sarutobi.png/300px-Hiruzen_Sarutobi.png');
19-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (19, 'Tsunade', 'Konoha', 'http://img2.wikia.nocookie.net/__cb20140417023105/naruto/images/thumb/1/14/Tsunade_newshot.png/300px-Tsunade_newshot.png');
20-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (20, 'Orochimaru', 'Missing-nin', 'http://img3.wikia.nocookie.net/__cb20100623204832/naruto/images/thumb/e/e8/Orochimaru2.jpg/300px-Orochimaru2.jpg');
21-
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (21, 'Uchicha Itachi', 'Missing-nin', 'http://img1.wikia.nocookie.net/__cb20110723152743/naruto/images/thumb/8/8d/UchihaItachi.png/300px-UchihaItachi.png');
1+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (1, 'Uzumaki Naruto', 'Konoha', 'http://img1.wikia.nocookie.net/__cb20140523045537/naruto/images/thumb/3/36/Naruto_Uzumaki.png/300px-Naruto_Uzumaki.png')
2+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (2, 'Hatake Kakashi', 'Konoha', 'http://img1.wikia.nocookie.net/__cb20140616090940/naruto/images/thumb/b/b3/KakashiHatake.png/300px-KakashiHatake.png')
3+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (3, 'Haruno Sakura', 'Konoha', 'http://img1.wikia.nocookie.net/__cb20130910111848/naruto/images/thumb/5/59/Sakura_Part_II.png/300px-Sakura_Part_II.png')
4+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (4, 'Uchiha Sasuke', 'Missing-nin', 'http://img2.wikia.nocookie.net/__cb20140124043530/naruto/images/thumb/c/ce/Sasuke_Shippuden.png/300px-Sasuke_Shippuden.png')
5+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (5, 'Gaara', 'Sunagakure', 'http://img3.wikia.nocookie.net/__cb20130910220958/naruto/images/thumb/0/0f/Gaara_Part_II.png/300px-Gaara_Part_II.png')
6+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (6, 'Killer Bee', 'Kumogakure', 'http://img1.wikia.nocookie.net/__cb20120215120020/naruto/images/thumb/3/36/Killer_Bee.png/300px-Killer_Bee.png')
7+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (7, 'Jiraya', 'Konoha', 'http://img2.wikia.nocookie.net/__cb20120925123905/naruto/images/thumb/2/21/Profile_Jiraiya.PNG/300px-Profile_Jiraiya.PNG')
8+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (8, 'Namikaze Minato', 'Konoha', 'http://img4.wikia.nocookie.net/__cb20140209115534/naruto/images/thumb/1/1f/Minato_Namikaze.PNG/300px-Minato_Namikaze.PNG')
9+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (9, 'Uchiha Madara', 'Missing-nin', 'http://img2.wikia.nocookie.net/__cb20140118022828/naruto/images/thumb/2/29/Uchiha_Madara.png/300px-Uchiha_Madara.png')
10+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (10, 'Senju Hashirama', 'Konoha', 'http://img2.wikia.nocookie.net/__cb20120915132454/naruto/images/thumb/7/7e/Hashirama_Senju.png/300px-Hashirama_Senju.png')
11+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (11, 'Might Guy', 'Konoha', 'http://img4.wikia.nocookie.net/__cb20140605202934/naruto/images/thumb/4/40/MightGuy.png/300px-MightGuy.png')
12+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (12, 'Hyuga Neji', 'Konoha', 'http://img1.wikia.nocookie.net/__cb20130913104919/naruto/images/thumb/a/a8/Neji_Part_II.png/300px-Neji_Part_II.png')
13+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (13, 'Rock Lee', 'Konoha', 'http://img1.wikia.nocookie.net/__cb20131029112352/naruto/images/thumb/7/7d/Lee_timeskip.png/300px-Lee_timeskip.png')
14+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (14, 'Uchiha Obito', 'Missing-nin', 'http://img1.wikia.nocookie.net/__cb20140616090247/naruto/images/thumb/a/a0/Obito_Uchiha2.png/300px-Obito_Uchiha2.png')
15+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (15, 'Kurama', 'Tailed Beast', 'http://img2.wikia.nocookie.net/__cb20100601024642/naruto/images/thumb/2/28/9_tails.PNG/300px-9_tails.PNG')
16+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (16, 'Uzumaki Kushina', 'Konoha', 'http://img4.wikia.nocookie.net/__cb20121006054451/naruto/images/thumb/4/4d/Kushina_2.png/300px-Kushina_2.png')
17+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (17, 'Nara Shikamaru', 'Konoha', 'http://img1.wikia.nocookie.net/__cb20130917013425/naruto/images/thumb/9/9a/Shikamaru_Nara.png/300px-Shikamaru_Nara.png')
18+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (18, 'Sarutobi Hiruzen', 'Konoha', 'http://img4.wikia.nocookie.net/__cb20120912121115/naruto/images/thumb/e/e4/Hiruzen_Sarutobi.png/300px-Hiruzen_Sarutobi.png')
19+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (19, 'Tsunade', 'Konoha', 'http://img2.wikia.nocookie.net/__cb20140417023105/naruto/images/thumb/1/14/Tsunade_newshot.png/300px-Tsunade_newshot.png')
20+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (20, 'Orochimaru', 'Missing-nin', 'http://img3.wikia.nocookie.net/__cb20100623204832/naruto/images/thumb/e/e8/Orochimaru2.jpg/300px-Orochimaru2.jpg')
21+
INSERT INTO PERSON("ID", "NAME", "DESCRIPTION", "IMAGEURL") VALUES (21, 'Uchicha Itachi', 'Missing-nin', 'http://img1.wikia.nocookie.net/__cb20110723152743/naruto/images/thumb/8/8d/UchihaItachi.png/300px-UchihaItachi.png')

0 commit comments

Comments
 (0)