Skip to content
Snippets Groups Projects
Commit c0748e3e authored by Antoine Rey's avatar Antoine Rey Committed by Stephane Nicoll
Browse files

Use Java 8 LocalDate instead of java.util.Date

See gh-328
parent 38bd3280
No related branches found
No related tags found
No related merge requests found
...@@ -15,9 +15,9 @@ ...@@ -15,9 +15,9 @@
*/ */
package org.springframework.samples.petclinic.owner; package org.springframework.samples.petclinic.owner;
import java.time.LocalDate;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.util.List; import java.util.List;
...@@ -31,8 +31,6 @@ import javax.persistence.JoinColumn; ...@@ -31,8 +31,6 @@ import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne; import javax.persistence.ManyToOne;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.springframework.beans.support.MutableSortDefinition; import org.springframework.beans.support.MutableSortDefinition;
import org.springframework.beans.support.PropertyComparator; import org.springframework.beans.support.PropertyComparator;
...@@ -52,9 +50,8 @@ import org.springframework.samples.petclinic.visit.Visit; ...@@ -52,9 +50,8 @@ import org.springframework.samples.petclinic.visit.Visit;
public class Pet extends NamedEntity { public class Pet extends NamedEntity {
@Column(name = "birth_date") @Column(name = "birth_date")
@Temporal(TemporalType.DATE)
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private Date birthDate; private LocalDate birthDate;
@ManyToOne @ManyToOne
@JoinColumn(name = "type_id") @JoinColumn(name = "type_id")
...@@ -67,11 +64,11 @@ public class Pet extends NamedEntity { ...@@ -67,11 +64,11 @@ public class Pet extends NamedEntity {
@OneToMany(cascade = CascadeType.ALL, mappedBy = "petId", fetch = FetchType.EAGER) @OneToMany(cascade = CascadeType.ALL, mappedBy = "petId", fetch = FetchType.EAGER)
private Set<Visit> visits = new LinkedHashSet<>(); private Set<Visit> visits = new LinkedHashSet<>();
public void setBirthDate(Date birthDate) { public void setBirthDate(LocalDate birthDate) {
this.birthDate = birthDate; this.birthDate = birthDate;
} }
public Date getBirthDate() { public LocalDate getBirthDate() {
return this.birthDate; return this.birthDate;
} }
......
...@@ -15,13 +15,11 @@ ...@@ -15,13 +15,11 @@
*/ */
package org.springframework.samples.petclinic.visit; package org.springframework.samples.petclinic.visit;
import java.util.Date; import java.time.LocalDate;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
...@@ -38,9 +36,8 @@ import org.springframework.samples.petclinic.model.BaseEntity; ...@@ -38,9 +36,8 @@ import org.springframework.samples.petclinic.model.BaseEntity;
public class Visit extends BaseEntity { public class Visit extends BaseEntity {
@Column(name = "visit_date") @Column(name = "visit_date")
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private Date date; private LocalDate date;
@NotEmpty @NotEmpty
@Column(name = "description") @Column(name = "description")
...@@ -53,14 +50,14 @@ public class Visit extends BaseEntity { ...@@ -53,14 +50,14 @@ public class Visit extends BaseEntity {
* Creates a new instance of Visit for the current date * Creates a new instance of Visit for the current date
*/ */
public Visit() { public Visit() {
this.date = new Date(); this.date = LocalDate.now();
} }
public Date getDate() { public LocalDate getDate() {
return this.date; return this.date;
} }
public void setDate(Date date) { public void setDate(LocalDate date) {
this.date = date; this.date = date;
} }
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
<dd th:text="${pet.name}" /></dd> <dd th:text="${pet.name}" /></dd>
<dt>Birth Date</dt> <dt>Birth Date</dt>
<dd <dd
th:text="${#calendars.format(pet.birthDate, 'yyyy-MM-dd')}" /></dd> th:text="${#temporals.format(pet.birthDate, 'yyyy-MM-dd')}" /></dd>
<dt>Type</dt> <dt>Type</dt>
<dd th:text="${pet.type}" /></dd> <dd th:text="${pet.type}" /></dd>
</dl> </dl>
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
</tr> </tr>
</thead> </thead>
<tr th:each="visit : ${pet.visits}"> <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> <td th:text="${visit?.description}"></td>
</tr> </tr>
<tr> <tr>
...@@ -80,4 +80,4 @@ ...@@ -80,4 +80,4 @@
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<tr> <tr>
<td th:text="${pet.name}" /></td> <td th:text="${pet.name}" /></td>
<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.type}" /></td>
<td <td
th:text="${pet.owner?.firstName + ' ' + pet.owner?.lastName}" /></td> th:text="${pet.owner?.firstName + ' ' + pet.owner?.lastName}" /></td>
...@@ -52,10 +52,10 @@ ...@@ -52,10 +52,10 @@
<th>Description</th> <th>Description</th>
</tr> </tr>
<tr th:if="${!visit['new']}" th:each="visit : ${pet.visits}"> <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> <td th:text=" ${visit.description}" /></td>
</tr> </tr>
</table> </table>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -2,8 +2,8 @@ package org.springframework.samples.petclinic.service; ...@@ -2,8 +2,8 @@ package org.springframework.samples.petclinic.service;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import java.time.LocalDate;
import java.util.Collection; import java.util.Collection;
import java.util.Date;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -140,7 +140,7 @@ public class ClinicServiceTests { ...@@ -140,7 +140,7 @@ public class ClinicServiceTests {
pet.setName("bowser"); pet.setName("bowser");
Collection<PetType> types = this.pets.findPetTypes(); Collection<PetType> types = this.pets.findPetTypes();
pet.setType(EntityUtils.getById(types, PetType.class, 2)); pet.setType(EntityUtils.getById(types, PetType.class, 2));
pet.setBirthDate(new Date()); pet.setBirthDate(LocalDate.now());
owner6.addPet(pet); owner6.addPet(pet);
assertThat(owner6.getPets().size()).isEqualTo(found + 1); 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