You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2016/10/26 14:44:48 UTC
[12/13] isis git commit: ISIS-1480: uses dateHourMinuteSecondMillis
for JodaLocalDateTimeValueSemanticsProvider's encoding/restore
ISIS-1480: uses dateHourMinuteSecondMillis for JodaLocalDateTimeValueSemanticsProvider's encoding/restore
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/5df58cbd
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/5df58cbd
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/5df58cbd
Branch: refs/heads/master
Commit: 5df58cbd37c8f2f87caf9cad47fa3104b3e03201
Parents: d038b2d
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Oct 26 15:32:09 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Oct 26 15:39:47 2016 +0100
----------------------------------------------------------------------
...JodaLocalDateTimeValueSemanticsProvider.java | 2 +-
...LocalDateTimeValueSemanticsProviderTest.java | 63 ++++++++++++++++++++
2 files changed, 64 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/5df58cbd/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java
index 439a224..3003633 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java
@@ -126,7 +126,7 @@ public class JodaLocalDateTimeValueSemanticsProvider extends ValueSemanticsProvi
private static final LocalDateTime DEFAULT_VALUE = null;
- private final DateTimeFormatter encodingFormatter = ISODateTimeFormat.dateHourMinuteSecond();
+ private final DateTimeFormatter encodingFormatter = ISODateTimeFormat.dateHourMinuteSecondMillis();
private DateTimeFormatter titleStringFormatter;
private String titleStringFormatNameOrPattern;
http://git-wip-us.apache.org/repos/asf/isis/blob/5df58cbd/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProviderTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProviderTest.java
new file mode 100644
index 0000000..8354a02
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProviderTest.java
@@ -0,0 +1,63 @@
+package org.apache.isis.core.metamodel.facets.value.datetimejodalocal;
+
+import org.jmock.Expectations;
+import org.jmock.auto.Mock;
+import org.joda.time.LocalDateTime;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+public class JodaLocalDateTimeValueSemanticsProviderTest {
+
+ @Rule
+ public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
+
+ @Mock
+ FacetHolder mockFacetHolder;
+
+ @Mock
+ ServicesInjector mockServicesInjector;
+
+ @Mock
+ IsisConfigurationDefault mockConfiguration;
+
+ JodaLocalDateTimeValueSemanticsProvider provider;
+
+ @Before
+ public void setUp() throws Exception {
+ context.checking(new Expectations() {{
+
+ ignoring(mockFacetHolder);
+
+ allowing(mockServicesInjector).getConfigurationServiceInternal();
+ will(returnValue(mockConfiguration));
+
+ allowing(mockConfiguration).getString("isis.value.format.datetime","medium");
+ will(returnValue("iso_encoding"));
+ }});
+
+ provider = new JodaLocalDateTimeValueSemanticsProvider(mockFacetHolder, mockServicesInjector);
+
+ }
+
+ @Test
+ public void roundtrip() throws Exception {
+
+ final LocalDateTime t0 = LocalDateTime.now();
+
+ final String encoded = provider.doEncode(t0);
+ final LocalDateTime t1 = provider.doRestore(encoded);
+
+ assertThat(t0, is(equalTo(t1)));
+ }
+
+}
\ No newline at end of file