Use different date serializations for uris and other places (e.g. links, 
headers, etc.)


Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/ea07757c
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/ea07757c
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/ea07757c

Branch: refs/heads/MARMOTTA-655_Memento_Compliance_Issues
Commit: ea07757c176138c5a59b3cace0c1249e48711e68
Parents: badefd3
Author: Thomas Kurz <[email protected]>
Authored: Thu Oct 13 18:09:52 2016 +0200
Committer: Thomas Kurz <[email protected]>
Committed: Thu Oct 13 18:09:52 2016 +0200

----------------------------------------------------------------------
 .../marmotta/platform/versioning/model/MementoVersionSet.java   | 2 +-
 .../apache/marmotta/platform/versioning/utils/MementoUtils.java | 5 ++++-
 .../platform/versioning/webservices/MementoWebService.java      | 2 +-
 .../src/main/resources/templates/memento_timemap.ftl            | 4 ++--
 4 files changed, 8 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/marmotta/blob/ea07757c/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/model/MementoVersionSet.java
----------------------------------------------------------------------
diff --git 
a/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/model/MementoVersionSet.java
 
b/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/model/MementoVersionSet.java
index 594cab8..c1a71c2 100644
--- 
a/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/model/MementoVersionSet.java
+++ 
b/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/model/MementoVersionSet.java
@@ -70,7 +70,7 @@ public class MementoVersionSet {
     }
 
     private String buildLink( String prefix, String resource, Date date, 
String rel ) {
-        return  "<" + prefix + MementoUtils.MEMENTO_DATE_FORMAT.format(date) + 
"/" + resource +
+        return  "<" + prefix + 
MementoUtils.MEMENTO_DATE_FORMAT_FOR_URIS.format(date) + "/" + resource +
                 ">;datetime=\"" + 
MementoUtils.MEMENTO_DATE_FORMAT.format(date) + "\";rel=\"" + rel +"\"";
     }
 

http://git-wip-us.apache.org/repos/asf/marmotta/blob/ea07757c/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/utils/MementoUtils.java
----------------------------------------------------------------------
diff --git 
a/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/utils/MementoUtils.java
 
b/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/utils/MementoUtils.java
index 5fa2f71..5742952 100644
--- 
a/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/utils/MementoUtils.java
+++ 
b/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/utils/MementoUtils.java
@@ -36,9 +36,12 @@ public class MementoUtils {
 
     /**
      * is used for date format used in memento resource uris
+     * TODO should be HTTP Date format specified by RFC 1123 and in the GMT 
timezone like "Mon, 19 Sep 2016 23:47:12 GMT"
      */
     public static final DateFormat MEMENTO_DATE_FORMAT = new 
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
 
+    public static final DateFormat MEMENTO_DATE_FORMAT_FOR_URIS = new 
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
+
     /**
      * builds a memento permalink
      * @param date the date of the version that should be represented by the 
permalink
@@ -50,7 +53,7 @@ public class MementoUtils {
                 baseURI +
                         MEMENTO_WEBSERVICE + "/" +
                         MEMENTO_RESOURCE + "/" +
-                        MEMENTO_DATE_FORMAT.format(date) + "/" +
+                        MEMENTO_DATE_FORMAT_FOR_URIS.format(date) + "/" +
                         resource);
     }
 

http://git-wip-us.apache.org/repos/asf/marmotta/blob/ea07757c/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/webservices/MementoWebService.java
----------------------------------------------------------------------
diff --git 
a/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/webservices/MementoWebService.java
 
b/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/webservices/MementoWebService.java
index 9d35e59..9174715 100644
--- 
a/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/webservices/MementoWebService.java
+++ 
b/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/webservices/MementoWebService.java
@@ -179,7 +179,7 @@ public class MementoWebService {
             RepositoryConnection conn = sesameService.getConnection();
 
             try {
-                final Date date = 
MementoUtils.MEMENTO_DATE_FORMAT.parse(date_string);
+                final Date date = 
MementoUtils.MEMENTO_DATE_FORMAT_FOR_URIS.parse(date_string);
 
                 final URI resource = 
conn.getValueFactory().createURI(resource_string);
 

http://git-wip-us.apache.org/repos/asf/marmotta/blob/ea07757c/platform/marmotta-versioning-kiwi/src/main/resources/templates/memento_timemap.ftl
----------------------------------------------------------------------
diff --git 
a/platform/marmotta-versioning-kiwi/src/main/resources/templates/memento_timemap.ftl
 
b/platform/marmotta-versioning-kiwi/src/main/resources/templates/memento_timemap.ftl
index 92f4745..4deff79 100644
--- 
a/platform/marmotta-versioning-kiwi/src/main/resources/templates/memento_timemap.ftl
+++ 
b/platform/marmotta-versioning-kiwi/src/main/resources/templates/memento_timemap.ftl
@@ -56,7 +56,7 @@
         var target = "#timeknots",
             v = [
 <#list versions as version>
-            {'name':"${version.date}", 'date':new Date("${version.tstamp}"), 
'uri':"${version.uri}"},
+            {'name':"${MEMENTO_DATE_FORMAT.format(version.date)}", 'date':new 
Date("${version.tstamp}"), 'uri':"${version.uri}"},
 </#list>
             {'name':"now", 'date':new Date(),'lineWidth':1, 
'uri':"${SERVER_URL}resource?uri=${original?url}"}
         ];
@@ -88,7 +88,7 @@
                 </tr>
                 <#list versions as version>
                 <tr>
-                    <td><a target="_blank" href="${version.uri}" 
class="ldcache">${version.date}</a></td>
+                    <td><a target="_blank" href="${version.uri}" 
class="ldcache">${MEMENTO_DATE_FORMAT.format(version.date)}</a></td>
                 </tr>
             </#list>
             </table>

Reply via email to