Repository: jclouds
Updated Branches:
  refs/heads/1.7.x 8ce9f79fd -> 229fdd70c


'iso8601DateParseWithOptionalTZ' -> 'iso8601DateOrSecondsDateParse' in 
DateService

Follow-up to d57bbebe


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

Branch: refs/heads/1.7.x
Commit: 229fdd70cbf9075765db6e919e5be1004c82ab44
Parents: 8ce9f79
Author: Andrew Phillips <[email protected]>
Authored: Mon Jul 28 09:42:56 2014 -0400
Committer: Andrew Phillips <[email protected]>
Committed: Mon Jul 28 12:24:21 2014 -0400

----------------------------------------------------------------------
 .../org/jclouds/s3/xml/CopyObjectHandler.java   |  2 +-
 .../jclouds/s3/xml/ListAllMyBucketsHandler.java |  2 +-
 .../org/jclouds/s3/xml/ListBucketHandler.java   |  2 +-
 .../jclouds/s3/xml/CopyObjectHandlerTest.java   |  6 ++--
 .../jclouds/s3/xml/ListBucketHandlerTest.java   |  6 ++--
 .../main/java/org/jclouds/date/DateService.java |  2 +-
 .../internal/SimpleDateFormatDateService.java   | 28 +++++++++---------
 .../java/org/jclouds/date/DateServiceTest.java  | 17 +++++++----
 .../org/jclouds/date/joda/JodaDateService.java  | 30 ++++++++++----------
 9 files changed, 51 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/229fdd70/apis/s3/src/main/java/org/jclouds/s3/xml/CopyObjectHandler.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/xml/CopyObjectHandler.java 
b/apis/s3/src/main/java/org/jclouds/s3/xml/CopyObjectHandler.java
index c9bcf31..02e4c86 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/xml/CopyObjectHandler.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/xml/CopyObjectHandler.java
@@ -53,7 +53,7 @@ public class CopyObjectHandler extends 
ParseSax.HandlerWithResult<ObjectMetadata
          this.currentETag = currentOrNull(currentText);
       } else if (qName.equals("LastModified")) {
          this.currentLastModified = dateParser
-             .iso8601DateParseWithOptionalTZ(currentOrNull(currentText));
+             .iso8601DateOrSecondsDateParse(currentOrNull(currentText));
       } else if (qName.equals("CopyObjectResult")) {
          metadata = new CopyObjectResult(currentLastModified, currentETag);
       }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/229fdd70/apis/s3/src/main/java/org/jclouds/s3/xml/ListAllMyBucketsHandler.java
----------------------------------------------------------------------
diff --git 
a/apis/s3/src/main/java/org/jclouds/s3/xml/ListAllMyBucketsHandler.java 
b/apis/s3/src/main/java/org/jclouds/s3/xml/ListAllMyBucketsHandler.java
index bc65dbd..38baa6e 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/xml/ListAllMyBucketsHandler.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/xml/ListAllMyBucketsHandler.java
@@ -70,7 +70,7 @@ public class ListAllMyBucketsHandler extends 
ParseSax.HandlerWithResult<Set<Buck
          currentName = currentOrNull(currentText);
       } else if (qName.equals("CreationDate")) {
          currentCreationDate = dateParser
-               .iso8601DateParseWithOptionalTZ(currentOrNull(currentText));
+               .iso8601DateOrSecondsDateParse(currentOrNull(currentText));
       }
       currentText = new StringBuilder();
    }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/229fdd70/apis/s3/src/main/java/org/jclouds/s3/xml/ListBucketHandler.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/xml/ListBucketHandler.java 
b/apis/s3/src/main/java/org/jclouds/s3/xml/ListBucketHandler.java
index feadc42..d50ada2 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/xml/ListBucketHandler.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/xml/ListBucketHandler.java
@@ -98,7 +98,7 @@ public class ListBucketHandler extends 
ParseSax.HandlerWithResult<ListBucketResp
          
builder.uri(uriBuilder(getRequest().getEndpoint()).clearQuery().appendPath(currentKey).build());
       } else if (qName.equals("LastModified")) {
          builder.lastModified(dateParser
-               .iso8601DateParseWithOptionalTZ(currentOrNull(currentText)));
+               .iso8601DateOrSecondsDateParse(currentOrNull(currentText)));
       } else if (qName.equals("ETag")) {
          String currentETag = currentOrNull(currentText);
          builder.eTag(currentETag);

http://git-wip-us.apache.org/repos/asf/jclouds/blob/229fdd70/apis/s3/src/test/java/org/jclouds/s3/xml/CopyObjectHandlerTest.java
----------------------------------------------------------------------
diff --git 
a/apis/s3/src/test/java/org/jclouds/s3/xml/CopyObjectHandlerTest.java 
b/apis/s3/src/test/java/org/jclouds/s3/xml/CopyObjectHandlerTest.java
index 9899ffa..8cd5092 100644
--- a/apis/s3/src/test/java/org/jclouds/s3/xml/CopyObjectHandlerTest.java
+++ b/apis/s3/src/test/java/org/jclouds/s3/xml/CopyObjectHandlerTest.java
@@ -40,7 +40,7 @@ public class CopyObjectHandlerTest extends BaseHandlerTest {
 
    private DateService dateService;
 
-   private final String copyObjectXML = "<CopyObjectResult 
xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\";><LastModified>2014-07-23T20:53:17+0000</LastModified><ETag>\"92836a3ea45a6984d1b4d23a747d46bb\"</ETag></CopyObjectResult>";
+   private final String copyObjectResultWithSecondsDate = "<CopyObjectResult 
xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\";><LastModified>2014-07-23T20:53:17+0000</LastModified><ETag>\"92836a3ea45a6984d1b4d23a747d46bb\"</ETag></CopyObjectResult>";
 
    @BeforeTest
    @Override
@@ -66,8 +66,8 @@ public class CopyObjectHandlerTest extends BaseHandlerTest {
     * Verifies that the parser doesn't barf if the timestamp in the copy object
     * xml has time zone designators.
     */
-   public void testTimeStampWithTZ() {
-      InputStream is = Strings2.toInputStream(copyObjectXML);
+   public void testApplyInputStreamWithSecondsDate() {
+      InputStream is = Strings2.toInputStream(copyObjectResultWithSecondsDate);
       ObjectMetadata expected = new CopyObjectResult(
             new SimpleDateFormatDateService()
                   .iso8601SecondsDateParse("2014-07-23T20:53:17+0000"),

http://git-wip-us.apache.org/repos/asf/jclouds/blob/229fdd70/apis/s3/src/test/java/org/jclouds/s3/xml/ListBucketHandlerTest.java
----------------------------------------------------------------------
diff --git 
a/apis/s3/src/test/java/org/jclouds/s3/xml/ListBucketHandlerTest.java 
b/apis/s3/src/test/java/org/jclouds/s3/xml/ListBucketHandlerTest.java
index 7b77e28..231d397 100644
--- a/apis/s3/src/test/java/org/jclouds/s3/xml/ListBucketHandlerTest.java
+++ b/apis/s3/src/test/java/org/jclouds/s3/xml/ListBucketHandlerTest.java
@@ -49,7 +49,7 @@ import com.google.common.collect.ImmutableList;
 @Test(groups = "unit", testName = "ListBucketHandlerTest")
 public class ListBucketHandlerTest extends BaseHandlerTest {
    public static final String listBucketWithPrefixAppsSlash = 
"<ListBucketResult 
xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\";><Name>adriancole.org.jclouds.s3.amazons3testdelimiter</Name><Prefix>apps/</Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated><Contents><Key>apps/0</Key><LastModified>2009-05-07T18:27:08.000Z</LastModified><ETag>&quot;c82e6a0025c31c5de5947fda62ac51ab&quot;</ETag><Size>8</Size><Owner><ID>e1a5f66a480ca99a4fdfe8e318c3020446c9989d7004e7778029fbcc5d990fa0</ID><DisplayName>ferncam</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>apps/1</Key><LastModified>2009-05-07T18:27:09.000Z</LastModified><ETag>&quot;944fab2c5a9a6bacf07db5e688310d7a&quot;</ETag><Size>8</Size><Owner><ID>e1a5f66a480ca99a4fdfe8e318c3020446c9989d7004e7778029fbcc5d990fa0</ID><DisplayName>ferncam</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>apps/2</Key><LastModified>2009-05-07T18:27:09.000Z</Las
 
tModified><ETag>&quot;a227b8888045c8fd159fb495214000f0&quot;</ETag><Size>8</Size><Owner><ID>e1a5f66a480ca99a4fdfe8e318c3020446c9989d7004e7778029fbcc5d990fa0</ID><DisplayName>ferncam</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>apps/3</Key><LastModified>2009-05-07T18:27:09.000Z</LastModified><ETag>&quot;c9caa76c3dec53e2a192608ce73eef03&quot;</ETag><Size>8</Size><Owner><ID>e1a5f66a480ca99a4fdfe8e318c3020446c9989d7004e7778029fbcc5d990fa0</ID><DisplayName>ferncam</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>apps/4</Key><LastModified>2009-05-07T18:27:09.000Z</LastModified><ETag>&quot;1ce5d0dcc6154a647ea90c7bdf82a224&quot;</ETag><Size>8</Size><Owner><ID>e1a5f66a480ca99a4fdfe8e318c3020446c9989d7004e7778029fbcc5d990fa0</ID><DisplayName>ferncam</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>apps/5</Key><LastModified>2009-05-07T18:27:09.000Z</LastModified><ETag>&quot;79433524d874
 
62ee05708a8ef894ed55&quot;</ETag><Size>8</Size><Owner><ID>e1a5f66a480ca99a4fdfe8e318c3020446c9989d7004e7778029fbcc5d990fa0</ID><DisplayName>ferncam</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>apps/6</Key><LastModified>2009-05-07T18:27:10.000Z</LastModified><ETag>&quot;dd00a060b28ddca8bc5a21a49e306f67&quot;</ETag><Size>8</Size><Owner><ID>e1a5f66a480ca99a4fdfe8e318c3020446c9989d7004e7778029fbcc5d990fa0</ID><DisplayName>ferncam</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>apps/7</Key><LastModified>2009-05-07T18:27:10.000Z</LastModified><ETag>&quot;8cd06eca6e819a927b07a285d750b100&quot;</ETag><Size>8</Size><Owner><ID>e1a5f66a480ca99a4fdfe8e318c3020446c9989d7004e7778029fbcc5d990fa0</ID><DisplayName>ferncam</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>apps/8</Key><LastModified>2009-05-07T18:27:10.000Z</LastModified><ETag>&quot;174495094d0633b92cbe46603eee6bad&quot;</ETag><
 
Size>8</Size><Owner><ID>e1a5f66a480ca99a4fdfe8e318c3020446c9989d7004e7778029fbcc5d990fa0</ID><DisplayName>ferncam</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>apps/9</Key><LastModified>2009-05-07T18:27:10.000Z</LastModified><ETag>&quot;cd8a19b26fea8a827276df0ad11c580d&quot;</ETag><Size>8</Size><Owner><ID>e1a5f66a480ca99a4fdfe8e318c3020446c9989d7004e7778029fbcc5d990fa0</ID><DisplayName>ferncam</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>";
-   public static final String listBucketWithTSTimeZone = "<ListBucketResult 
xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\";><Name>adriancole.org.jclouds.s3.amazons3testdelimiter</Name><Prefix>apps/</Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated><Contents><Key>apps/9</Key><LastModified>2014-07-23T20:53:17+0000</LastModified><ETag>&quot;cd8a19b26fea8a827276df0ad11c580d&quot;</ETag><Size>8</Size><Owner><ID>e1a5f66a480ca99a4fdfe8e318c3020446c9989d7004e7778029fbcc5d990fa0</ID><DisplayName>ferncam</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>";
+   public static final String listBucketWithSecondsDate = "<ListBucketResult 
xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\";><Name>adriancole.org.jclouds.s3.amazons3testdelimiter</Name><Prefix>apps/</Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated><Contents><Key>apps/9</Key><LastModified>2014-07-23T20:53:17+0000</LastModified><ETag>&quot;cd8a19b26fea8a827276df0ad11c580d&quot;</ETag><Size>8</Size><Owner><ID>e1a5f66a480ca99a4fdfe8e318c3020446c9989d7004e7778029fbcc5d990fa0</ID><DisplayName>ferncam</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>";
    public static final String listBucketWithSlashDelimiterAndCommonPrefixApps 
= "<ListBucketResult xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\";> 
<Delimiter>/</Delimiter> 
<CommonPrefixes><Prefix>apps/</Prefix></CommonPrefixes></ListBucketResult>";
    private DateService dateService = new SimpleDateFormatDateService();
 
@@ -141,9 +141,9 @@ public class ListBucketHandlerTest extends BaseHandlerTest {
     * list bucket response has time zone designators in it.
     */
    @Test
-   public void testListMyBucketsWithTZ() {
+   public void testListMyBucketsWithSecondsDate() {
       ListBucketResponse bucket = createParser().parse(
-            Strings2.toInputStream(listBucketWithTSTimeZone));
+            Strings2.toInputStream(listBucketWithSecondsDate));
       ObjectMetadata expected = new CopyObjectResult(
             new SimpleDateFormatDateService()
                   .iso8601SecondsDateParse("2014-07-23T20:53:17+0000"),

http://git-wip-us.apache.org/repos/asf/jclouds/blob/229fdd70/core/src/main/java/org/jclouds/date/DateService.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/date/DateService.java 
b/core/src/main/java/org/jclouds/date/DateService.java
index 7d5b3bd..a03a7a6 100644
--- a/core/src/main/java/org/jclouds/date/DateService.java
+++ b/core/src/main/java/org/jclouds/date/DateService.java
@@ -88,7 +88,7 @@ public interface DateService {
     * @return the Date object of the parsed string.
     * @throws IllegalArgumentException
     */
-   Date iso8601DateParseWithOptionalTZ(String toParse)
+   Date iso8601DateOrSecondsDateParse(String toParse)
          throws IllegalArgumentException;
 
    String rfc1123DateFormat(Date date);

http://git-wip-us.apache.org/repos/asf/jclouds/blob/229fdd70/core/src/main/java/org/jclouds/date/internal/SimpleDateFormatDateService.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/jclouds/date/internal/SimpleDateFormatDateService.java 
b/core/src/main/java/org/jclouds/date/internal/SimpleDateFormatDateService.java
index e3ce913..b4e141f 100644
--- 
a/core/src/main/java/org/jclouds/date/internal/SimpleDateFormatDateService.java
+++ 
b/core/src/main/java/org/jclouds/date/internal/SimpleDateFormatDateService.java
@@ -173,6 +173,20 @@ public class SimpleDateFormatDateService implements 
DateService {
    }
 
    @Override
+   public Date iso8601DateOrSecondsDateParse(String toParse)
+         throws IllegalArgumentException {
+      try {
+         return iso8601DateParse(toParse);
+      } catch (IllegalArgumentException orig) {
+         try {
+            return iso8601SecondsDateParse(toParse);
+         } catch (IllegalArgumentException ignored) {
+            throw orig;
+         }
+      }
+   }
+
+   @Override
    public String iso8601SecondsDateFormat(Date date) {
       synchronized (iso8601SecondsSimpleDateFormat) {
          String parsed = iso8601SecondsSimpleDateFormat.format(date);
@@ -206,18 +220,4 @@ public class SimpleDateFormatDateService implements 
DateService {
          }
       }
    }
-
-   @Override
-   public Date iso8601DateParseWithOptionalTZ(String toParse)
-         throws IllegalArgumentException {
-      try {
-         return iso8601DateParse(toParse);
-      } catch (IllegalArgumentException orig) {
-         try {
-            return iso8601SecondsDateParse(toParse);
-         } catch (IllegalArgumentException ie) {
-            throw orig;
-         }
-      }
-   }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/229fdd70/core/src/test/java/org/jclouds/date/DateServiceTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/jclouds/date/DateServiceTest.java 
b/core/src/test/java/org/jclouds/date/DateServiceTest.java
index e8c61a3..e450784 100644
--- a/core/src/test/java/org/jclouds/date/DateServiceTest.java
+++ b/core/src/test/java/org/jclouds/date/DateServiceTest.java
@@ -110,12 +110,19 @@ public class DateServiceTest extends PerformanceTest {
    }
 
    @Test
-   public void testIso8601OptionalTZDateParse() {
+   public void testIso8601DateOrSecondsDateParse() {
       Date dsDate = dateService
-            
.iso8601DateParseWithOptionalTZ(testData[0].iso8601SecondsDateString);
-      Date secondsDate = dateService
-            .iso8601SecondsDateParse(testData[0].iso8601SecondsDateString);
-      assertEquals(dsDate, secondsDate);
+            .iso8601DateOrSecondsDateParse(testData[0].iso8601DateString);
+      assertEquals(dsDate, testData[0].date);
+
+      Date dsSecondsDate = dateService
+            
.iso8601DateOrSecondsDateParse(testData[0].iso8601SecondsDateString);
+      assertEquals(dsSecondsDate, testData[0].date);
+   }
+
+   @Test(expectedExceptions = IllegalArgumentException.class)
+   public void testIso8601DateOrSecondsDateParseIllegal() {
+      dateService.iso8601DateOrSecondsDateParse("-1");
    }
 
    @Test

http://git-wip-us.apache.org/repos/asf/jclouds/blob/229fdd70/drivers/joda/src/main/java/org/jclouds/date/joda/JodaDateService.java
----------------------------------------------------------------------
diff --git 
a/drivers/joda/src/main/java/org/jclouds/date/joda/JodaDateService.java 
b/drivers/joda/src/main/java/org/jclouds/date/joda/JodaDateService.java
index 7bb1519..5e34424 100644
--- a/drivers/joda/src/main/java/org/jclouds/date/joda/JodaDateService.java
+++ b/drivers/joda/src/main/java/org/jclouds/date/joda/JodaDateService.java
@@ -131,7 +131,21 @@ public class JodaDateService implements DateService {
       toParse = adjustTz(toParse);
       return iso8601SecondsDateFormatter.parseDateTime(toParse).toDate();
    }
-   
+
+   @Override
+   public Date iso8601DateOrSecondsDateParse(String toParse)
+         throws IllegalArgumentException {
+      try {
+         return iso8601DateParse(toParse);
+      } catch (IllegalArgumentException orig) {
+         try {
+            return iso8601SecondsDateParse(toParse);
+         } catch (IllegalArgumentException ignored) {
+            throw orig;
+         }
+      }
+   }
+
    @Override
    public final String rfc1123DateFormat(Date dateTime) {
       return rfc1123DateFormat.print(new DateTime(dateTime));
@@ -146,18 +160,4 @@ public class JodaDateService implements DateService {
    public final Date rfc1123DateParse(String toParse) {
       return rfc1123DateFormat.parseDateTime(toParse).toDate();
    }
-
-   @Override
-   public Date iso8601DateParseWithOptionalTZ(String toParse)
-         throws IllegalArgumentException {
-      try {
-         return iso8601DateParse(toParse);
-      } catch (IllegalArgumentException orig) {
-         try {
-            return iso8601SecondsDateParse(toParse);
-         } catch (IllegalArgumentException ie) {
-            throw orig;
-         }
-      }
-   }
 }

Reply via email to