From 17b6636b50e3ed3b331b79a4b2880f2c7fc19450 Mon Sep 17 00:00:00 2001 From: Dapeng Date: Mon, 19 Sep 2016 15:03:53 +0800 Subject: [PATCH] Remove dependency with joda time to simplify the project dependencies --- pom.xml | 26 -------------- .../samples/petclinic/model/Pet.java | 35 ++++++++++--------- .../samples/petclinic/model/Visit.java | 21 +++++------ .../jdbc/JdbcPetRepositoryImpl.java | 3 +- .../repository/jdbc/JdbcPetRowMapper.java | 4 +-- .../jdbc/JdbcVisitRepositoryImpl.java | 9 +++-- .../repository/jdbc/JdbcVisitRowMapper.java | 3 +- .../WEB-INF/jsp/owners/ownerDetails.jsp | 5 ++- .../jsp/pets/createOrUpdateVisitForm.jsp | 5 ++- .../service/AbstractClinicServiceTests.java | 5 ++- 10 files changed, 42 insertions(+), 74 deletions(-) diff --git a/pom.xml b/pom.xml index d654fe8fb..216f7ad72 100644 --- a/pom.xml +++ b/pom.xml @@ -27,11 +27,6 @@ 2.2.0 - - 1.3 - 1.1.1 - 3.2.0.GA - 5.1.36 @@ -63,11 +58,6 @@ - - org.jadira.usertype - usertype.core - ${jadira-usertype-core.version} - org.apache.tomcat tomcat-servlet-api @@ -168,22 +158,6 @@ runtime - - - joda-time - joda-time - - - joda-time - joda-time-hibernate - ${jodatime-hibernate.version} - - - joda-time - joda-time-jsptags - ${jodatime-jsptags.version} - - org.hsqldb diff --git a/src/main/java/org/springframework/samples/petclinic/model/Pet.java b/src/main/java/org/springframework/samples/petclinic/model/Pet.java index 970cdcb76..0cbf975fa 100644 --- a/src/main/java/org/springframework/samples/petclinic/model/Pet.java +++ b/src/main/java/org/springframework/samples/petclinic/model/Pet.java @@ -15,11 +15,9 @@ */ package org.springframework.samples.petclinic.model; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import org.springframework.beans.support.MutableSortDefinition; +import org.springframework.beans.support.PropertyComparator; +import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.CascadeType; import javax.persistence.Column; @@ -30,12 +28,14 @@ import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Table; -import org.hibernate.annotations.Type; -import org.joda.time.DateTime; -import org.joda.time.LocalDate; -import org.springframework.beans.support.MutableSortDefinition; -import org.springframework.beans.support.PropertyComparator; -import org.springframework.format.annotation.DateTimeFormat; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Set; /** * Simple business object representing a pet. @@ -49,9 +49,9 @@ import org.springframework.format.annotation.DateTimeFormat; public class Pet extends NamedEntity { @Column(name = "birth_date") - @Type(type = "org.jadira.usertype.dateandtime.joda.PersistentLocalDate") + @Temporal(TemporalType.DATE) @DateTimeFormat(pattern = "yyyy/MM/dd") - private LocalDate birthDate; + private Date birthDate; @ManyToOne @JoinColumn(name = "type_id") @@ -64,12 +64,13 @@ public class Pet extends NamedEntity { @OneToMany(cascade = CascadeType.ALL, mappedBy = "pet", fetch = FetchType.EAGER) private Set visits; - public LocalDate getBirthDate() { - return this.birthDate; + + public void setBirthDate(Date birthDate) { + this.birthDate = birthDate; } - public void setBirthDate(LocalDate birthDate) { - this.birthDate = birthDate; + public Date getBirthDate() { + return this.birthDate; } public PetType getType() { diff --git a/src/main/java/org/springframework/samples/petclinic/model/Visit.java b/src/main/java/org/springframework/samples/petclinic/model/Visit.java index 023a8dcef..8fe9deb75 100644 --- a/src/main/java/org/springframework/samples/petclinic/model/Visit.java +++ b/src/main/java/org/springframework/samples/petclinic/model/Visit.java @@ -15,16 +15,17 @@ */ package org.springframework.samples.petclinic.model; +import org.hibernate.validator.constraints.NotEmpty; +import org.springframework.format.annotation.DateTimeFormat; + import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; - -import org.hibernate.annotations.Type; -import org.hibernate.validator.constraints.NotEmpty; -import org.joda.time.LocalDate; -import org.springframework.format.annotation.DateTimeFormat; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; +import java.util.Date; /** * Simple JavaBean domain object representing a visit. @@ -39,9 +40,9 @@ public class Visit extends BaseEntity { * Holds value of property date. */ @Column(name = "visit_date") - @Type(type = "org.jadira.usertype.dateandtime.joda.PersistentLocalDate") + @Temporal(TemporalType.TIMESTAMP) @DateTimeFormat(pattern = "yyyy/MM/dd") - private LocalDate date; + private Date date; /** * Holds value of property description. @@ -62,7 +63,7 @@ public class Visit extends BaseEntity { * Creates a new instance of Visit for the current date */ public Visit() { - this.date = new LocalDate(); + this.date = new Date(); } @@ -71,7 +72,7 @@ public class Visit extends BaseEntity { * * @return Value of property date. */ - public LocalDate getDate() { + public Date getDate() { return this.date; } @@ -80,7 +81,7 @@ public class Visit extends BaseEntity { * * @param date New value of property date. */ - public void setDate(LocalDate date) { + public void setDate(Date date) { this.date = date; } diff --git a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRepositoryImpl.java b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRepositoryImpl.java index 74cbc06b5..c54880de3 100644 --- a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRepositoryImpl.java +++ b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRepositoryImpl.java @@ -32,7 +32,6 @@ import org.springframework.orm.ObjectRetrievalFailureException; import org.springframework.samples.petclinic.model.Owner; import org.springframework.samples.petclinic.model.Pet; import org.springframework.samples.petclinic.model.PetType; -import org.springframework.samples.petclinic.model.Visit; import org.springframework.samples.petclinic.repository.OwnerRepository; import org.springframework.samples.petclinic.repository.PetRepository; import org.springframework.samples.petclinic.repository.VisitRepository; @@ -115,7 +114,7 @@ public class JdbcPetRepositoryImpl implements PetRepository { return new MapSqlParameterSource() .addValue("id", pet.getId()) .addValue("name", pet.getName()) - .addValue("birth_date", pet.getBirthDate().toDate()) + .addValue("birth_date", pet.getBirthDate()) .addValue("type_id", pet.getType().getId()) .addValue("owner_id", pet.getOwner().getId()); } diff --git a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRowMapper.java b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRowMapper.java index 6420df163..9c6c101e4 100644 --- a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRowMapper.java +++ b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRowMapper.java @@ -19,8 +19,6 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.Date; -import org.joda.time.DateTime; -import org.joda.time.LocalDate; import org.springframework.jdbc.core.RowMapper; /** @@ -35,7 +33,7 @@ class JdbcPetRowMapper implements RowMapper { pet.setId(rs.getInt("pets.id")); pet.setName(rs.getString("name")); Date birthDate = rs.getDate("birth_date"); - pet.setBirthDate(new LocalDate(birthDate)); + pet.setBirthDate(new Date(birthDate.getTime())); pet.setTypeId(rs.getInt("type_id")); pet.setOwnerId(rs.getInt("owner_id")); return pet; diff --git a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcVisitRepositoryImpl.java b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcVisitRepositoryImpl.java index ecae18d99..521f66952 100644 --- a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcVisitRepositoryImpl.java +++ b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcVisitRepositoryImpl.java @@ -17,7 +17,6 @@ package org.springframework.samples.petclinic.repository.jdbc; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; -import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.jdbc.core.simple.SimpleJdbcInsert; @@ -77,7 +76,7 @@ public class JdbcVisitRepositoryImpl implements VisitRepository { private MapSqlParameterSource createVisitParameterSource(Visit visit) { return new MapSqlParameterSource() .addValue("id", visit.getId()) - .addValue("visit_date", visit.getDate().toDate()) + .addValue("visit_date", visit.getDate()) .addValue("description", visit.getDescription()) .addValue("pet_id", visit.getPet().getId()); } @@ -92,13 +91,13 @@ public class JdbcVisitRepositoryImpl implements VisitRepository { new JdbcPetRowMapper()); List visits = this.jdbcTemplate.query( - "SELECT id as visit_id, visit_date, description FROM visits WHERE pet_id=:id", + "SELECT id as visit_id, visit_date, description FROM visits WHERE pet_id=:id", params, new JdbcVisitRowMapper()); - + for (Visit visit: visits) { visit.setPet(pet); } - + return visits; } diff --git a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcVisitRowMapper.java b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcVisitRowMapper.java index edc4527a3..0b172d3ec 100644 --- a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcVisitRowMapper.java +++ b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcVisitRowMapper.java @@ -16,7 +16,6 @@ package org.springframework.samples.petclinic.repository.jdbc; -import org.joda.time.LocalDate; import org.springframework.jdbc.core.RowMapper; import org.springframework.samples.petclinic.model.Visit; @@ -35,7 +34,7 @@ class JdbcVisitRowMapper implements RowMapper { Visit visit = new Visit(); visit.setId(rs.getInt("visit_id")); Date visitDate = rs.getDate("visit_date"); - visit.setDate(new LocalDate(visitDate)); + visit.setDate(new Date(visitDate.getTime())); visit.setDescription(rs.getString("description")); return visit; } diff --git a/src/main/webapp/WEB-INF/jsp/owners/ownerDetails.jsp b/src/main/webapp/WEB-INF/jsp/owners/ownerDetails.jsp index 7ca50f673..877e53e8b 100644 --- a/src/main/webapp/WEB-INF/jsp/owners/ownerDetails.jsp +++ b/src/main/webapp/WEB-INF/jsp/owners/ownerDetails.jsp @@ -3,7 +3,6 @@ <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="joda" uri="http://www.joda.org/joda/time/tags" %> <%@ taglib prefix="petclinic" tagdir="/WEB-INF/tags" %> @@ -54,7 +53,7 @@
Name
Birth Date
-
+
Type
@@ -69,7 +68,7 @@ - + diff --git a/src/main/webapp/WEB-INF/jsp/pets/createOrUpdateVisitForm.jsp b/src/main/webapp/WEB-INF/jsp/pets/createOrUpdateVisitForm.jsp index df70223c0..b964e83d4 100644 --- a/src/main/webapp/WEB-INF/jsp/pets/createOrUpdateVisitForm.jsp +++ b/src/main/webapp/WEB-INF/jsp/pets/createOrUpdateVisitForm.jsp @@ -3,7 +3,6 @@ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> -<%@ taglib prefix="joda" uri="http://www.joda.org/joda/time/tags" %> <%@ taglib prefix="petclinic" tagdir="/WEB-INF/tags" %> @@ -30,7 +29,7 @@ - + @@ -60,7 +59,7 @@ - + diff --git a/src/test/java/org/springframework/samples/petclinic/service/AbstractClinicServiceTests.java b/src/test/java/org/springframework/samples/petclinic/service/AbstractClinicServiceTests.java index 446a0a0a7..8573ab7e1 100644 --- a/src/test/java/org/springframework/samples/petclinic/service/AbstractClinicServiceTests.java +++ b/src/test/java/org/springframework/samples/petclinic/service/AbstractClinicServiceTests.java @@ -18,9 +18,8 @@ package org.springframework.samples.petclinic.service; import static org.assertj.core.api.Assertions.assertThat; import java.util.Collection; +import java.util.Date; -import org.joda.time.DateTime; -import org.joda.time.LocalDate; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.samples.petclinic.model.Owner; @@ -136,7 +135,7 @@ public abstract class AbstractClinicServiceTests { pet.setName("bowser"); Collection types = this.clinicService.findPetTypes(); pet.setType(EntityUtils.getById(types, PetType.class, 2)); - pet.setBirthDate(new LocalDate()); + pet.setBirthDate(new Date()); owner6.addPet(pet); assertThat(owner6.getPets().size()).isEqualTo(found + 1);