You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by am...@apache.org on 2016/11/01 17:03:04 UTC
struts git commit: WW-4705 - Add support for long type to tag
Repository: struts
Updated Branches:
refs/heads/master 8699f639f -> 8fe2bb831
WW-4705 - Add support for long type to <s:date> tag
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/8fe2bb83
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/8fe2bb83
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/8fe2bb83
Branch: refs/heads/master
Commit: 8fe2bb8317088f6a24aea3a03f19a9f257cbec09
Parents: 8699f63
Author: Aleksandr Mashchenko <am...@apache.org>
Authored: Tue Nov 1 19:01:44 2016 +0200
Committer: Aleksandr Mashchenko <am...@apache.org>
Committed: Tue Nov 1 19:01:44 2016 +0200
----------------------------------------------------------------------
.../java/org/apache/struts2/components/Date.java | 8 +++++---
.../org/apache/struts2/views/jsp/ui/DateTagTest.java | 15 +++++++++++++++
2 files changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/8fe2bb83/core/src/main/java/org/apache/struts2/components/Date.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Date.java b/core/src/main/java/org/apache/struts2/components/Date.java
index 3c89ce4..ac3d68b 100644
--- a/core/src/main/java/org/apache/struts2/components/Date.java
+++ b/core/src/main/java/org/apache/struts2/components/Date.java
@@ -288,8 +288,10 @@ public class Date extends ContextBean {
Object dateObject = findValue(name);
if (dateObject instanceof java.util.Date) {
date = (java.util.Date) dateObject;
- } else if(dateObject instanceof Calendar){
+ } else if (dateObject instanceof Calendar) {
date = ((Calendar) dateObject).getTime();
+ } else if (dateObject instanceof Long) {
+ date = new java.util.Date((long) dateObject);
} else {
if (devMode) {
String developerNotification = LocalizedTextUtil.findText(
@@ -299,12 +301,12 @@ public class Date extends ContextBean {
"Developer Notification:\n{0}",
new Object[]{
"Expression [" + name + "] passed to <s:date/> tag which was evaluated to [" + dateObject + "]("
- + (dateObject != null ? dateObject.getClass() : "null") + ") isn't instance of java.util.Date nor java.util.Calendar!"
+ + (dateObject != null ? dateObject.getClass() : "null") + ") isn't instance of java.util.Date nor java.util.Calendar nor long!"
}
);
LOG.warn(developerNotification);
} else {
- LOG.debug("Expression [{}] passed to <s:date/> tag which was evaluated to [{}]({}) isn't instance of java.util.Date nor java.util.Calendar!",
+ LOG.debug("Expression [{}] passed to <s:date/> tag which was evaluated to [{}]({}) isn't instance of java.util.Date nor java.util.Calendar nor long!",
name, dateObject, (dateObject != null ? dateObject.getClass() : "null"));
}
}
http://git-wip-us.apache.org/repos/asf/struts/blob/8fe2bb83/core/src/test/java/org/apache/struts2/views/jsp/ui/DateTagTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/DateTagTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/DateTagTest.java
index 27c6a0d..cc5b7a7 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/DateTagTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/DateTagTest.java
@@ -102,6 +102,21 @@ public class DateTagTest extends AbstractTagTest {
assertEquals(formatted, writer.toString());
}
+ public void testCustomFormatLong() throws Exception {
+ String format = "yyyy/MM/dd hh:mm:ss";
+ Date date = new Date();
+ String formatted = new SimpleDateFormat(format).format(date);
+ // long
+ context.put("myDate", date.getTime());
+
+ tag.setName("myDate");
+ tag.setNice(false);
+ tag.setFormat(format);
+ tag.doStartTag();
+ tag.doEndTag();
+ assertEquals(formatted, writer.toString());
+ }
+
public void testDefaultFormat() throws Exception {
Date now = new Date();
String formatted = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM,