[java-support] branch master updated: JSPT-79 - Review date and time handling for Java 8
Ian Young
ian at iay.org.uk
Thu Mar 21 07:52:47 EDT 2019
This is an automated email from the git hooks/post-receive script.
iay pushed a commit to branch master
in repository java-support.
View the commit online:
http://git.shibboleth.net/view/?p=java-support.git;a=commit;h=b5c872afb132a1ef09730c9fe2525606f228ffa1
The following commit(s) were added to refs/heads/master by this push:
new b5c872a JSPT-79 - Review date and time handling for Java 8
b5c872a is described below
commit b5c872afb132a1ef09730c9fe2525606f228ffa1
Author: Ian Young <ian at iay.org.uk>
AuthorDate: Thu Mar 21 11:52:42 2019 +0000
JSPT-79 - Review date and time handling for Java 8
Remove last "long" method from DOMTypeSupport.
Rename some methods for clarity.
---
.../java/support/xml/AttributeSupport.java | 8 +++----
.../utilities/java/support/xml/DOMTypeSupport.java | 27 ++++++----------------
.../java/support/xml/DomTypeSupportTest.java | 19 +++++++--------
3 files changed, 21 insertions(+), 33 deletions(-)
diff --git a/src/main/java/net/shibboleth/utilities/java/support/xml/AttributeSupport.java b/src/main/java/net/shibboleth/utilities/java/support/xml/AttributeSupport.java
index 4afe75a..0899ea9 100644
--- a/src/main/java/net/shibboleth/utilities/java/support/xml/AttributeSupport.java
+++ b/src/main/java/net/shibboleth/utilities/java/support/xml/AttributeSupport.java
@@ -171,7 +171,7 @@ public final class AttributeSupport {
*/
public static void appendDateTimeAttribute(@Nonnull final Element element, @Nonnull final QName attributeName,
@Nonnull final Instant instant) {
- appendAttribute(element, attributeName, DOMTypeSupport.instantToDateTime(instant));
+ appendAttribute(element, attributeName, DOMTypeSupport.instantToString(instant));
}
/**
@@ -183,7 +183,7 @@ public final class AttributeSupport {
*/
public static void appendDurationAttribute(@Nonnull final Element element, @Nonnull final QName attributeName,
@Nonnull final Duration duration) {
- appendAttribute(element, attributeName, DOMTypeSupport.longToDuration(duration.toMillis()));
+ appendAttribute(element, attributeName, DOMTypeSupport.durationToString(duration));
}
/**
@@ -364,7 +364,7 @@ public final class AttributeSupport {
return null;
}
- return DOMTypeSupport.dateTimeToInstant(attribute.getValue());
+ return DOMTypeSupport.stringToInstant(attribute.getValue());
}
/**
@@ -379,7 +379,7 @@ public final class AttributeSupport {
return null;
}
- return DOMTypeSupport.durationToDuration(attribute.getValue());
+ return DOMTypeSupport.stringToDuration(attribute.getValue());
}
/**
diff --git a/src/main/java/net/shibboleth/utilities/java/support/xml/DOMTypeSupport.java b/src/main/java/net/shibboleth/utilities/java/support/xml/DOMTypeSupport.java
index da80d0f..070502a 100644
--- a/src/main/java/net/shibboleth/utilities/java/support/xml/DOMTypeSupport.java
+++ b/src/main/java/net/shibboleth/utilities/java/support/xml/DOMTypeSupport.java
@@ -56,7 +56,7 @@ public final class DOMTypeSupport {
*
* @return the date/time expressed as an {@link Instant}
*/
- public static Instant dateTimeToInstant(@Nonnull final String dateTime) {
+ public static Instant stringToInstant(@Nonnull final String dateTime) {
final String trimmedString =
Constraint.isNotNull(StringSupport.trimOrNull(dateTime), "Lexical dateTime may not be null or empty");
@@ -65,26 +65,14 @@ public final class DOMTypeSupport {
}
/**
- * Converts a lexical duration, as defined by XML Schema 1.0, into milliseconds.
- *
- * @param duration lexical duration representation
- *
- * @return duration in milliseconds
- */
- @Deprecated
- public static long durationToLong(final String duration) {
- return dataTypeFactory.newDuration(duration).getTimeInMillis(baseline);
- }
-
- /**
* Converts a lexical duration, as defined by XML Schema 1.0, into a {@link Duration}.
*
* @param duration lexical duration representation
*
* @return duration in Java form
*/
- public static Duration durationToDuration(final String duration) {
- return Duration.ofMillis(durationToLong(duration));
+ public static Duration stringToDuration(@Nonnull final String duration) {
+ return Duration.ofMillis(dataTypeFactory.newDuration(duration).getTimeInMillis(baseline));
}
/**
@@ -142,7 +130,7 @@ public final class DOMTypeSupport {
*
* @return the lexical representation of the date/time
*/
- @Nonnull public static String instantToDateTime(@Nonnull final Instant dateTime) {
+ @Nonnull public static String instantToString(@Nonnull final Instant dateTime) {
final GregorianCalendar calendar = new GregorianCalendar();
calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
calendar.setTimeInMillis(dateTime.toEpochMilli());
@@ -151,15 +139,14 @@ public final class DOMTypeSupport {
}
/**
- * Converts a duration in milliseconds to a lexical duration, as defined by XML Schema 1.0.
+ * Converts a {@link Duration} to a lexical duration, as defined by XML Schema 1.0.
*
* @param duration the duration
*
* @return the lexical representation
*/
- @Deprecated
- @Nonnull public static String longToDuration(final long duration) {
- return dataTypeFactory.newDuration(duration).toString();
+ @Nonnull public static String durationToString(@Nonnull final Duration duration) {
+ return dataTypeFactory.newDuration(duration.toMillis()).toString();
}
static {
diff --git a/src/test/java/net/shibboleth/utilities/java/support/xml/DomTypeSupportTest.java b/src/test/java/net/shibboleth/utilities/java/support/xml/DomTypeSupportTest.java
index c6db94c..2236f07 100644
--- a/src/test/java/net/shibboleth/utilities/java/support/xml/DomTypeSupportTest.java
+++ b/src/test/java/net/shibboleth/utilities/java/support/xml/DomTypeSupportTest.java
@@ -18,6 +18,7 @@
package net.shibboleth.utilities.java.support.xml;
import java.io.IOException;
+import java.time.Duration;
import java.time.Instant;
import javax.xml.namespace.QName;
@@ -61,24 +62,24 @@ public class DomTypeSupportTest {
}
- @Test public void testInstantToDateTime() {
- Assert.assertEquals(DOMTypeSupport.instantToDateTime(Instant.EPOCH.plusMillis(1000)), "1970-01-01T00:00:01.000Z", "Epoch plus one second");
- Assert.assertEquals(DOMTypeSupport.instantToDateTime(Instant.EPOCH.plusMillis(-1000)), "1969-12-31T23:59:59.000Z", "Epoch minus one second");
+ @Test public void testInstantToString() {
+ Assert.assertEquals(DOMTypeSupport.instantToString(Instant.EPOCH.plusMillis(1000)), "1970-01-01T00:00:01.000Z", "Epoch plus one second");
+ Assert.assertEquals(DOMTypeSupport.instantToString(Instant.EPOCH.plusMillis(-1000)), "1969-12-31T23:59:59.000Z", "Epoch minus one second");
}
- @Test public void testDurationToLong() {
- Assert.assertEquals(DOMTypeSupport.durationToLong("P0Y0M0DT00H00M01S"), 1000, "One second duration");
- Assert.assertEquals(DOMTypeSupport.durationToLong("-P1D"), -1 * 1000 * 24 * 3600, "Back One day duration");
+ @Test public void testStringToDuration() {
+ Assert.assertEquals(DOMTypeSupport.stringToDuration("P0Y0M0DT00H00M01S"), Duration.ofSeconds(1), "One second duration");
+ Assert.assertEquals(DOMTypeSupport.stringToDuration("-P1D"), Duration.ofDays(-1), "Back One day duration");
}
- @Test public void testLongToDuration() {
+ @Test public void testDurationToString() {
// We have to check for two different possible return values because Oracle's and Xerces' implementations
// are different.
- String onesec = DOMTypeSupport.longToDuration(1000);
+ String onesec = DOMTypeSupport.durationToString(Duration.ofSeconds(1));
Assert.assertTrue("P0Y0M0DT0H0M1.000S".equals(onesec) || "PT1.000S".equals(onesec), "One second duration");
- String backday = DOMTypeSupport.longToDuration(-1000*24*3600);
+ String backday = DOMTypeSupport.durationToString(Duration.ofDays(-1));
Assert.assertTrue("-P0Y0M1DT0H0M0.000S".equals(backday) || "-P1DT0H0M0.000S".equals(backday), "Back one day duration");
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list