Commit Graph

949 Commits

Author SHA1 Message Date
Adrian Cole f1819fe8b9 decorating cacheloader only used in s3 2013-01-12 15:47:51 -08:00
Adrian Cole 45bb35971e replaced usage of checkNotEmpty with checkNotNull(emptyToNull 2013-01-12 15:20:11 -08:00
Adrian Cole d57197c103 cleaned up code references detected as unnecessary by UEC plugin 2013-01-12 12:31:00 -08:00
adriancole f8f99b41b1 verify http://code.google.com/p/jclouds/issues/detail?id=406 2013-01-11 10:08:12 -08:00
adriancole 3701e27e86 fix issue #1149: subnet id for spot instances 2013-01-10 13:51:05 -08:00
adriancole 9d75aa353d refactored ec2 tests so that they can be used in aws-ec2 2013-01-10 13:38:58 -08:00
adriancole 992e9ebbcf change cacheloader that can return nulls to return optional so to avoid cacheload exceptions 2013-01-10 13:20:27 -08:00
Adrian Cole 47c215c63c removed custom guava code for scoped binding and type params 2013-01-08 22:48:10 -08:00
Adrian Cole 2480481835 dependent changes on tests and internal classes 2013-01-08 00:32:45 -08:00
Adrian Cole 3089111621 refactored internal code and tests to use FunctionalReflection 2013-01-07 00:36:31 -08:00
Adrian Cole 74c633f90a moved all providers and test cases from j.l.r.Method -> Invokable 2013-01-05 18:51:38 -08:00
Adrian Cole 36123a6068 deterministic creation of requests based on arg order 2013-01-04 12:44:26 -08:00
Adrian Cole a17e8e25d7 removed need to support multiple @EndpointParam annotations 2013-01-04 11:31:06 -08:00
Adrian Cole 8121444f04 removed deprecated cloudwatch method 2013-01-03 16:13:27 -08:00
Adrian Cole 75c54e5595 fixed missing m3.m3_2xlarge 2013-01-02 06:53:33 -08:00
Adrian Cole aaf41575d8 missing timeout on describeinstances 2013-01-01 22:16:47 -08:00
Adrian Cole b582d4a4a8 added recent aws instance types 2013-01-01 22:15:59 -08:00
Adrian Cole 4874f1c3c6 updated to latest aws linux ami 2013-01-01 22:14:46 -08:00
Adrian Cole bd4f5cfba2 moved off deprecated TagClient -> TagApi; refactored tagging to occur at end of run 2013-01-01 19:19:33 -08:00
Adrian Cole 6e554298ab ensure extra metadata from provider doesn't trip metadata tests 2013-01-01 17:18:55 -08:00
Adrian Cole 42c7037a59 removed unused code or duplicated code; moved code only used once to where its used 2013-01-01 00:08:34 -08:00
Adrian Cole e1afa8c516 transitioned from FindResourceInSet to FluentIterable 2012-12-31 22:11:34 -08:00
Adrian Cole 9745e9dc2f fixed covariance and warnings on ApiMetadata subclasses 2012-12-31 19:40:49 -08:00
Adrian Cole c39503b682 TimeoutException is controllable via upping timeout properties; don't add more retry loops and stacktraces 2012-12-31 17:09:27 -08:00
Adrian Cole bb953c981e fix issue #1101: Move to Guava 14 BaseEncoding and Hashing 2012-12-31 14:48:31 -08:00
Adrian Cole cddd35bc51 removed unnecessary generic types and made RestAnnotationProcessor immutable 2012-12-30 23:18:59 -08:00
Adrian Cole 038e550d2d moved off deprecated FluentIterable methods 2012-12-30 13:20:09 -08:00
Adrian Cole 13d8b9c402 replaced @Timeout w/explicit properties 2012-12-30 12:31:43 -08:00
Adrian Cole 57fdd34287 Merge pull request #1116 from jclouds/remove-rimuhosting
issue #1098: remove rimuhosting
2012-12-29 17:42:00 -08:00
Adrian Cole 7132683cf6 issue #1108: remove eucalyptus and related providers 2012-12-29 12:39:24 -08:00
Adrian Cole a00a3dab92 Merge pull request #1112 from jclouds/remove-walrus
issue #1107: remove walrus and related providers
2012-12-29 12:30:24 -08:00
Adrian Cole 87cfd1f813 issue #1098: remove rimuhosting 2012-12-29 12:03:53 -08:00
Adrian Cole 69ba260738 issue #1107: remove walrus and related providers 2012-12-29 12:00:49 -08:00
Everett Toews 793764e4f0 Deleted slicehost project. Use rackspace-cloudservers-us/uk instead. 2012-12-29 13:32:42 -06:00
Adrian Cole 80129a4817 Merge pull request #1103 from DaanHoogland/master
new seperate pull request for inherited interface
2012-12-28 10:42:19 -08:00
Adrian Cole ba156b7552 Merge pull request #1100 from andrewgaul/close-payload
Close Payload directly
2012-12-27 18:26:05 -08:00
Andrew Gaul 614e262ce0 Close Payload directly 2012-12-27 17:35:25 -08:00
Adrian Cole 9b1872c6ff removed custom code that duplicates functionality of guava fallbacks 2012-12-27 16:54:31 -08:00
Daan Hoogland 9c307d7e4c interface inherited from baseclass 2012-12-27 19:31:03 +01:00
Adrian Cole 20c3426fc8 replaced jersey w/Uris & UriTemplates; removed complexity in url encoding and edge cases like matrix params 2012-12-24 14:32:59 -08:00
Everett Toews 976b6ef4a0 Guava toString, hashCode, and equals for domain objects. Removed unnecessary Objects. 2012-12-24 12:38:38 -06:00
Adrian Cole 847b1c7352 Merge pull request #1090 from jclouds/no-matrix
removed explicit matrix param support as their use is edge case in rest
2012-12-23 09:28:45 -08:00
Adrian Cole 3be1089538 removed explicit matrix param support as their use is edge case in rest 2012-12-22 17:45:31 -08:00
Adrian Cole 98a36eb3f6 added named annotations corresponding to IAM actions 2012-12-21 12:15:21 -08:00
Carl Pulley 3b873e2eca Update for ServerLove images 2012-12-20 08:33:55 +00:00
Everett Toews 01acb56df1 Renamed internal ID from cloudloadbalancers to rackspace-cloudloadbalancers. 2012-12-13 11:36:04 -06:00
Adrian Cole f071128f5a Merge pull request #1060 from rackspace/clb-modernize
Modernizing the Rackspace Cloud Load Balancers API.
2012-12-10 16:47:47 -08:00
Everett Toews 0b0373c91f Modernizing the Rackspace Cloud Load Balancers API. Following naming conventions and using PagedIterable. 2012-12-10 12:15:38 -06:00
petergardfjall c1dd2b479d fixed review comments 2012-12-10 13:56:21 +01:00
Adrian Cole abd2fe19b7 Merge pull request #1041 from rackspace/clb-rename
Renamed cloudloadbalancers to rackspace-cloudloadbalancers.
2012-12-06 14:50:20 -08:00
Everett Toews 29fc4b855f Renamed cloudloadbalancers to rackspace-cloudloadbalancers. 2012-12-06 14:42:48 -06:00
Adrian Cole 6d6b53a5e0 fix issue #1040: tenant can be null 2012-12-06 11:15:01 -08:00
Adrian Cole 0b7e67e8e3 Merge pull request #1039 from petergardfjall/master
Brings glesys jclouds provider up to speed with latest GleSYS API version. Fix for https://github.com/jclouds/jclouds/issues/1035
2012-12-06 09:37:43 -08:00
petergardfjall 7a9b0bae13 Fix for issue #1035: glesys provider appears to be incompatible with current glesys API version 2012-12-06 08:59:59 +01:00
Everett Toews 1f1050777c Bringing Rackspace Cloud Load Balancers back to working condition. Fixed auth, zones, tests, bugs, logging, and dependencies. 2012-12-05 19:10:06 -06:00
Adrian Cole e66219c16e normalized to CryptoStreams 2012-11-30 17:33:53 -08:00
Jon Mort cd0af4a1ea Serverlove api version should be 2.0
Server love has updated the ElasticStack api to 2.0. 
This needs to be reflected in the medatdata otherwise api calls 
use vnc:ip=auto instead of vnc=auto
2012-11-28 10:33:01 +00:00
Andrei Savu 9a085e51a0 Issue 773. Support S3 Multi-Object Delete (API) 2012-11-26 16:11:55 +02:00
Adrian Cole 878ec1bcab undid Serializable and added checkstyle InterfaceIsType:allowMarkerInterfaces=false 2012-11-18 09:23:44 -08:00
Andrew Gaul b9e4543cdb Enforce no use of star imports via Checkstyle 2012-11-13 20:51:59 -08:00
Everett Toews c6aabb1a31 Moved openstack-cinder and rackspace-cloudblockstorage-us/uk out of labs.
Updated pom.xml files for the move.
2012-11-13 18:48:30 -06:00
Adrian Cole db786f3b20 Issue 1123: add new Asia Pacific (Sydney) Region [ap-southeast-2] 2012-11-13 08:46:01 -08:00
Adrian Cole 5ebc72efd4 updated aws template test 2012-11-13 08:43:20 -08:00
Adrian Cole 55c3f587f4 Issue 1110: replace TagClient with TagApi in aws-ec2 2012-11-12 18:30:30 -08:00
Andrew Gaul d7380114a6 Enforce use of Atomics.newReference via Checkstyle
Avoids duplicating types.
2012-11-12 11:56:48 -08:00
Andrew Gaul 03c287dfa1 Simplify regular expression replacement 2012-11-11 19:30:32 -08:00
Andrew Gaul 3ad36d25d5 Enforce no unnecessary parentheses via Checkstyle 2012-11-10 13:22:12 -08:00
Jeremy Daggett 2323b51cf0 Converted snake case in parameters 2012-11-10 06:59:23 -08:00
Jeremy Daggett e1ab195056 Added CDNSslUri to CDNContainer class, updated json and unit tests 2012-11-09 14:24:55 -08:00
Andrew Gaul 3d191253ec Enforce use of Collection helpers via Checkstyle
This ensures that we do not repeat the type name.  Some instances remain
due to auto-generated code in dmtf/cim/Cim*.
2012-11-04 20:45:49 -08:00
Adrian Cole 55025c0764 Merge pull request #954 from andrewgaul/specific-asserts
Prefer specific asserts where possible
2012-11-04 17:24:47 -08:00
Adrian Cole f1333801dd Merge pull request #953 from aledsage/Setting-RunScriptOnNode.Factory
Setting RunScriptOnNode.factory
2012-11-04 17:12:18 -08:00
Adrian Cole f4333157b9 make tests that decode credentials use valid base64 encoded strings 2012-11-04 15:37:49 -08:00
Andrew Gaul bfa3458b97 Prefer specific asserts where possible 2012-11-04 14:40:24 -08:00
Aled Sage 43d6155341 Set EC2 windows-template image id for testing
- Identify the windows-template AMI using id rather than name-matching
2012-11-04 22:29:52 +00:00
Adrian Cole 7bc40e7fd5 Merge pull request #949 from andrewgaul/assert-fail
Prefer Assert.fail over assert
2012-11-04 08:45:03 -08:00
Andrew Gaul 0e35b3f623 Implement Comparable in GoGrid ErrorResponse
Gson collects errors in a TreeMap which requires a well-behaved
Comparable method.  This addresses a Java 7 GoGrid failure seen in
GridServerClientExpectTest.testGetServerCredentialsWhenNotFoundThrowsResourceNotFoundExceptionWithNiceMessage:

java.lang.ClassCastException: org.jclouds.gogrid.domain.internal.ErrorResponse cannot be cast to java.lang.Comparable
2012-11-03 17:08:43 -07:00
Andrew Gaul 0761874578 Prefer Assert.fail over assert
The former cannot be disabled.
2012-11-03 14:51:52 -07:00
Andrew Gaul 08b9982384 Enforce modifier order via Checkstyle
Also fix violations, via:

find -name \*.java | xargs sed -i 's/final static/static final/'
find -name \*.java | xargs sed -i 's/static private/private static/'
find -name \*.java | xargs sed -i 's/static abstract/abstract static/'
2012-11-01 20:01:30 -07:00
Andrew Gaul 35ce78f15a Correct typos 2012-11-01 13:25:44 -07:00
Andrew Gaul 93d69ece2b Enforce newline at end of file via Checkstyle
Also address all warnings, via:

find -name \*.java | while read i; do if [ x`tail -c 1 $i` != x"" ]; then echo >> $i; fi; done
2012-10-29 22:12:44 -07:00
Andrew Gaul 709ca69a2d Enforce that all imports are used via Checkstyle
Also remove all unused imports, via:

mvn checkstyle:checkstyle -Dcheckstyle.output.file=/dev/stdout -Dcheckstyle.output.format=plain | tac | awk -v FS=: '/warning/{print "sed -i " $2 "d " $1}' | while read i; do $i; done
2012-10-29 17:11:08 -07:00
Adrian Cole 3a00a2c389 Merge pull request #924 from andrewgaul/copyright-notice
Address minor copyright notice typos
2012-10-29 16:50:01 -07:00
Adrian Cole afa3018dd0 Merge pull request #918 from andrewgaul/hpcloud-clearcontainer
Work around failed CDN metadata lookups with HPCS
2012-10-29 16:48:04 -07:00
Andrew Gaul 3c7b9652f4 Work around failed CDN metadata lookups with HPCS
Previously BlobStore.list and thus BlobStore.clearContainer serialized
on synchronous and failed CDN lookups.  This effectively prevents
clearing any large container.  We cache a negative entry to work
around this.  When HP improves their CDN support we should remove this
workaround.
2012-10-29 15:31:03 -07:00
Aled Sage 09425f4f69 Version upgrades
- gson from 2.2 to 2.2.2
- guava from 13.0 to 13.0.1
- rocoto from 6.1 to 6.2
- log4j from 1.2.16 to 1.2.17
- log back from 1.0.0 to 1.0.7
- httpclient from 4.1.3 to 4.2.2
- netty from 3.3.1 to 3.5.9
- slf4j from 1.6.4 to 1.7.2
- testing from various to 6.8
- jetty from 8.1.1 to 8.1.7
- snakeyaml from 1.10 to 1.11
2012-10-29 13:00:44 +00:00
Andrew Gaul e7dde3aff5 Address minor copyright notice typos 2012-10-28 23:27:56 -07:00
Andrew Gaul caccd9cf4c Prefer Files.copy to copy streams 2012-10-24 17:44:05 -07:00
Andrew Gaul bd3ed72396 Fix bad indent 2012-10-23 11:33:38 -07:00
Andrew Gaul 28d7a6f143 Prefer immutable over empty collections
The former does not create an object when calling iterator(), as
discussed here:

https://groups.google.com/d/msg/jclouds-dev/l7BviKDXreA/mP6Ow_RYxIgJ
2012-10-20 15:35:29 -07:00
Andrew Gaul 2b5173f617 Remove X-Auth-Token from HP temporary signing
HP Cloud does not use X-Auth-Token for temporary signed URLs and
leaking this allows clients arbitrary privileges until token timeout.
2012-10-15 11:58:49 -07:00
Andrew Gaul a5c56e7aa7 Support HP Cloud temporary signed URL
HP modified the Swift signing mechanism to include the tenant id.
Note that this functionality requires using API access key
credentials.  Live tests need some sorting out since we only support
password credential tests today.
2012-10-10 16:20:31 -07:00
Adrian Cole ffa9cd3bb0 corrected guice bindings for swift-based blob signatures and backfilled expect tests 2012-10-10 12:03:23 +02:00
Adrian Cole a02c79c7f4 Merge pull request #887 from andreisavu/issue-973
Issue 973. Performance problems with Synaptic's Atmos service
2012-10-08 12:50:42 -07:00
Adrian Cole 14ad17108f Issue 671: NPE on aws-ec2 w/vpc security groups 2012-10-08 15:39:51 -04:00
Andrei Savu 03dc864115 Issue 973. Performance problems with Synaptic's Atmos service and writing new blobs 2012-10-08 16:26:40 +03:00
Andrew Gaul 9024c77405 Improve use of Charsets 2012-10-07 22:31:49 -07:00
Andrew Gaul 8a0900d6ca Prefer fail over assertTrue(false) where possible 2012-10-06 19:25:54 -07:00
Adrian Cole 049106afbf Merge pull request #877 from andrewgaul/hpcloud-credentials
Clarify the HP Cloud credential type
2012-10-04 16:46:28 -07:00
Andrew Gaul c1b65e28d4 Clarify the HP Cloud credential type
While users can override this by setting
KeystoneProperties.CREDENTIAL_TYPE to
CredentialTypes.API_ACCESS_KEY_CREDENTIALS, unit tests expect
CredentialTypes.PASSWORD_CREDENTIALS.
2012-10-04 16:37:12 -07:00
Adrian Cole 298856bab0 Merge pull request #876 from andrewgaul/log4j-line-wrapping
Fix confusing line wrapping
2012-10-04 16:36:04 -07:00
Andrew Gaul 222bddb5fa Fix confusing line wrapping 2012-10-04 16:07:48 -07:00
Andrew Gaul ceb203c10a Improve use of InputSupplier helpers 2012-10-02 18:18:51 -07:00
Adrian Cole 4bc0ffbdd7 corrected api metadata and backfilled expect tests for hpcloud rackspace and trystack nova implementations 2012-09-29 18:41:29 -07:00
Adrian Cole a77a80f030 Issue 1092: fix hostname when path-based buckets are used in non-default location 2012-09-25 21:22:17 -07:00
Everett Toews ffc0d681d5 Increased container count for cloudfiles tests. 2012-09-20 02:32:21 +00:00
Adrian Cole 28d766b9df bumped to 1.6.0-SNAPSHOT 2012-09-17 01:43:52 -07:00
Adrian Cole 5860d2500b fixed pom typo in sqs 2012-09-17 00:06:35 -07:00
Adrian Cole 3d2504e1e4 updated cloudsigma tests 2012-09-16 23:40:10 -07:00
Adrian Cole 54ec689019 stable openstack 2012-09-16 22:38:22 -07:00
Adrian Cole d766f8d4e3 stable ec2 2012-09-16 22:37:13 -07:00
Adrian Cole 696f24280a glesys now a provider 2012-09-16 21:31:12 -07:00
Adrian Cole 6f5ebf3e90 Issue 1085:deprecate getRegion from EC2 domain objects 2012-09-16 12:55:48 -07:00
Adrian Cole b5f60f1e70 pagination and consistency cleanup on openstack 2012-09-16 00:19:30 -07:00
Adrian Cole b951276ec3 cleaned up aws apis 2012-09-15 23:47:44 -07:00
Adrian Cole 0b31622267 cleaned ec2 instance type 2012-09-15 14:05:24 -07:00
Adrian Cole c7cb9951a8 moved sqs/aws-sqs live 2012-09-14 18:15:50 -07:00
Adrian Cole 27fea13a61 Merge pull request #829 from andreisavu/tempurl
Add support for Swift TempURL Middleware
2012-09-11 14:02:17 -07:00
Adrian Cole 499e47c5b4 fixes to some softlayer tests 2012-09-10 08:04:42 -07:00
Andrei Savu 49bde19fa0 Add support for Swift TempURL Middleware 2012-09-10 13:45:55 +03:00
Adrian Cole b558015515 increased container count for cloudfiles-us tests 2012-09-09 15:37:36 -07:00
Everett Toews 73746588f4 Moved HP Storage Container Metadata parsing to Swift since it's a standard Swift feature.
Moved HP Storage createContainer(String, CreateContainerOptions) to CommonSwiftClient since it's a standard Swift feature.
Added support for setting Swift Container Metadata.
Added support for deleting Swift Container Metadata.
Added copy object feature to Swift.
Removed unnecessary TODO comment.
Changed DeleteContainerMetadataOptions to just be a List.
Changed CopyObjectOptions to be just be a String. Changed CommonSwiftClient.setContainerMetadata() to use just a Map for metadata. Added ExpectTests.
Changed setContainerMetadata() to use Iterable instead of List for more generic type goodness. Changed copyObject() to use 4 String params instead of 2 String params to be similar to other such methods in jclouds.
2012-09-08 15:02:01 -05:00
Adrian Cole 0d805574ed Issue 1070:TemplateBuilderSpec with loginUser=user:password doesn't use that for login credentials 2012-08-22 12:05:33 -07:00
Adrian Cole 0cbef26eae Issue 1070: show that template parsing fails on login user 2012-08-22 10:11:38 -07:00
vijaykiran 7a81769e1c Issue-1051 overrideLoginUser not working 2012-08-03 01:14:09 +02:00
Adrian Cole c6a02a6a57 Issue 1054:add rackspace-cloudservers-uk provider 2012-08-02 09:15:15 -07:00
Adrian Cole bb5927515e Issue 934: templateOptions.tags,userMetadata for vcloud 2012-08-01 16:56:19 -07:00
Adrian Cole d00efae8a7 Issue 1053:add ORD to rackspace-cloudservers-us 2012-08-01 12:40:30 -07:00
Adrian Cole b5558a25e9 test expectations 2012-07-30 12:31:16 -07:00
Adrian Cole 0424274259 Issue 1049:support aws-ec2 cluster compute instances in eu-west-1 2012-07-30 12:31:15 -07:00
Adrian Cole 53fe278f03 added windows password parsing to ec2 2012-07-30 12:31:11 -07:00
Adam Lowe ec74987054 softlayer: issue 971 adjusting builders and applying ConstructorProperties to domain objects 2012-07-30 13:50:01 +01:00
Adam Lowe ed8a1d640f hpcloud-objectstorage: Issue 971 adding builders to domain objects and annotating with ConstructorProperties and Named 2012-07-30 13:50:00 +01:00
Adam Lowe 3e1d9b22e7 gogrid: issue 971 adjusting internal class to use ConstuctorProperties 2012-07-30 13:49:53 +01:00
Adrian Cole 735da0a285 Issue 1037: consolidate keystone endpoints to end with /v2.0/ + change hpcloud to default to user/pass auth 2012-07-29 16:30:20 -07:00
Andrew Gaul 8ed0e28e68 Spelling corrections 2012-07-26 22:39:35 -07:00
Adrian Cole 1b0d6e027a prettier toString on ec2 2012-07-26 10:07:14 -07:00
Adrian Cole 2cca4a9c66 added ec2 live tests for clones 2012-07-26 09:25:11 -07:00
vijaykiran d2d70fd2bf Update API end point for elastichosts 2012-07-25 20:44:15 +02:00
Adrian Cole 5d6e005e8b Issue 1030:defaults not picking up on compute.templateOptions() 2012-07-25 00:33:39 -07:00
Adrian Cole 416a795796 Merge pull request #750 from andrewgaul/predicates2
Introduce Predicates2.startsWith and endsWith
2012-07-24 23:17:41 -07:00
Andrew Gaul 3648863a3c Introduce Predicates2.startsWith and endsWith 2012-07-24 22:21:34 -07:00
vijaykiran de3db2103d issue-1026 Support for aws-ec2 hi1.4x instance 2012-07-25 00:26:21 +02:00
Andrew Gaul 985cccff9a Prefer valueOf over explicit object creation
This allows use of cached values.  Patched with:

find -name \*.java | xargs sed -i 's/new Boolean(false)/Boolean.FALSE/g'
find -name \*.java | xargs sed -i 's/new Boolean(true)/Boolean.TRUE/g'
find -name \*.java | xargs sed -i 's/new Boolean(/Boolean.valueOf(/g'
find -name \*.java | xargs sed -i 's/new Integer(/Integer.valueOf(/g'
find -name \*.java | xargs sed -i 's/new Long(/Long.valueOf(/g'
2012-07-22 21:01:46 -07:00
Andrew Gaul a40983a39d Prefer InputSupplier helpers
These ensure that inputs are closed properly.

Updated with: find -name \*.java | xargs sed -i
's/toStringAndClose(\(.*\)\.getInput())/toString(\1)/'
2012-07-18 17:42:48 -07:00
Andrew Donald Kennedy 4463b52051 Added optional timeout to EC2 listNodes strategy and made awaitCompletion update latch in finally block 2012-07-16 16:58:37 +01:00
Adrian Cole 315d5fb3ef Issue 1011: introducing PagedIterable 2012-07-15 23:34:42 -07:00
Adrian Cole 180265fe49 Issue 1022:Move naming convention to Api from Client or Services:: glesys jenkins openstack-* opsource-servers savvis-symphonyvpdc cloudwatch cloudidentity rackspace-cloudidentity aws-cloudwatch rackspace-cloudservers-us hpcloud-compute rackspace-cloudservers-us trystack-nova 2012-07-15 15:00:42 -07:00
Adrian Cole 05fd64af44 cleaned up http builders and expect tests 2012-07-15 01:50:38 -07:00
Adrian Cole 74b404eab8 Issue 1008:aws-s3 could not get location for region eu-west-1 error 2012-07-07 17:28:44 -07:00