Skip to content
Snippets Groups Projects
Commit bcce2676 authored by Stephane Nicoll's avatar Stephane Nicoll
Browse files

Merge pull request #328 from arey:feature/LocalDate

* pr/328:
  Polish "Use Java 8 LocalDate instead of java.util.Date"
  Use Java 8 LocalDate instead of java.util.Date
parents 38bd3280 4c22d010
No related branches found
No related tags found
No related merge requests found
/*
* Copyright 2002-2013 the original author or authors.
* Copyright 2002-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......@@ -15,9 +15,9 @@
*/
package org.springframework.samples.petclinic.owner;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
......@@ -31,8 +31,6 @@ import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.springframework.beans.support.MutableSortDefinition;
import org.springframework.beans.support.PropertyComparator;
......@@ -52,9 +50,8 @@ import org.springframework.samples.petclinic.visit.Visit;
public class Pet extends NamedEntity {
@Column(name = "birth_date")
@Temporal(TemporalType.DATE)
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date birthDate;
private LocalDate birthDate;
@ManyToOne
@JoinColumn(name = "type_id")
......@@ -67,11 +64,11 @@ public class Pet extends NamedEntity {
@OneToMany(cascade = CascadeType.ALL, mappedBy = "petId", fetch = FetchType.EAGER)
private Set<Visit> visits = new LinkedHashSet<>();
public void setBirthDate(Date birthDate) {
public void setBirthDate(LocalDate birthDate) {
this.birthDate = birthDate;
}
public Date getBirthDate() {
public LocalDate getBirthDate() {
return this.birthDate;
}
......
/*
* Copyright 2002-2013 the original author or authors.
* Copyright 2002-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......@@ -15,13 +15,11 @@
*/
package org.springframework.samples.petclinic.visit;
import java.util.Date;
import java.time.LocalDate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotEmpty;
import org.springframework.format.annotation.DateTimeFormat;
......@@ -38,9 +36,8 @@ import org.springframework.samples.petclinic.model.BaseEntity;
public class Visit extends BaseEntity {
@Column(name = "visit_date")
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date date;
private LocalDate date;
@NotEmpty
@Column(name = "description")
......@@ -53,14 +50,14 @@ public class Visit extends BaseEntity {
* Creates a new instance of Visit for the current date
*/
public Visit() {
this.date = new Date();
this.date = LocalDate.now();
}
public Date getDate() {
public LocalDate getDate() {
return this.date;
}
public void setDate(Date date) {
public void setDate(LocalDate date) {
this.date = date;
}
......
......@@ -47,7 +47,7 @@
<dd th:text="${pet.name}" /></dd>
<dt>Birth Date</dt>
<dd
th:text="${#calendars.format(pet.birthDate, 'yyyy-MM-dd')}" /></dd>
th:text="${#temporals.format(pet.birthDate, 'yyyy-MM-dd')}" /></dd>
<dt>Type</dt>
<dd th:text="${pet.type}" /></dd>
</dl>
......@@ -61,7 +61,7 @@
</tr>
</thead>
<tr th:each="visit : ${pet.visits}">
<td th:text="${#calendars.format(visit.date, 'yyyy-MM-dd')}"></td>
<td th:text="${#temporals.format(visit.date, 'yyyy-MM-dd')}"></td>
<td th:text="${visit?.description}"></td>
</tr>
<tr>
......@@ -80,4 +80,4 @@
</body>
</html>
\ No newline at end of file
</html>
......@@ -21,7 +21,7 @@
<tr>
<td th:text="${pet.name}" /></td>
<td
th:text="${#calendars.format(pet.birthDate, 'yyyy-MM-dd')}" /></td>
th:text="${#temporals.format(pet.birthDate, 'yyyy-MM-dd')}" /></td>
<td th:text="${pet.type}" /></td>
<td
th:text="${pet.owner?.firstName + ' ' + pet.owner?.lastName}" /></td>
......@@ -52,10 +52,10 @@
<th>Description</th>
</tr>
<tr th:if="${!visit['new']}" th:each="visit : ${pet.visits}">
<td th:text="${#calendars.format(visit.date, 'yyyy-MM-dd')}" /></td>
<td th:text="${#temporals.format(visit.date, 'yyyy-MM-dd')}" /></td>
<td th:text=" ${visit.description}" /></td>
</tr>
</table>
</body>
</html>
\ No newline at end of file
</html>
/*
* Copyright 2012-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.samples.petclinic.service;
import static org.assertj.core.api.Assertions.assertThat;
import java.time.LocalDate;
import java.util.Collection;
import java.util.Date;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -140,7 +156,7 @@ public class ClinicServiceTests {
pet.setName("bowser");
Collection<PetType> types = this.pets.findPetTypes();
pet.setType(EntityUtils.getById(types, PetType.class, 2));
pet.setBirthDate(new Date());
pet.setBirthDate(LocalDate.now());
owner6.addPet(pet);
assertThat(owner6.getPets().size()).isEqualTo(found + 1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment