You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2014/03/19 00:02:01 UTC

svn commit: r1579082 - in /jclouds/site-content: blog/atom.xml index.html releasenotes/atom.xml start/blobstore/index.html

Author: gaul
Date: Tue Mar 18 23:02:01 2014
New Revision: 1579082

URL: http://svn.apache.org/r1579082
Log:
deploy jclouds site content

Modified:
    jclouds/site-content/blog/atom.xml
    jclouds/site-content/index.html
    jclouds/site-content/releasenotes/atom.xml
    jclouds/site-content/start/blobstore/index.html

Modified: jclouds/site-content/blog/atom.xml
URL: http://svn.apache.org/viewvc/jclouds/site-content/blog/atom.xml?rev=1579082&r1=1579081&r2=1579082&view=diff
==============================================================================
--- jclouds/site-content/blog/atom.xml (original)
+++ jclouds/site-content/blog/atom.xml Tue Mar 18 23:02:01 2014
@@ -4,7 +4,7 @@
   <title><![CDATA[Apache jclouds]]></title>
   <link href="http://jclouds.apache.org/atom.xml" rel="self"/>
   <link href="http://jclouds.apache.org/"/>
-  <updated>2014-03-16T23:52:21+01:00</updated>
+  <updated>2014-03-18T16:01:36-07:00</updated>
   <generator uri="http://jekyllrb.com/">Jekyll</generator>
 
   
@@ -12,7 +12,7 @@
     <id>http://jclouds.apache.org/blog/2014/03/04/jclouds-meetup</id>
     <title type="html"><![CDATA[jclouds Meetup]]></title>
     <link href="http://jclouds.apache.org/blog/2014/03/04/jclouds-meetup"/>
-    <updated>2014-03-04T00:00:00+01:00</updated>
+    <updated>2014-03-04T00:00:00-08:00</updated>
     <content type="html"><![CDATA[<p>Last night we held a jclouds meetup at Cloudera offices in San Francisco. It was a well attended meetup and there were a number of new faces along with our more regular group of attendees. We recorded the whole thing with Google Hangouts on Air and you can get to know everyone in the first 5 minutes!</p>
 
 <iframe width="640" height="360" src="//www.youtube.com/embed/8nuON0zGVJI?rel=0" frameborder="0" allowfullscreen></iframe>
@@ -71,7 +71,7 @@
     <id>http://jclouds.apache.org/blog/2014/03/03/joining-the-asf-new-site-and-jclouds-1-7</id>
     <title type="html"><![CDATA[Joining the ASF, new site, and jclouds 1.7!]]></title>
     <link href="http://jclouds.apache.org/blog/2014/03/03/joining-the-asf-new-site-and-jclouds-1-7"/>
-    <updated>2014-03-03T00:00:00+01:00</updated>
+    <updated>2014-03-03T00:00:00-08:00</updated>
     <content type="html"><![CDATA[<p>It's been a while since our last blog post, and lots has happened since then. There have been many things that have kept us busy, and finally, all the hard work is starting to show up. During this time, we've:</p>
 
 <ul>
@@ -139,7 +139,7 @@
     <id>http://jclouds.apache.org/blog/2013/05/13/jclouds-at-gluecon-2013</id>
     <title type="html"><![CDATA[jclouds at Gluecon 2013]]></title>
     <link href="http://jclouds.apache.org/blog/2013/05/13/jclouds-at-gluecon-2013"/>
-    <updated>2013-05-13T00:00:00+02:00</updated>
+    <updated>2013-05-13T00:00:00-07:00</updated>
     <content type="html"><![CDATA[<p><a href="https://twitter.com/everett_toews">Everett Toews</a> is hitting the road, getting some hands on keyboards, and really teaching developers how to use jclouds. He'll be giving a workshop titled <em>"Solve the Cross-Cloud Conundrum with jclouds"</em> at <a href="http://www.gluecon.com/2013/">Gluecon</a> this year. The session is on May 22 from 10:30 to 11:30 am in Breakout 2.</p>
 
 <h2>Gluecon</h2>
@@ -162,7 +162,7 @@
     <id>http://jclouds.apache.org/blog/2013/04/28/jclouds-1-6-0-released</id>
     <title type="html"><![CDATA[jclouds 1.6.0 released!]]></title>
     <link href="http://jclouds.apache.org/blog/2013/04/28/jclouds-1-6-0-released"/>
-    <updated>2013-04-28T00:00:00+02:00</updated>
+    <updated>2013-04-28T00:00:00-07:00</updated>
     <content type="html"><![CDATA[<p>jclouds 1.6 represents 7 months of refactoring to essentially "reset" the project 4 years after its founding. The goal was to do less magic and be easier to code and troubleshoot.</p>
 
 <p>No doubt, we've added new apis, including ones from OpenStack, Rackspace, AWS, DynECT, and UltraDNS, so if any of that interests you, move on to details in the <a href="/documentation/releasenotes/1.6/">release notes</a>.</p>
@@ -177,7 +177,7 @@
     <id>http://jclouds.apache.org/blog/2012/12/12/jclouds-1-5-4-mistletoe-released</id>
     <title type="html"><![CDATA[jclouds 1.5.4 "Mistletoe" released]]></title>
     <link href="http://jclouds.apache.org/blog/2012/12/12/jclouds-1-5-4-mistletoe-released"/>
-    <updated>2012-12-12T00:00:00+01:00</updated>
+    <updated>2012-12-12T00:00:00-08:00</updated>
     <content type="html"><![CDATA[<p>jclouds community is an international group with over <a href="https://www.ohloh.net/p/jclouds">100</a> contributors since we started in early 2009. The idea of holidays vary, but we decided <strong>Mistletoe</strong> as an appropriate codename for jclouds 1.5.4. Here's why.</p>
 
 <h2>Chef and Karaf</h2>
@@ -229,7 +229,7 @@
     <id>http://jclouds.apache.org/blog/2012/11/17/jclouds-1-5-3-out-the-door</id>
     <title type="html"><![CDATA[jclouds 1.5.3 out the door]]></title>
     <link href="http://jclouds.apache.org/blog/2012/11/17/jclouds-1-5-3-out-the-door"/>
-    <updated>2012-11-17T00:00:00+01:00</updated>
+    <updated>2012-11-17T00:00:00-08:00</updated>
     <content type="html"><![CDATA[<p>Released on 2012-11-14, jclouds 1.5.3 includes minor fixes, and a few important updates.</p>
 
 <ul>
@@ -255,7 +255,7 @@
     <id>http://jclouds.apache.org/blog/2012/11/09/500-jclouds-builds-on-buildhive-and-counting</id>
     <title type="html"><![CDATA[500 jclouds builds on BuildHive and counting...]]></title>
     <link href="http://jclouds.apache.org/blog/2012/11/09/500-jclouds-builds-on-buildhive-and-counting"/>
-    <updated>2012-11-09T00:00:00+01:00</updated>
+    <updated>2012-11-09T00:00:00-08:00</updated>
     <content type="html"><![CDATA[<p>At jclouds, we've been running our Jenkins continuous integration jobs in CloudBees' <a href="http://www.cloudbees.com/dev">DEV@cloud</a> for a while now (CloudBees has a <a href="http://www.cloudbees.com/foss">FOSS</a> programme). We also have an active and ever-increasing contributor community, which amongst others means... lots of pull requests.</p>
 
 <p>So we were very interested to hear about <a href="https://buildhive.cloudbees.com/">BuildHive</a>, another CloudBees initiative that integrates with your GitHub account to automatically trigger build jobs for pull requests, and quickly signed up.</p>
@@ -272,7 +272,7 @@
     <id>http://jclouds.apache.org/blog/2012/09/28/jclouds-1-5-is-out</id>
     <title type="html"><![CDATA[jclouds 1.5 is out!]]></title>
     <link href="http://jclouds.apache.org/blog/2012/09/28/jclouds-1-5-is-out"/>
-    <updated>2012-09-28T00:00:00+02:00</updated>
+    <updated>2012-09-28T00:00:00-07:00</updated>
     <content type="html"><![CDATA[<p>Over 6 months in the making, and just in time for JavaOne, jclouds 1.5 is formally released. Many of you have been awaiting (or helping build) massive new support for OpenStack based clouds. There's even more, such as our new <a href="https://github.com/jenkinsci/jclouds-plugin">Jenkins Plugin</a> and <a href="https://github.com/jclouds/jclouds-cli">command-line utility</a>.</p>
 
 <p>I encourage you to check out our <a href="/documentation/releasenotes/1.5/">release notes</a> and give the newly minted version <a href="/documentation/userguide/install/">1.5.1</a> a whirl. If you haven't seen our new website, check it out and let <a href="https://twitter.com/silkysun">Becca</a> know how you like it!</p>
@@ -287,7 +287,7 @@
     <id>http://jclouds.apache.org/blog/2012/07/16/fluency-for-paginated-api-lists</id>
     <title type="html"><![CDATA[Fluency for paginated api lists]]></title>
     <link href="http://jclouds.apache.org/blog/2012/07/16/fluency-for-paginated-api-lists"/>
-    <updated>2012-07-16T00:00:00+02:00</updated>
+    <updated>2012-07-16T00:00:00-07:00</updated>
     <content type="html"><![CDATA[<p>The problem of large result sets is something cloud providers want you to have. For example, what better sign of cloud life is there than Amazon S3 having a trillion objects stored so far. The way most cloud apis deal with listing your million (or even thousand) things is to paginate the response.</p>
 
 <p>For example, you get a first page with maybe 500 records in it, and a <em>marker</em> you can use to get the next. Sounds pretty straightforward, and most jclouds abstractions do this dance for you. For example, our BlobStore api has an interface <a href="https://github.com/jclouds/jclouds/blob/master/blobstore/src/main/java/org/jclouds/blobstore/domain/PageSet.java">PageSet</a> which holds a bunch of results and the underlying marker. This also deals with the fact that sometimes <em><a href="http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGET.html">marker</a></em> is called <em><a href="http://docs.amazonwebservices.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html">nextToken</a></em> or other unnecessarily different names :)</p>
@@ -347,7 +347,7 @@
     <id>http://jclouds.apache.org/blog/2012/05/02/new-toys-in-1-5-0-alpha-6</id>
     <title type="html"><![CDATA[New toys in 1.5.0-alpha.6]]></title>
     <link href="http://jclouds.apache.org/blog/2012/05/02/new-toys-in-1-5-0-alpha-6"/>
-    <updated>2012-05-02T00:00:00+02:00</updated>
+    <updated>2012-05-02T00:00:00-07:00</updated>
     <content type="html"><![CDATA[<p>We are very near beta, I promise! In the mean time, we just cut a new codebase with a bunch of cool new toys. Here's a few. Thanks to Adam Lowe, we are getting even deeper into OpenStack with more Keystone support than ever. Setup your code to pull <em>org.jclouds.labs/openstack-keystone</em>, and you can do stuff like this.</p>
 
 <div class="highlight"><pre><code class="java"><span class="n">ContextBuilder</span> <span class="n">contextBuilder</span> <span class="o">=</span> <span class="n">ContextBuilder</span><span class="o">.</span><span class="na">newBuilder</span><span class="o">(</span><span class="s">&quot;openstack-keystone&quot;</span><span class="o">);</span>
@@ -401,7 +401,7 @@
     <id>http://jclouds.apache.org/blog/2012/03/23/take-a-peek-at-vcloud-director-1-5-openstack-and</id>
     <title type="html"><![CDATA[Take a peek at vCloud Director 1.5, OpenStack, and VirtualBox]]></title>
     <link href="http://jclouds.apache.org/blog/2012/03/23/take-a-peek-at-vcloud-director-1-5-openstack-and"/>
-    <updated>2012-03-23T00:00:00+01:00</updated>
+    <updated>2012-03-23T00:00:00-07:00</updated>
     <content type="html"><![CDATA[<p>The jclouds team have been working very hard lately, particularly on a few new apis. We've decided to cage them no longer and cut jclouds 1.5.0-alpha.1. Most notably, we've added the openstack-nova api, and three new providers, all of which discovered via <a href="http://docs.openstack.org/api/openstack-identity-service/2.0/content/">OpenStack Keystone v2.0</a>.</p>
 
 <ul>
@@ -458,7 +458,7 @@
     <id>http://jclouds.apache.org/blog/2012/03/09/ec2-gets-rid-of-that-if-instancetype-is32bit</id>
     <title type="html"><![CDATA[EC2 gets rid of that "if instancetype.is32bit" statement]]></title>
     <link href="http://jclouds.apache.org/blog/2012/03/09/ec2-gets-rid-of-that-if-instancetype-is32bit"/>
-    <updated>2012-03-09T00:00:00+01:00</updated>
+    <updated>2012-03-09T00:00:00-08:00</updated>
     <content type="html"><![CDATA[<p>2 weeks ago, I started a bit of a rant on EC2's 32bit-only vms.</p>
 
 <blockquote><p><em>32bit vms make me angry</em></p>
@@ -485,7 +485,7 @@
     <id>http://jclouds.apache.org/blog/2012/01/21/jclouds-1-3-released</id>
     <title type="html"><![CDATA[jclouds 1.3 released!]]></title>
     <link href="http://jclouds.apache.org/blog/2012/01/21/jclouds-1-3-released"/>
-    <updated>2012-01-21T00:00:00+01:00</updated>
+    <updated>2012-01-21T00:00:00-08:00</updated>
     <content type="html"><![CDATA[<p>The 1.3 release of jclouds includes results of 3-months effort by our contributors. A total of 57 Issues were addressed between jclouds 1.2.0 and the current revision of jclouds 1.3 (1.3.1).</p>
 
 <p>Notable updates include:</p>
@@ -537,7 +537,7 @@
     <id>http://jclouds.apache.org/blog/2012/01/17/jclouds-training-and-jfokus-stockholm</id>
     <title type="html"><![CDATA[jclouds training and Jfokus Stockholm]]></title>
     <link href="http://jclouds.apache.org/blog/2012/01/17/jclouds-training-and-jfokus-stockholm"/>
-    <updated>2012-01-17T00:00:00+01:00</updated>
+    <updated>2012-01-17T00:00:00-08:00</updated>
     <content type="html"><![CDATA[<p>For those of you in Stockholm, or coming in for Jfokus, don't miss out on a few nearby events.</p>
 
 <ul>
@@ -557,7 +557,7 @@
     <id>http://jclouds.apache.org/blog/2011/10/18/jclouds-1-2-released</id>
     <title type="html"><![CDATA[jclouds 1.2 released!]]></title>
     <link href="http://jclouds.apache.org/blog/2011/10/18/jclouds-1-2-released"/>
-    <updated>2011-10-18T00:00:00+02:00</updated>
+    <updated>2011-10-18T00:00:00-07:00</updated>
     <content type="html"><![CDATA[<p>The 1.2 release of jclouds includes results of almost 2 months effort by our <a href="/documentation/reference/apps-that-use-jclouds">community</a>. A total of 55 Issues were addressed between jclouds 1.1 and 1.2, stabilizing the cloud so you don't have to!</p>
 
 <ul>
@@ -586,7 +586,7 @@
     <id>http://jclouds.apache.org/blog/2009/05/13/catching-exceptions-with-less-keystrokes</id>
     <title type="html"><![CDATA[Catching exceptions with fewer keystrokes]]></title>
     <link href="http://jclouds.apache.org/blog/2009/05/13/catching-exceptions-with-less-keystrokes"/>
-    <updated>2009-05-13T00:00:00+02:00</updated>
+    <updated>2009-05-13T00:00:00-07:00</updated>
     <content type="html"><![CDATA[<p>Some of us hate checked exceptions, but still use them for one reason or another. A common problem we have is unnecessary exception nesting, or runtime swallowing. This often leads to the all to familiar and crufty code with a million catch blocks. jclouds has a slightly different approach that strikes a balance, allowing checked exceptions to be dealt with, but without the pain of so many lines of repetitious code.</p>
 
 <div class="highlight"><pre><code class="java"><span class="k">try</span> <span class="o">{</span>
@@ -623,7 +623,7 @@
     <id>http://jclouds.apache.org/blog/2009/05/11/jclouds-s3-beta-released</id>
     <title type="html"><![CDATA[jclouds-s3 beta released]]></title>
     <link href="http://jclouds.apache.org/blog/2009/05/11/jclouds-s3-beta-released"/>
-    <updated>2009-05-11T00:00:00+02:00</updated>
+    <updated>2009-05-11T00:00:00-07:00</updated>
     <content type="html"><![CDATA[<p>jclouds provides any-weight clouds tools for Java 5 and later: you choose the depth you want. We are pleased to announce our first beta of <em>jclouds-s3</em>. <em>jclouds-s3</em> provides both <em>Map&lt;String,InputStream></em> and <em>FutureCommand</em> interfaces to <a href="http://aws.amazon.com/s3/">Amazon S3</a>.</p>
 
 <p>It features a pluggable core, most notably supporting Apache HttpNio and <a href="http://code.google.com/appengine/">Google App Engine for Java</a> runtimes.</p>

Modified: jclouds/site-content/index.html
URL: http://svn.apache.org/viewvc/jclouds/site-content/index.html?rev=1579082&r1=1579081&r2=1579082&view=diff
==============================================================================
--- jclouds/site-content/index.html (original)
+++ jclouds/site-content/index.html Tue Mar 18 23:02:01 2014
@@ -229,11 +229,267 @@
     
 
     
+
     
-    <p>
-    <span class="label label-primary">GSOC 2014</span>
-    <a class="quicknew text-primary" href="/news/gsoc2014/">Want to participate in Google Summer of Code 2014? See how you can join the program!</a>
-    </p>
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
     
 
     
@@ -749,6 +1005,162 @@
     
 
     
+    
+    <p>
+    <span class="label label-primary">GSOC 2014</span>
+    <a class="quicknew text-primary" href="/news/gsoc2014/">Want to participate in Google Summer of Code 2014? See how you can join the program!</a>
+    </p>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
 
     
 
@@ -1186,14 +1598,14 @@
     <span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="s">&quot;identity&quot;</span><span class="o">,</span> <span class="s">&quot;credential&quot;</span><span class="o">)</span>
     <span class="o">.</span><span class="na">buildView</span><span class="o">(</span><span class="n">BlobStoreContext</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
     <span class="o">.</span><span class="na">getBlobStore</span><span class="o">();</span>
+<span class="n">blobStore</span><span class="o">.</span><span class="na">createContainerInLocation</span><span class="o">(</span><span class="n">location</span><span class="o">,</span> <span class="s">&quot;container-name&quot;</span><span class="o">);</span>
 
-<span class="n">blobStore</span><span class="o">.</span><span class="na">createContainerInLocation</span><span class="o">(</span><span class="n">location</span><span class="o">,</span> <span class="s">&quot;mycontainer&quot;</span><span class="o">);</span>
-
-<span class="n">Blob</span> <span class="n">blob</span> <span class="o">=</span> <span class="n">blobStore</span><span class="o">.</span><span class="na">blobBuilder</span><span class="o">(</span><span class="s">&quot;blob&quot;</span><span class="o">)</span>
-    <span class="o">.</span><span class="na">payload</span><span class="o">(</span><span class="s">&quot;blob-content&quot;</span><span class="o">)</span>
+<span class="n">ByteSource</span> <span class="n">payload</span> <span class="o">=</span> <span class="n">ByteSource</span><span class="o">.</span><span class="na">wrap</span><span class="o">(</span><span class="k">new</span> <span class="kt">byte</span><span class="o">[]</span> <span class="o">{</span><span class="mi">1</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="mi">3</span><span class="o">,</span> <span class="mi">4</span><span class="o">});</span>
+<span class="n">Blob</span> <span class="n">blob</span> <span class="o">=</span> <span class="n">blobStore</span><span class="o">.</span><span class="na">blobBuilder</span><span class="o">(</span><span class="s">&quot;blob-name&quot;</span><span class="o">)</span>
+    <span class="o">.</span><span class="na">payload</span><span class="o">(</span><span class="n">payload</span><span class="o">)</span>
+    <span class="o">.</span><span class="na">contentLength</span><span class="o">(</span><span class="n">payload</span><span class="o">.</span><span class="na">size</span><span class="o">())</span>
     <span class="o">.</span><span class="na">build</span><span class="o">();</span>
-
-<span class="n">blobStore</span><span class="o">.</span><span class="na">putBlob</span><span class="o">(</span><span class="s">&quot;mycontainer&quot;</span><span class="o">,</span> <span class="n">blob</span><span class="o">);</span>
+<span class="n">blobStore</span><span class="o">.</span><span class="na">putBlob</span><span class="o">(</span><span class="s">&quot;container-name&quot;</span><span class="o">,</span> <span class="n">blob</span><span class="o">);</span>
 </code></pre></div>
 
                         </div>

Modified: jclouds/site-content/releasenotes/atom.xml
URL: http://svn.apache.org/viewvc/jclouds/site-content/releasenotes/atom.xml?rev=1579082&r1=1579081&r2=1579082&view=diff
==============================================================================
--- jclouds/site-content/releasenotes/atom.xml (original)
+++ jclouds/site-content/releasenotes/atom.xml Tue Mar 18 23:02:01 2014
@@ -4,140 +4,11 @@
   <title><![CDATA[Apache jclouds]]></title>
   <link href="http://jclouds.apache.org/atom.xml" rel="self"/>
   <link href="http://jclouds.apache.org/"/>
-  <updated>2014-03-16T23:52:21+01:00</updated>
+  <updated>2014-03-18T16:01:36-07:00</updated>
   <generator uri="http://jekyllrb.com/">Jekyll</generator>
 
     
   <entry>
-    <id>http://jclouds.apache.org/releasenotes/1.6.1/</id>
-    <title type="html"><![CDATA[Release Notes for Version 1.6.1]]></title>
-    <link href="http://jclouds.apache.org/releasenotes/1.6.1/"/>
-    <updated>2013-06-19T12:00:00Z</updated>
-    <content type="html"><![CDATA[<h2>Introduction</h2>
-
-<p>jclouds Version 1.6.1 is geared around the transition into the Apache Incubator. It represents the first release of jclouds in the Apache Incubator. The most significant change is to the jclouds Maven groupId. You can read more about it in the Changes section below.</p>
-
-<p>You can read the official announcement at <a href="http://www.mail-archive.com/user@jclouds.incubator.apache.org/msg00112.html">Apache jclouds 1.6.1-incubating released</a>. You can read the details of the specific JIRA issues addressed in this release at the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12314430&amp;version=12324412">JIRA Release Notes</a>.</p>
-
-<p>To get jclouds, please see the <a href="/start/install">jclouds installation guide</a>.</p>
-
-<h2>Additions</h2>
-
-<ul>
-<li>Added the karaf/CLI command blobstore-blob-exists.</li>
-</ul>
-
-
-<h2>Removals</h2>
-
-<ul>
-<li>Removed sandbox-apis and sandbox-providers.</li>
-</ul>
-
-
-<h2>Changes</h2>
-
-<ul>
-<li>The jclouds Maven groupId has changed from org.jclouds to org.apache.jclouds so a pom.xml dependency would now look like:</li>
-</ul>
-
-
-<div class="highlight"><pre><code class="xml"><span class="nt">&lt;dependencies&gt;</span>
-  <span class="nt">&lt;dependency&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.jclouds<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>jclouds-all<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;version&gt;</span>1.6.1-incubating<span class="nt">&lt;/version&gt;</span>
-  <span class="nt">&lt;/dependency&gt;</span>
-<span class="nt">&lt;/dependencies&gt;</span>
-</code></pre></div>
-
-
-<ul>
-<li>Note that the package names in the source code have <em>not</em> changed.</li>
-<li>jclouds-karaf has undergone a similar modification and you'll need to change the <code>featureRepositories</code> line in <code>etc/org.apache.karaf.features.cfg</code>  to <code>featuresRepositories=mvn:org.apache.jclouds.karaf/jclouds-karaf/${jclouds.karaf.version}/xml/features</code> in the command line interface.</li>
-<li>Updated license headers and project metadata to align with Apache Incubator.</li>
-</ul>
-
-
-<h2>Fixes</h2>
-
-<ul>
-<li>Allow repeatable Payload with InputSupplier input (allows retries to work)</li>
-<li>Map S3 TooManyBuckets to InsufficientResourcesException</li>
-<li>Fixed the jclouds-cli start script so that it now runs smoothly on Windows.</li>
-</ul>
-
-
-<h2>Deprecated and Non-backwards Compatible Changes</h2>
-
-<ul>
-<li>All Async interfaces are deprecated and will be removed in the next major version of jclouds.  Please only use the synchronous  APIs, those without "Async" in the class name, such as <code>NovaApi</code>. You can find an example of doing an asynchronous file upload without the Async interface in <a href="https://github.com/jclouds/jclouds-cloud-storage-workshop/blob/master/exercise2/src/main/java/org/jclouds/labs/blobstore/exercise2/MultiFileUploaderC.java">MultiFileUploaderC.java</a>.</li>
-<li>Accordingly, please discontinue use of <code>RestContext</code>.  This is replaced with <code>ApiContext</code>, which doesn't have an Async type.  Note that you can use <code>ContextBuilder.buildApi(YourApi.class)</code> instead of using contexts, as API interfaces are now closeable.</li>
-<li>Please discontinue use of <code>Context.utils()</code> as many features there were only present to support the Async interfaces of jclouds.  Code in jclouds will be easier to maintain when we needn't support utilities that are also present in tools such as Guava and Bouncycastle.</li>
-</ul>
-
-
-<h2>Credits</h2>
-
-<p>jclouds would like to thank everyone who contributed time and effort in order to make this release happen:</p>
-
-<ul>
-<li>Andrew Bayer for leading the release charge.</li>
-<li>A special thanks to our Apache mentors for guiding us through our first release.</li>
-<li>Check out who has been busy <a href="http://www.ohloh.net/p/jclouds/contributors?query=&amp;sort=latest_commit">here</a>.</li>
-</ul>
-
-]]></content>
-  </entry>
-    
-  <entry>
-    <id>http://jclouds.apache.org/releasenotes/1.6.2/</id>
-    <title type="html"><![CDATA[Release Notes for Version 1.6.2]]></title>
-    <link href="http://jclouds.apache.org/releasenotes/1.6.2/"/>
-    <updated>2013-08-27T12:00:00Z</updated>
-    <content type="html"><![CDATA[<h2>Introduction</h2>
-
-<p>jclouds version 1.6.2-incubating is the second release of jclouds in the Apache Incubator.</p>
-
-<p>You can read the official announcement at <a href="http://markmail.org/message/ttznfvr3pqfs2cxm">Apache jclouds 1.6.2-incubating released</a>. You can read the details of the specific JIRA issues addressed in this release at the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12324574&amp;styleName=Html&amp;projectId=12314430">JIRA Release Notes</a>.</p>
-
-<p>To get jclouds, please see the <a href="/start/install">jclouds installation guide</a>.</p>
-
-<h2>Reminder</h2>
-
-<ul>
-<li>As per <a href="../1.6.1">1.6.1-incubating</a>, the jclouds Maven group ID has changed from org.jclouds to org.apache.jclouds so a pom.xml dependency would now look like:</li>
-</ul>
-
-
-<div class="highlight"><pre><code class="xml"><span class="nt">&lt;dependencies&gt;</span>
-  <span class="nt">&lt;dependency&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.jclouds<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>jclouds-all<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;version&gt;</span>1.6.2-incubating<span class="nt">&lt;/version&gt;</span>
-  <span class="nt">&lt;/dependency&gt;</span>
-<span class="nt">&lt;/dependencies&gt;</span>
-</code></pre></div>
-
-
-<h2>Credits</h2>
-
-<p>jclouds would like to thank everyone who contributed time and effort in order to make this release happen:</p>
-
-<ul>
-<li>Andrew Bayer for assisting on the release charge.</li>
-<li>Our Apache mentors for verifying.</li>
-<li>Check out who has been busy <a href="http://www.ohloh.net/p/jclouds/contributors?query=&amp;sort=latest_commit">here</a>.</li>
-</ul>
-
-
-<h2>Test Results</h2>
-
-<p>Please see the <a href="/releasenotes/1.6.2-tests">test results</a> for test failures for 1.6.2.</p>
-]]></content>
-  </entry>
-    
-  <entry>
     <id>http://jclouds.apache.org/releasenotes/1.6.3/</id>
     <title type="html"><![CDATA[Release Notes for Version 1.6.3]]></title>
     <link href="http://jclouds.apache.org/releasenotes/1.6.3/"/>
@@ -261,35 +132,30 @@ Guava 15.0 or earlier, or wait for jclou
   </entry>
     
   <entry>
-    <id>http://jclouds.apache.org/releasenotes/1.7/</id>
-    <title type="html"><![CDATA[Release Notes for Version 1.7.0]]></title>
-    <link href="http://jclouds.apache.org/releasenotes/1.7/"/>
-    <updated>2013-12-23T12:00:00Z</updated>
+    <id>http://jclouds.apache.org/releasenotes/1.6.2/</id>
+    <title type="html"><![CDATA[Release Notes for Version 1.6.2]]></title>
+    <link href="http://jclouds.apache.org/releasenotes/1.6.2/"/>
+    <updated>2013-08-27T12:00:00Z</updated>
     <content type="html"><![CDATA[<h2>Introduction</h2>
 
-<p>jclouds version 1.7.0 is the first major release of jclouds as an Apache TLP.</p>
+<p>jclouds version 1.6.2-incubating is the second release of jclouds in the Apache Incubator.</p>
 
-<p>You can read the official announcement at <a href="http://markmail.org/thread/djp4qs5vlutmcuxe">Apache jclouds 1.7.0 released</a>. You can read the details of the specific JIRA issues addressed in this release at the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12324405&amp;styleName=Html&amp;projectId=12314430">JIRA Release Notes</a>.</p>
+<p>You can read the official announcement at <a href="http://markmail.org/message/ttznfvr3pqfs2cxm">Apache jclouds 1.6.2-incubating released</a>. You can read the details of the specific JIRA issues addressed in this release at the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12324574&amp;styleName=Html&amp;projectId=12314430">JIRA Release Notes</a>.</p>
 
-<p>To get jclouds, please see the <a href="/start/install/">jclouds installation guide</a>.</p>
+<p>To get jclouds, please see the <a href="/start/install">jclouds installation guide</a>.</p>
 
-<h2>Notes</h2>
+<h2>Reminder</h2>
 
 <ul>
-<li>jclouds 1.7.0 is incompatible with <a href="https://code.google.com/p/guava-libraries/">Guava</a> 16. Please switch to
-Guava 15.0 or earlier, or wait for jclouds 1.7.1</li>
+<li>As per <a href="../1.6.1">1.6.1-incubating</a>, the jclouds Maven group ID has changed from org.jclouds to org.apache.jclouds so a pom.xml dependency would now look like:</li>
 </ul>
 
 
-<h2>Reminder</h2>
-
-<p>As per <a href="../1.6.1">1.6.1-incubating</a>, the jclouds Maven group ID has changed from org.jclouds to org.apache.jclouds so a pom.xml dependency would now look like:</p>
-
 <div class="highlight"><pre><code class="xml"><span class="nt">&lt;dependencies&gt;</span>
   <span class="nt">&lt;dependency&gt;</span>
     <span class="nt">&lt;groupId&gt;</span>org.apache.jclouds<span class="nt">&lt;/groupId&gt;</span>
     <span class="nt">&lt;artifactId&gt;</span>jclouds-all<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;version&gt;</span>1.7.0<span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;version&gt;</span>1.6.2-incubating<span class="nt">&lt;/version&gt;</span>
   <span class="nt">&lt;/dependency&gt;</span>
 <span class="nt">&lt;/dependencies&gt;</span>
 </code></pre></div>
@@ -300,15 +166,124 @@ Guava 15.0 or earlier, or wait for jclou
 <p>jclouds would like to thank everyone who contributed time and effort in order to make this release happen:</p>
 
 <ul>
-<li>Andrew Bayer for managing the release.</li>
-<li>Apache jclouds PMC for verifying.</li>
+<li>Andrew Bayer for assisting on the release charge.</li>
+<li>Our Apache mentors for verifying.</li>
 <li>Check out who has been busy <a href="http://www.ohloh.net/p/jclouds/contributors?query=&amp;sort=latest_commit">here</a>.</li>
 </ul>
 
 
 <h2>Test Results</h2>
 
-<p>Please see the <a href="http://markmail.org/thread/zwasetkfcbfgrhjz">release discussion thread</a> for test results for 1.7.0.</p>
+<p>Please see the <a href="/releasenotes/1.6.2-tests">test results</a> for test failures for 1.6.2.</p>
+]]></content>
+  </entry>
+    
+  <entry>
+    <id>http://jclouds.apache.org/releasenotes/1.7/</id>
+    <title type="html"><![CDATA[Release Notes for Version 1.7.0]]></title>
+    <link href="http://jclouds.apache.org/releasenotes/1.7/"/>
+    <updated>2013-12-23T12:00:00Z</updated>
+    <content type="html"><![CDATA[## Introduction
+
+jclouds version 1.7.0 is the first major release of jclouds as an Apache TLP.
+
+You can read the official announcement at [Apache jclouds 1.7.0 released](http://markmail.org/thread/djp4qs5vlutmcuxe). You can read the details of the specific JIRA issues addressed in this release at the [JIRA Release Notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12324405&styleName=Html&projectId=12314430).
+
+To get jclouds, please see the [jclouds installation guide](/start/install/).
+
+## Notes
+
+* jclouds 1.7.0 is incompatible with [Guava](https://code.google.com/p/guava-libraries/) 16. Please switch to
+Guava 15.0 or earlier, or wait for jclouds 1.7.1
+
+## Reminder
+
+As per [1.6.1-incubating](../1.6.1), the jclouds Maven group ID has changed from org.jclouds to org.apache.jclouds so a pom.xml dependency would now look like:
+
+{% highlight xml %}
+<dependencies>
+  <dependency>
+    <groupId>org.apache.jclouds</groupId>
+    <artifactId>jclouds-all</artifactId>
+    <version>1.7.0</version>
+  </dependency>
+</dependencies>
+{% endhighlight %}
+
+## Credits
+
+jclouds would like to thank everyone who contributed time and effort in order to make this release happen:
+
+  * Andrew Bayer for managing the release.
+  * Apache jclouds PMC for verifying.
+  * Check out who has been busy [here](http://www.ohloh.net/p/jclouds/contributors?query=&sort=latest_commit).
+
+## Test Results
+
+Please see the [release discussion thread](http://markmail.org/thread/zwasetkfcbfgrhjz) for test results for 1.7.0.
+
+]]></content>
+  </entry>
+    
+  <entry>
+    <id>http://jclouds.apache.org/releasenotes/1.6.1/</id>
+    <title type="html"><![CDATA[Release Notes for Version 1.6.1]]></title>
+    <link href="http://jclouds.apache.org/releasenotes/1.6.1/"/>
+    <updated>2013-06-19T12:00:00Z</updated>
+    <content type="html"><![CDATA[## Introduction
+
+jclouds Version 1.6.1 is geared around the transition into the Apache Incubator. It represents the first release of jclouds in the Apache Incubator. The most significant change is to the jclouds Maven groupId. You can read more about it in the Changes section below.
+
+You can read the official announcement at [Apache jclouds 1.6.1-incubating released](http://www.mail-archive.com/user@jclouds.incubator.apache.org/msg00112.html). You can read the details of the specific JIRA issues addressed in this release at the [JIRA Release Notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12314430&version=12324412).
+
+To get jclouds, please see the [jclouds installation guide](/start/install).
+
+
+## Additions
+
+ * Added the karaf/CLI command blobstore-blob-exists.
+
+## Removals
+
+ * Removed sandbox-apis and sandbox-providers.
+
+## Changes
+
+ * The jclouds Maven groupId has changed from org.jclouds to org.apache.jclouds so a pom.xml dependency would now look like:
+
+{% highlight xml %}
+<dependencies>
+  <dependency>
+    <groupId>org.apache.jclouds</groupId>
+    <artifactId>jclouds-all</artifactId>
+    <version>1.6.1-incubating</version>
+  </dependency>
+</dependencies>
+{% endhighlight %}
+
+ * Note that the package names in the source code have *not* changed.
+ * jclouds-karaf has undergone a similar modification and you'll need to change the `featureRepositories` line in `etc/org.apache.karaf.features.cfg`  to `featuresRepositories=mvn:org.apache.jclouds.karaf/jclouds-karaf/${jclouds.karaf.version}/xml/features` in the command line interface.
+ * Updated license headers and project metadata to align with Apache Incubator.
+
+## Fixes
+
+ * Allow repeatable Payload with InputSupplier input (allows retries to work)
+ * Map S3 TooManyBuckets to InsufficientResourcesException
+ * Fixed the jclouds-cli start script so that it now runs smoothly on Windows.
+
+## Deprecated and Non-backwards Compatible Changes
+ *  All Async interfaces are deprecated and will be removed in the next major version of jclouds.  Please only use the synchronous  APIs, those without "Async" in the class name, such as `NovaApi`. You can find an example of doing an asynchronous file upload without the Async interface in [MultiFileUploaderC.java](https://github.com/jclouds/jclouds-cloud-storage-workshop/blob/master/exercise2/src/main/java/org/jclouds/labs/blobstore/exercise2/MultiFileUploaderC.java).
+ *  Accordingly, please discontinue use of `RestContext`.  This is replaced with `ApiContext`, which doesn't have an Async type.  Note that you can use `ContextBuilder.buildApi(YourApi.class)` instead of using contexts, as API interfaces are now closeable.
+ *  Please discontinue use of `Context.utils()` as many features there were only present to support the Async interfaces of jclouds.  Code in jclouds will be easier to maintain when we needn't support utilities that are also present in tools such as Guava and Bouncycastle.
+
+## Credits
+
+jclouds would like to thank everyone who contributed time and effort in order to make this release happen:
+
+  * Andrew Bayer for leading the release charge.
+  * A special thanks to our Apache mentors for guiding us through our first release.
+  * Check out who has been busy [here](http://www.ohloh.net/p/jclouds/contributors?query=&sort=latest_commit).
+
 ]]></content>
   </entry>
   

Modified: jclouds/site-content/start/blobstore/index.html
URL: http://svn.apache.org/viewvc/jclouds/site-content/start/blobstore/index.html?rev=1579082&r1=1579081&r2=1579082&view=diff
==============================================================================
--- jclouds/site-content/start/blobstore/index.html (original)
+++ jclouds/site-content/start/blobstore/index.html Tue Mar 18 23:02:01 2014
@@ -313,8 +313,11 @@ for detailed description.</p>
 <span class="n">blobStore</span><span class="o">.</span><span class="na">createContainerInLocation</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">&quot;mycontainer&quot;</span><span class="o">);</span>
 
 <span class="c1">// add blob</span>
-<span class="n">blob</span> <span class="o">=</span> <span class="n">blobStore</span><span class="o">.</span><span class="na">blobBuilder</span><span class="o">(</span><span class="s">&quot;test&quot;</span><span class="o">)</span>  <span class="c1">// you can use folders via newBlob(folderName + &quot;/sushi.jpg&quot;)</span>
-                  <span class="o">.</span><span class="na">payload</span><span class="o">(</span><span class="s">&quot;testdata&quot;</span><span class="o">).</span><span class="na">build</span><span class="o">();</span>
+<span class="n">ByteSource</span> <span class="n">payload</span> <span class="o">=</span> <span class="n">ByteSource</span><span class="o">.</span><span class="na">wrap</span><span class="o">(</span><span class="s">&quot;blob-content&quot;</span><span class="o">.</span><span class="na">getBytes</span><span class="o">(</span><span class="n">Charsets</span><span class="o">.</span><span class="na">UTF_8</span><span class="o">));</span>
+<span class="n">blob</span> <span class="o">=</span> <span class="n">blobStore</span><span class="o">.</span><span class="na">blobBuilder</span><span class="o">(</span><span class="s">&quot;test&quot;</span><span class="o">)</span>  <span class="c1">// you can use folders via blobBuilder(folderName + &quot;/sushi.jpg&quot;)</span>
+    <span class="o">.</span><span class="na">payload</span><span class="o">(</span><span class="n">payload</span><span class="o">)</span>
+    <span class="o">.</span><span class="na">contentLength</span><span class="o">(</span><span class="n">payload</span><span class="o">.</span><span class="na">size</span><span class="o">)</span>
+    <span class="o">.</span><span class="na">build</span><span class="o">();</span>
 <span class="n">blobStore</span><span class="o">.</span><span class="na">putBlob</span><span class="o">(</span><span class="n">containerName</span><span class="o">,</span> <span class="n">blob</span><span class="o">);</span>
 </code></pre></div>
 
@@ -379,10 +382,14 @@ Here's an example of <code>multipart upl
   <span class="c1">// create container</span>
   <span class="n">blobStore</span><span class="o">.</span><span class="na">createContainerInLocation</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">&quot;mycontainer&quot;</span><span class="o">);</span>
 
-  <span class="n">File</span> <span class="n">input</span> <span class="o">=</span> <span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="n">fileName</span><span class="o">);</span>
   <span class="c1">// Add a Blob</span>
-  <span class="n">Blob</span> <span class="n">blob</span> <span class="o">=</span> <span class="n">blobStore</span><span class="o">.</span><span class="na">blobBuilder</span><span class="o">(</span><span class="n">objectName</span><span class="o">).</span><span class="na">payload</span><span class="o">(</span><span class="n">input</span><span class="o">)</span>
-               <span class="o">.</span><span class="na">contentType</span><span class="o">(</span><span class="n">MediaType</span><span class="o">.</span><span class="na">APPLICATION_OCTET_STREAM</span><span class="o">).</span><span class="na">contentDisposition</span><span class="o">(</span><span class="n">objectName</span><span class="o">).</span><span class="na">build</span><span class="o">();</span>
+  <span class="n">ByteSource</span> <span class="n">payload</span> <span class="o">=</span> <span class="n">Files</span><span class="o">.</span><span class="na">asByteSource</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="n">fileName</span><span class="o">));</span>
+  <span class="n">Blob</span> <span class="n">blob</span> <span class="o">=</span> <span class="n">blobStore</span><span class="o">.</span><span class="na">blobBuilder</span><span class="o">(</span><span class="n">objectName</span><span class="o">)</span>
+      <span class="o">.</span><span class="na">payload</span><span class="o">(</span><span class="n">payload</span><span class="o">)</span>
+      <span class="o">.</span><span class="na">contentDisposition</span><span class="o">(</span><span class="n">objectName</span><span class="o">)</span>
+      <span class="o">.</span><span class="na">contentLength</span><span class="o">(</span><span class="n">payload</span><span class="o">.</span><span class="na">size</span><span class="o">())</span>
+      <span class="o">.</span><span class="na">contentType</span><span class="o">(</span><span class="n">MediaType</span><span class="o">.</span><span class="na">OCTET_STREAM</span><span class="o">.</span><span class="na">toString</span><span class="o">())</span>
+      <span class="o">.</span><span class="na">build</span><span class="o">();</span>
   <span class="c1">// Upload a file</span>
   <span class="n">ListenableFuture</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">futureETag</span> <span class="o">=</span> <span class="n">blobStore</span><span class="o">.</span><span class="na">putBlob</span><span class="o">(</span><span class="n">containerName</span><span class="o">,</span> <span class="n">blob</span><span class="o">,</span> <span class="n">multipart</span><span class="o">());</span>
 
@@ -535,11 +542,14 @@ a the download dialog appears.  To contr
 you must set <a href="http://www.jtricks.com/bits/content_disposition.html">Content Disposition</a>.  Here's how you can do
 it with BlobStore API:</p>
 
-<div class="highlight"><pre><code class="java"><span class="n">Blob</span> <span class="n">blob</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">getBlobStore</span><span class="o">().</span><span class="na">blobBuilder</span><span class="o">(</span><span class="s">&quot;sushi.jpg&quot;</span><span class="o">)</span>
-               <span class="o">.</span><span class="na">payload</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="s">&quot;sushi.jpg&quot;</span><span class="o">))</span><span class="c1">// or byte[]. InputStream, etc.</span>
-               <span class="o">.</span><span class="na">contentDisposition</span><span class="o">(</span><span class="s">&quot;attachment; filename=sushi.jpg&quot;</span><span class="o">)</span>
-               <span class="o">.</span><span class="na">contentType</span><span class="o">(</span><span class="s">&quot;image/jpeg&quot;</span><span class="o">)</span>
-               <span class="o">.</span><span class="na">calculateMD5</span><span class="o">().</span><span class="na">build</span><span class="o">();</span>
+<div class="highlight"><pre><code class="java"><span class="n">ByteSource</span> <span class="n">payload</span> <span class="o">=</span> <span class="n">Files</span><span class="o">.</span><span class="na">asByteSource</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="s">&quot;sushi.jpg&quot;</span><span class="o">));</span>
+<span class="n">Blob</span> <span class="n">blob</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">getBlobStore</span><span class="o">().</span><span class="na">blobBuilder</span><span class="o">(</span><span class="s">&quot;sushi.jpg&quot;</span><span class="o">)</span>
+    <span class="o">.</span><span class="na">payload</span><span class="o">(</span><span class="n">payload</span><span class="o">)</span>  <span class="c1">// or InputStream</span>
+    <span class="o">.</span><span class="na">contentDisposition</span><span class="o">(</span><span class="s">&quot;attachment; filename=sushi.jpg&quot;</span><span class="o">)</span>
+    <span class="o">.</span><span class="na">contentMD5</span><span class="o">(</span><span class="n">payload</span><span class="o">.</span><span class="na">hash</span><span class="o">(</span><span class="n">Hashing</span><span class="o">.</span><span class="na">md5</span><span class="o">()).</span><span class="na">asBytes</span><span class="o">())</span>
+    <span class="o">.</span><span class="na">contentLength</span><span class="o">(</span><span class="n">payload</span><span class="o">.</span><span class="na">size</span><span class="o">())</span>
+    <span class="o">.</span><span class="na">contentType</span><span class="o">(</span><span class="n">MediaType</span><span class="o">.</span><span class="na">JPEG</span><span class="o">.</span><span class="na">toString</span><span class="o">())</span>
+    <span class="o">.</span><span class="na">build</span><span class="o">();</span>
 </code></pre></div>