code format

This commit is contained in:
jesus-dayo 2016-08-15 13:44:56 +08:00
parent 4fff6716e5
commit a9d714c389
10 changed files with 91 additions and 113 deletions

View File

@ -9,61 +9,61 @@ import javax.persistence.Id;
@Entity @Entity
public class Student implements Serializable { public class Student implements Serializable {
/** /**
* *
*/ */
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public Student() { public Student() {
} }
public Student(long id, String name, String gender, Integer age) { public Student(long id, String name, String gender, Integer age) {
super(); super();
this.id = id; this.id = id;
this.name = name; this.name = name;
this.gender = gender; this.gender = gender;
this.age = age; this.age = age;
} }
@Id @Id
private long id; private long id;
@Column(nullable = false) @Column(nullable = false)
private String name; private String name;
@Column(nullable = false) @Column(nullable = false)
private String gender; private String gender;
@Column(nullable = false) @Column(nullable = false)
private Integer age; private Integer age;
public long getId() { public long getId() {
return id; return id;
} }
public void setId(long id) { public void setId(long id) {
this.id = id; this.id = id;
} }
public String getName() { public String getName() {
return name; return name;
} }
public void setName(String name) { public void setName(String name) {
this.name = name; this.name = name;
} }
public String getGender() { public String getGender() {
return gender; return gender;
} }
public void setGender(String gender) { public void setGender(String gender) {
this.gender = gender; this.gender = gender;
} }
public Integer getAge() { public Integer getAge() {
return age; return age;
} }
public void setAge(Integer age) { public void setAge(Integer age) {
this.age = age; this.age = age;
} }
} }

View File

@ -3,11 +3,11 @@ package org.baeldung.web.exception;
public class MyResourceNotFoundException extends RuntimeException { public class MyResourceNotFoundException extends RuntimeException {
/** /**
* *
*/ */
private static final long serialVersionUID = 4088649120307193208L; private static final long serialVersionUID = 4088649120307193208L;
public MyResourceNotFoundException() { public MyResourceNotFoundException() {
super(); super();
} }
@ -23,5 +23,4 @@ public class MyResourceNotFoundException extends RuntimeException {
super(cause); super(cause);
} }
} }

View File

@ -13,7 +13,6 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
@Import(PersistenceConfig.class) @Import(PersistenceConfig.class)
public class Application extends WebMvcConfigurerAdapter { public class Application extends WebMvcConfigurerAdapter {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(Application.class, args); SpringApplication.run(Application.class, args);
} }
@ -22,5 +21,5 @@ public class Application extends WebMvcConfigurerAdapter {
public ShallowEtagHeaderFilter shallowEtagHeaderFilter() { public ShallowEtagHeaderFilter shallowEtagHeaderFilter() {
return new ShallowEtagHeaderFilter(); return new ShallowEtagHeaderFilter();
} }
} }

View File

@ -14,23 +14,20 @@ import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
@EnableJpaRepositories("org.baeldung.web.dao") @EnableJpaRepositories("org.baeldung.web.dao")
@ComponentScan(basePackages = { "org.baeldung.web" }) @ComponentScan(basePackages = { "org.baeldung.web" })
@EntityScan("org.baeldung.web.entity") @EntityScan("org.baeldung.web.entity")
@Configuration @Configuration
public class PersistenceConfig { public class PersistenceConfig {
@Bean
public JdbcTemplate getJdbcTemplate() {
return new JdbcTemplate(dataSource());
}
@Bean @Bean
public DataSource dataSource() { public JdbcTemplate getJdbcTemplate() {
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder(); return new JdbcTemplate(dataSource());
EmbeddedDatabase db = builder }
.setType(EmbeddedDatabaseType.HSQL)
.addScript("db/sql/data.sql") @Bean
.build(); public DataSource dataSource() {
return db; EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
} EmbeddedDatabase db = builder.setType(EmbeddedDatabaseType.HSQL).addScript("db/sql/data.sql").build();
return db;
}
} }

View File

@ -13,18 +13,17 @@ import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
public class StudentDirectoryRestController { public class StudentDirectoryRestController {
@Autowired @Autowired
private StudentService service; private StudentService service;
@RequestMapping(value = "/student/get", params = { "page", @RequestMapping(value = "/student/get", params = { "page", "size" }, method = RequestMethod.GET, produces = "application/json")
"size" }, method = RequestMethod.GET, produces = "application/json") public Page<Student> findPaginated(@RequestParam("page") int page, @RequestParam("size") int size) {
public Page<Student> findPaginated(@RequestParam("page") int page, @RequestParam("size") int size) {
Page<Student> resultPage = service.findPaginated(page, size); Page<Student> resultPage = service.findPaginated(page, size);
if (page > resultPage.getTotalPages()) { if (page > resultPage.getTotalPages()) {
throw new MyResourceNotFoundException(); throw new MyResourceNotFoundException();
} }
return resultPage; return resultPage;
} }
} }

View File

@ -4,6 +4,6 @@ import org.springframework.data.domain.Page;
public interface IOperations<T> { public interface IOperations<T> {
public Page<T> findPaginated(final int page, final int size); public Page<T> findPaginated(final int page, final int size);
} }

View File

@ -2,6 +2,6 @@ package org.baeldung.web.service;
import org.baeldung.web.entity.Student; import org.baeldung.web.entity.Student;
public interface StudentService extends IOperations<Student>{ public interface StudentService extends IOperations<Student> {
} }

View File

@ -10,12 +10,12 @@ import org.springframework.stereotype.Service;
@Service @Service
public class StudentServiceImpl implements StudentService { public class StudentServiceImpl implements StudentService {
@Autowired @Autowired
private StudentRepository dao; private StudentRepository dao;
@Override @Override
public Page<Student> findPaginated(int page, int size) { public Page<Student> findPaginated(int page, int size) {
return dao.findAll(new PageRequest(page,size)); return dao.findAll(new PageRequest(page, size));
} }
} }

View File

@ -3,7 +3,7 @@
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5"> version="2.5">
<welcome-file-list> <welcome-file-list>
<welcome-file>index.html</welcome-file> <welcome-file>index.html</welcome-file>
</welcome-file-list> </welcome-file-list>

View File

@ -24,58 +24,42 @@ public class StudentServiceTest {
@Test @Test
public void givenRequestForStudents_whenPageIsOne_expectContainsNames() { public void givenRequestForStudents_whenPageIsOne_expectContainsNames() {
given().params("page", "0", "size", "2").get(ENDPOINT) given().params("page", "0", "size", "2").get(ENDPOINT).then().assertThat().body("content.name", hasItems("Bryan", "Ben"));
.then()
.assertThat().body("content.name", hasItems("Bryan", "Ben"));
} }
@Test @Test
public void givenRequestForStudents_whenSizeIsTwo_expectTwoItems() { public void givenRequestForStudents_whenSizeIsTwo_expectTwoItems() {
given().params("page", "0", "size", "2").get(ENDPOINT) given().params("page", "0", "size", "2").get(ENDPOINT).then().assertThat().body("size", equalTo(2));
.then()
.assertThat().body("size", equalTo(2));
} }
@Test @Test
public void givenRequestForStudents_whenSizeIsTwo_expectNumberOfElementsTwo() { public void givenRequestForStudents_whenSizeIsTwo_expectNumberOfElementsTwo() {
given().params("page", "0", "size", "2").get(ENDPOINT) given().params("page", "0", "size", "2").get(ENDPOINT).then().assertThat().body("numberOfElements", equalTo(2));
.then()
.assertThat().body("numberOfElements", equalTo(2));
} }
@Test @Test
public void givenRequestForStudents_whenResourcesAreRetrievedPaged_thenExpect200() { public void givenRequestForStudents_whenResourcesAreRetrievedPaged_thenExpect200() {
given().params("page", "0", "size", "2").get(ENDPOINT) given().params("page", "0", "size", "2").get(ENDPOINT).then().statusCode(200);
.then()
.statusCode(200);
} }
@Test @Test
public void givenRequestForStudents_whenPageOfResourcesAreRetrievedOutOfBounds_thenExpect500() { public void givenRequestForStudents_whenPageOfResourcesAreRetrievedOutOfBounds_thenExpect500() {
given().params("page", "1000", "size", "2").get(ENDPOINT) given().params("page", "1000", "size", "2").get(ENDPOINT).then().statusCode(500);
.then()
.statusCode(500);
} }
@Test @Test
public void givenRequestForStudents_whenPageNotValid_thenExpect500() { public void givenRequestForStudents_whenPageNotValid_thenExpect500() {
given().params("page", RandomStringUtils.randomNumeric(5), "size", "2").get(ENDPOINT) given().params("page", RandomStringUtils.randomNumeric(5), "size", "2").get(ENDPOINT).then().statusCode(500);
.then()
.statusCode(500);
} }
@Test @Test
public void givenRequestForStudents_whenPageSizeIsFive_expectFiveItems() { public void givenRequestForStudents_whenPageSizeIsFive_expectFiveItems() {
given().params("page", "0", "size", "5").get(ENDPOINT) given().params("page", "0", "size", "5").get(ENDPOINT).then().body("content.size()", is(5));
.then()
.body("content.size()", is(5));
} }
@Test @Test
public void givenResourcesExist_whenFirstPageIsRetrieved_thenPageContainsResources() { public void givenResourcesExist_whenFirstPageIsRetrieved_thenPageContainsResources() {
given().params("page", "0", "size", "2").get(ENDPOINT) given().params("page", "0", "size", "2").get(ENDPOINT).then().assertThat().body("first", equalTo(true));
.then()
.assertThat().body("first", equalTo(true));
} }
} }