You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by za...@apache.org on 2015/07/09 21:57:34 UTC

jclouds-labs-openstack git commit: Fixes issue where glance fails to parse image details with milli seconds in the date

Repository: jclouds-labs-openstack
Updated Branches:
  refs/heads/master c6392602e -> a6dafd0b8


Fixes issue where glance fails to parse image details with milli seconds in the date


Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/commit/a6dafd0b
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/tree/a6dafd0b
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/diff/a6dafd0b

Branch: refs/heads/master
Commit: a6dafd0b8319e14e2240a392d940f5c8d78e7350
Parents: c639260
Author: Arvind Nadendla <ar...@gmail.com>
Authored: Thu Jul 9 11:56:47 2015 -0700
Committer: Zack Shoylev <za...@rackspace.com>
Committed: Thu Jul 9 14:55:19 2015 -0500

----------------------------------------------------------------------
 .../functions/ParseImageDetailsFromHeaders.java |  4 +--
 .../ParseImageDetailsFromHeadersTest.java       | 33 ++++++++++++++++++--
 2 files changed, 33 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/a6dafd0b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/ParseImageDetailsFromHeaders.java
----------------------------------------------------------------------
diff --git a/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/ParseImageDetailsFromHeaders.java b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/ParseImageDetailsFromHeaders.java
index 776604d..4c4ea78 100644
--- a/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/ParseImageDetailsFromHeaders.java
+++ b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/ParseImageDetailsFromHeaders.java
@@ -68,8 +68,8 @@ public class ParseImageDetailsFromHeaders implements Function<HttpResponse, Imag
                 .minDisk(Long.parseLong(from.getFirstHeaderOrNull(MIN_DISK.asHeader())))
                 .minRam(Long.parseLong(from.getFirstHeaderOrNull(MIN_RAM.asHeader())))
                 .isPublic(Boolean.parseBoolean(from.getFirstHeaderOrNull(IS_PUBLIC.asHeader())))
-                .createdAt(dateService.iso8601SecondsDateParse(from.getFirstHeaderOrNull(CREATED_AT.asHeader())))
-                .updatedAt(dateService.iso8601SecondsDateParse(from.getFirstHeaderOrNull(UPDATED_AT.asHeader())))
+                .createdAt(dateService.iso8601DateOrSecondsDateParse(from.getFirstHeaderOrNull(CREATED_AT.asHeader())))
+                .updatedAt(dateService.iso8601DateOrSecondsDateParse(from.getFirstHeaderOrNull(UPDATED_AT.asHeader())))
                 .owner(from.getFirstHeaderOrNull(OWNER.asHeader()))
                 .location(from.getFirstHeaderOrNull(LOCATION.asHeader()))
                 .status(Status.fromValue(from.getFirstHeaderOrNull(STATUS.asHeader())));

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/a6dafd0b/openstack-glance/src/test/java/org/jclouds/openstack/glance/v1_0/functions/ParseImageDetailsFromHeadersTest.java
----------------------------------------------------------------------
diff --git a/openstack-glance/src/test/java/org/jclouds/openstack/glance/v1_0/functions/ParseImageDetailsFromHeadersTest.java b/openstack-glance/src/test/java/org/jclouds/openstack/glance/v1_0/functions/ParseImageDetailsFromHeadersTest.java
index 920524c..8e25200 100644
--- a/openstack-glance/src/test/java/org/jclouds/openstack/glance/v1_0/functions/ParseImageDetailsFromHeadersTest.java
+++ b/openstack-glance/src/test/java/org/jclouds/openstack/glance/v1_0/functions/ParseImageDetailsFromHeadersTest.java
@@ -59,10 +59,39 @@ public class ParseImageDetailsFromHeadersTest {
                                                 .build())
                                        .build();
 
+   public HttpResponse responseWithDateMilli = HttpResponse.builder()
+                                       .message("HTTP/1.1 200 OK")
+                                       .statusCode(200)
+                                       .headers(ImmutableMultimap.<String, String>builder()
+                                                .put("X-Image-Meta-Id", "fcc451d0-f6e4-4824-ad8f-70ec12326d07")
+                                                .put("X-Image-Meta-Deleted", "False")
+                                                .put("X-Image-Meta-Container_format", "bare")
+                                                .put("X-Image-Meta-Checksum", "233afa7b8809d840679b5f0d36d7350a")
+                                                .put("X-Image-Meta-Protected", "False")
+                                                .put("X-Image-Meta-Min_disk", "0")
+                                                .put("X-Image-Meta-Created_at", "2012-05-18T18:06:44.000+0000")
+                                                .put("X-Image-Meta-Size", "65645798")
+                                                .put("X-Image-Meta-Status", "active")
+                                                .put("X-Image-Meta-Is_public", "True")
+                                                .put("X-Image-Meta-Min_ram", "0")
+                                                .put("X-Image-Meta-Owner", "5821675")
+                                                .put("X-Image-Meta-Updated_at", "2012-05-18T18:42:58.000+0000")
+                                                .put("X-Image-Meta-Disk_format", "raw")
+                                                .put("X-Image-Meta-Name", "debian")
+                                                .put("X-Image-Meta-Property-Description", "debian image description")
+                                                .put("Location", "http://HOST/v1/images/fcc451d0-f6e4-4824-ad8f-70ec12326d07")
+                                                .put("Etag", "233afa7b8809d840679b5f0d36d7350a")
+                                                .build())
+                                       .build();
+
    public void test() {
       assertEquals(fn.apply(response).toString(), expected().toString());
    }
 
+   public void testResponseWithDateMilli() {
+      assertEquals(fn.apply(responseWithDateMilli).toString(), expected().toString());
+   }
+
    public ImageDetails expected() {
       return ImageDetails.builder()
                         .id("fcc451d0-f6e4-4824-ad8f-70ec12326d07")
@@ -75,8 +104,8 @@ public class ParseImageDetailsFromHeadersTest {
                         .status(Image.Status.ACTIVE)
                         .owner("5821675")
                         .isPublic(true)
-                        .createdAt(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-05-18T18:06:44"))
-                        .updatedAt(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-05-18T18:42:58"))
+                        .createdAt(new SimpleDateFormatDateService().iso8601DateOrSecondsDateParse("2012-05-18T18:06:44"))
+                        .updatedAt(new SimpleDateFormatDateService().iso8601DateOrSecondsDateParse("2012-05-18T18:42:58"))
                         .build();
    }
 }