tree fd427c4090520fb523079fbf0a8e3c8dcece38cb
parent c1311f2dc9df6c7b648219aa45609363ae7d359e
parent 7146572620ee213e50ab5623e8fd05402f0c144f
author Adrian Cole <adrian@jclouds.org> 1325475807 -0800
committer Adrian Cole <adrian@jclouds.org> 1325475807 -0800

Merge branch 'master' of github.com:jclouds/jclouds into 1.3.x

* 'master' of github.com:jclouds/jclouds:
  Issue 797: converted many adapters to the new gson streaming method
  Issue 797: moved JsonLiteral out of the gson package hierarchy as it is unnecessarily there
  Issue 797: update to gson 2.1
  Issue 797: gson 2+ defaults numbers to double
  Issue 797: gson 2+ addresses gson issue 325
  Add tests for Virtual CPU attribute in Flavor json
  Refactor Flavor class so that it is immutable
  Add vcpus to the flavor entity.
  Fixed broken test in VirtualBox.
  [issue 795] Fixing a compilation failure in EC2ListNodesStrategy - looks like something happened with generic casts between Java 6 and 7 (see http://stackoverflow.com/questions/8637937/why-does-a-generic-cast-of-a-list-extends-set-to-listset-succeed-on-sun)
  [issue 795] Added a @DataProvider and modified failing tests to selectively run under Java6/7
  [issue 795] De-generified HttpMessage.Builder and HttpRequest.Builder, prevented the "ambiguous method" compile errors caused by GeneratedHttpRequest.builder() and from() (see [issue 461]) and added a convenience requestBuilder() and fromRequest() methods with the former signatures of builder() and from() resp.
  GAE SDK 1.5.5 -> 1.6.1
  fixed problem with creating nova client inside karaf
