00062 Upgrade JAVA to 1.8; Servlet 3.0

0.4-beta
Li Shengzhao 2015-11-17 10:59:14 +08:00
parent a16e41c2c8
commit 46714a429a
11 changed files with 89 additions and 40 deletions

View File

@ -8,6 +8,8 @@
使用的技术与版本号
<ol>
<li>JDK (1.8.0_40)</li>
<li>Servlet (3.1.0)</li>
<li>Spring (4.1.6.RELEASE)</li>
<li>Spring Security (4.0.1.RELEASE)</li>
<li>spring-security-oauth2 (2.0.7.RELEASE)</li>

21
pom.xml
View File

@ -23,9 +23,9 @@
<!--jdbc execute sql config-->
<jdbc.driver>com.mysql.jdbc.Driver</jdbc.driver>
<jdbc.url>jdbc:mysql://localhost:3306/wdcy_test?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf8</jdbc.url>
<jdbc.user>wdcy</jdbc.user>
<jdbc.pass>wdcy</jdbc.pass>
<jdbc.url>jdbc:mysql://localhost:3306/oauth2_test?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf8</jdbc.url>
<jdbc.user>andaily</jdbc.user>
<jdbc.pass>andaily</jdbc.pass>
<!--if do not use execute sql, change the value to true-->
<jdbc.execute.skip>false</jdbc.execute.skip>
<test.skip>false</test.skip>
@ -47,19 +47,20 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<version>3.2</version>
<configuration>
<encoding>utf-8</encoding>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<version>2.6</version>
<configuration>
<warSourceExcludes>*/classes/spring-oauth-server.properties</warSourceExcludes>
<packagingExcludes>*/classes/spring-oauth-server.properties</packagingExcludes>
<archive>
<manifestEntries>
<Implementation-BuildNumber>
@ -168,8 +169,8 @@
<!-- provided dependency -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>

View File

@ -1,16 +1,17 @@
package com.monkeyk.sos.domain;
import com.monkeyk.sos.infrastructure.DateUtils;
import com.monkeyk.sos.domain.shared.GuidGenerator;
import com.monkeyk.sos.infrastructure.DateUtils;
import java.io.Serializable;
import java.util.Date;
import java.time.LocalDateTime;
/**
* @author Shengzhao Li
*/
public abstract class AbstractDomain implements Serializable {
private static final long serialVersionUID = 6569365774429340632L;
/**
* Database id
*/
@ -25,7 +26,7 @@ public abstract class AbstractDomain implements Serializable {
/**
* The domain create time.
*/
protected Date createTime = DateUtils.now();
protected LocalDateTime createTime = DateUtils.now();
public AbstractDomain() {
}
@ -55,13 +56,10 @@ public abstract class AbstractDomain implements Serializable {
this.guid = guid;
}
public Date createTime() {
public LocalDateTime createTime() {
return createTime;
}
public boolean isNewly() {
return id == 0;
}
@Override
public boolean equals(Object o) {

View File

@ -3,7 +3,7 @@ package com.monkeyk.sos.domain.oauth;
import com.monkeyk.sos.infrastructure.DateUtils;
import java.io.Serializable;
import java.util.Date;
import java.time.LocalDateTime;
/**
* @author Shengzhao Li
@ -13,7 +13,7 @@ public class OauthClientDetails implements Serializable {
private static final long serialVersionUID = -6947822646185526939L;
private Date createTime = DateUtils.now();
private LocalDateTime createTime = DateUtils.now();
private boolean archived = false;
private String clientId;
@ -87,11 +87,11 @@ public class OauthClientDetails implements Serializable {
return trusted;
}
public Date createTime() {
public LocalDateTime createTime() {
return createTime;
}
public OauthClientDetails createTime(Date createTime) {
public OauthClientDetails createTime(LocalDateTime createTime) {
this.createTime = createTime;
return this;
}

View File

@ -2,6 +2,7 @@ package com.monkeyk.sos.domain.user;
import com.monkeyk.sos.domain.AbstractDomain;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -100,7 +101,7 @@ public class User extends AbstractDomain {
return this;
}
public User createTime(Date createTime) {
public User createTime(LocalDateTime createTime) {
this.createTime = createTime;
return this;
}

View File

@ -1,7 +1,8 @@
package com.monkeyk.sos.infrastructure;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
/**
@ -18,27 +19,26 @@ public abstract class DateUtils {
private DateUtils() {
}
public static Date now() {
return new Date();
public static LocalDateTime now() {
return LocalDateTime.now();
}
//Create new SimpleDateFormat
private static SimpleDateFormat newDateFormat(String pattern) {
return new SimpleDateFormat(pattern, Locale.SIMPLIFIED_CHINESE);
public static String toDateTime(LocalDateTime date) {
return toDateTime(date, DEFAULT_DATE_TIME_FORMAT);
}
public static String toDateTime(Date date) {
return toDateText(date, DEFAULT_DATE_TIME_FORMAT);
public static String toDateTime(LocalDateTime dateTime, String pattern) {
return dateTime.format(DateTimeFormatter.ofPattern(pattern, Locale.SIMPLIFIED_CHINESE));
}
public static String toDateText(Date date, String pattern) {
public static String toDateText(LocalDate date, String pattern) {
if (date == null || pattern == null) {
return null;
}
SimpleDateFormat dateFormat = newDateFormat(pattern);
return dateFormat.format(date);
return date.format(DateTimeFormatter.ofPattern(pattern, Locale.SIMPLIFIED_CHINESE));
}

View File

@ -16,6 +16,7 @@ import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.ZoneId;
/**
* 2015/11/16
@ -45,7 +46,7 @@ public class OauthClientDetailsRowMapper implements RowMapper<OauthClientDetails
clientDetails.refreshTokenValidity(getInteger(rs, "refresh_token_validity"));
clientDetails.additionalInformation(rs.getString("additional_information"));
clientDetails.createTime(rs.getTimestamp("create_time"));
clientDetails.createTime(rs.getTimestamp("create_time").toLocalDateTime());
clientDetails.archived(rs.getBoolean("archived"));
clientDetails.trusted(rs.getBoolean("trusted"));

View File

@ -35,7 +35,6 @@ import java.util.List;
public class UserRepositoryJdbc implements UserRepository {
private static UserRowMapper userRowMapper = new UserRowMapper();
@Autowired
@ -77,7 +76,7 @@ public class UserRepositoryJdbc implements UserRepository {
ps.setString(1, user.guid());
ps.setBoolean(2, user.archived());
ps.setTimestamp(3, new Timestamp(user.createTime().getTime()));
ps.setTimestamp(3, Timestamp.valueOf(user.createTime()));
ps.setString(4, user.email());
ps.setString(5, user.password());

View File

@ -36,7 +36,7 @@ public class UserRowMapper implements RowMapper<User> {
user.guid(rs.getString("guid"));
user.archived(rs.getBoolean("archived"));
user.createTime(rs.getTimestamp("create_time"));
user.createTime(rs.getTimestamp("create_time").toLocalDateTime());
user.email(rs.getString("email"));
user.phone(rs.getString("phone"));

View File

@ -2,8 +2,8 @@
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>spring-oauth-server</display-name>

View File

@ -0,0 +1,47 @@
/*
* Copyright (c) 2015 MONKEYK Information Technology Co. Ltd
* www.monkeyk.com
* All rights reserved.
*
* This software is the confidential and proprietary information of
* MONKEYK Information Technology Co. Ltd ("Confidential Information").
* You shall not disclose such Confidential Information and shall use
* it only in accordance with the terms of the license agreement you
* entered into with MONKEYK Information Technology Co. Ltd.
*/
package com.monkeyk.sos.infrastructure;
import org.testng.annotations.Test;
import java.sql.Timestamp;
import java.time.LocalDate;
import java.time.LocalDateTime;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
/*
* @author Shengzhao Li
*/
public class DateUtilsTest {
@Test
public void convert() {
LocalDateTime localDateTime = LocalDateTime.of(2015, 4, 3, 12, 30, 22);
final LocalDate localDate = localDateTime.toLocalDate();
System.out.println(localDate);
final Timestamp timestamp = Timestamp.valueOf(localDateTime);
assertNotNull(timestamp);
System.out.println(timestamp);
final String text = DateUtils.toDateTime(localDateTime);
assertEquals(text,"2015-04-03 12:30:22");
}
}