{"action":"created","comment":{"url":"https://api.github.com/repos/jclouds/jclouds/pulls/comments/118140918","pull_request_review_id":39905447,"id":118140918,"diff_hunk":"@@ -0,0 +1,130 @@\n+/*\n+ * Licensed to the Apache Software Foundation (ASF) under one or more\n+ * contributor license agreements.  See the NOTICE file distributed with\n+ * this work for additional information regarding copyright ownership.\n+ * The ASF licenses this file to You under the Apache License, Version 2.0\n+ * (the \"License\"); you may not use this file except in compliance with\n+ * the License.  You may obtain a copy of the License at\n+ *\n+ *     http://www.apache.org/licenses/LICENSE-2.0\n+ *\n+ * Unless required by applicable law or agreed to in writing, software\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+ * See the License for the specific language governing permissions and\n+ * limitations under the License.\n+ */\n+package org.jclouds.openstack.swift.v1.features;\n+\n+import static com.google.common.net.HttpHeaders.EXPECT;\n+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;\n+\n+import java.util.List;\n+import java.util.Map;\n+\n+import javax.inject.Named;\n+import javax.ws.rs.Consumes;\n+import javax.ws.rs.DELETE;\n+import javax.ws.rs.PUT;\n+import javax.ws.rs.Path;\n+import javax.ws.rs.PathParam;\n+\n+import org.jclouds.Fallbacks.VoidOnNotFoundOr404;\n+import org.jclouds.io.Payload;\n+import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;\n+import org.jclouds.openstack.swift.v1.binders.BindMetadataToHeaders.BindObjectMetadataToHeaders;\n+import org.jclouds.openstack.swift.v1.binders.BindToHeaders;\n+import org.jclouds.openstack.swift.v1.binders.SetPayload;\n+import org.jclouds.openstack.swift.v1.domain.Segment;\n+import org.jclouds.openstack.swift.v1.domain.SwiftObject;\n+import org.jclouds.openstack.swift.v1.functions.ETagHeader;\n+import org.jclouds.rest.annotations.BinderParam;\n+import org.jclouds.rest.annotations.Fallback;\n+import org.jclouds.rest.annotations.Headers;\n+import org.jclouds.rest.annotations.RequestFilters;\n+import org.jclouds.rest.annotations.ResponseParser;\n+import org.jclouds.rest.binders.BindToJsonPayload;\n+\n+import com.google.common.annotations.Beta;\n+\n+/**\n+ * Provides access to the OpenStack Object Storage (Swift) Static Large Object\n+ * API features.\n+ * <p/>\n+ * This API is new to jclouds and hence is in Beta. That means we need people to\n+ * use it and give us feedback. Based on that feedback, minor changes to the\n+ * interfaces may happen. This code will replace\n+ * org.jclouds.openstack.swift.SwiftClient in jclouds 2.0 and it is recommended\n+ * you adopt it sooner than later.\n+ */\n+@Beta\n+@RequestFilters(AuthenticateRequest.class)\n+@Consumes(APPLICATION_JSON)\n+@Path(\"/{objectName}\")\n+public interface DynamicLargeObjectApi {\n+   /**\n+    * Creates or updates a dynamic large object's manifest.\n+    *\n+    * @param objectName\n+    *           corresponds to {@link SwiftObject#getName()}.\n+    * @param segments\n+    *           ordered parts which will be concatenated upon download.\n+    * @param metadata\n+    *           corresponds to {@link SwiftObject#getMetadata()}.\n+    * @param headers\n+    *           Binds the map to headers, without prefixing/escaping the header\n+    *           name/key.\n+    *\n+    * @return {@link SwiftObject#getEtag()} of the object, which is the MD5\n+    *         checksum of the concatenated ETag values of the {@code segments}.\n+    */\n+   @Deprecated\n+   @Named(\"dynamicLargeObject:replaceManifest\")\n+   @PUT\n+   @ResponseParser(ETagHeader.class)\n+   @Headers(keys = \"X-Object-Manifest\", values = \"{containerName}/{objectName}/\")\n+   String replaceManifest(@PathParam(\"containerName\") String containerName, @PathParam(\"objectName\") String objectName,\n+         @BinderParam(BindToJsonPayload.class) List<Segment> segments,\n+         @BinderParam(BindObjectMetadataToHeaders.class) Map<String, String> metadata,\n+         @BinderParam(BindToHeaders.class) Map<String, String> headers);\n+   \n+   /**\n+    * Creates object segments.\n+    *\n+    * @param objectName\n+    *           corresponds to {@link SwiftObject#getName()}.\n+    * @param segments\n+    *           ordered parts which will be concatenated upon download.\n+    * @param metadata\n+    *           corresponds to {@link SwiftObject#getMetadata()}.\n+    * @param headers\n+    *           Binds the map to headers, without prefixing/escaping the header\n+    *           name/key.\n+    *\n+    * @return {@link SwiftObject#getEtag()} of the object, which is the MD5\n+    *         checksum of the concatenated ETag values of the {@code segments}.\n+    */\n+   \n+   @Deprecated\n+   @Named(\"dynamicLargeObject: uploadLargeFile\")\n+   @PUT\n+   @Headers(keys = EXPECT, values = \"100-continue\")\n+   @ResponseParser(ETagHeader.class)\n+   String uploadLargeFile(@PathParam(\"containerName\") String container, @PathParam(\"objectName\") String objectName,\n+         @BinderParam(SetPayload.class) Payload blob,\n+         @BinderParam(BindObjectMetadataToHeaders.class) Map<String, String> metadata,\n+         @BinderParam(BindToHeaders.class) Map<String, String> headers);\n+\n+   /**\n+    * Delete objects.\n+    *\n+    * @param objectName\n+    *           corresponds to {@link SwiftObject#getName()}.\n+    */\n+   \n+   @Deprecated\n+   @Named(\"dynamicLargeObject: removeLargeFile\")\n+   @DELETE\n+   @Fallback(VoidOnNotFoundOr404.class)\n+   void removeLargeFile(@PathParam(\"containerName\") String container, @PathParam(\"objectName\") String name);","path":"apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/features/DynamicLargeObjectApi.java","position":129,"original_position":129,"commit_id":"0dff0ae919f6c11550300940aba5f3b7e96f7a77","original_commit_id":"0dff0ae919f6c11550300940aba5f3b7e96f7a77","user":{"login":"andrewgaul","id":848247,"avatar_url":"https://avatars2.githubusercontent.com/u/848247?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewgaul","html_url":"https://github.com/andrewgaul","followers_url":"https://api.github.com/users/andrewgaul/followers","following_url":"https://api.github.com/users/andrewgaul/following{/other_user}","gists_url":"https://api.github.com/users/andrewgaul/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewgaul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewgaul/subscriptions","organizations_url":"https://api.github.com/users/andrewgaul/orgs","repos_url":"https://api.github.com/users/andrewgaul/repos","events_url":"https://api.github.com/users/andrewgaul/events{/privacy}","received_events_url":"https://api.github.com/users/andrewgaul/received_events","type":"User","site_admin":false},"body":"What does this do differently than `ObjectApi.delete`?","created_at":"2017-05-24T01:03:17Z","updated_at":"2017-05-24T01:17:15Z","html_url":"https://github.com/jclouds/jclouds/pull/1105#discussion_r118140918","pull_request_url":"https://api.github.com/repos/jclouds/jclouds/pulls/1105","_links":{"self":{"href":"https://api.github.com/repos/jclouds/jclouds/pulls/comments/118140918"},"html":{"href":"https://github.com/jclouds/jclouds/pull/1105#discussion_r118140918"},"pull_request":{"href":"https://api.github.com/repos/jclouds/jclouds/pulls/1105"}}},"pull_request":{"url":"https://api.github.com/repos/jclouds/jclouds/pulls/1105","id":121977434,"html_url":"https://github.com/jclouds/jclouds/pull/1105","diff_url":"https://github.com/jclouds/jclouds/pull/1105.diff","patch_url":"https://github.com/jclouds/jclouds/pull/1105.patch","issue_url":"https://api.github.com/repos/jclouds/jclouds/issues/1105","number":1105,"state":"open","locked":false,"title":"DLO - Lower Level Provider API changes","user":{"login":"archupsg03","id":11436225,"avatar_url":"https://avatars2.githubusercontent.com/u/11436225?v=3","gravatar_id":"","url":"https://api.github.com/users/archupsg03","html_url":"https://github.com/archupsg03","followers_url":"https://api.github.com/users/archupsg03/followers","following_url":"https://api.github.com/users/archupsg03/following{/other_user}","gists_url":"https://api.github.com/users/archupsg03/gists{/gist_id}","starred_url":"https://api.github.com/users/archupsg03/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/archupsg03/subscriptions","organizations_url":"https://api.github.com/users/archupsg03/orgs","repos_url":"https://api.github.com/users/archupsg03/repos","events_url":"https://api.github.com/users/archupsg03/events{/privacy}","received_events_url":"https://api.github.com/users/archupsg03/received_events","type":"User","site_admin":false},"body":"","created_at":"2017-05-23T11:45:12Z","updated_at":"2017-05-24T01:17:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"942385a27a0f8695fe3d1a318d338782c134f2e1","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/jclouds/jclouds/pulls/1105/commits","review_comments_url":"https://api.github.com/repos/jclouds/jclouds/pulls/1105/comments","review_comment_url":"https://api.github.com/repos/jclouds/jclouds/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jclouds/jclouds/issues/1105/comments","statuses_url":"https://api.github.com/repos/jclouds/jclouds/statuses/0dff0ae919f6c11550300940aba5f3b7e96f7a77","head":{"label":"archupsg03:Lower_Level_Provider_API","ref":"Lower_Level_Provider_API","sha":"0dff0ae919f6c11550300940aba5f3b7e96f7a77","user":{"login":"archupsg03","id":11436225,"avatar_url":"https://avatars2.githubusercontent.com/u/11436225?v=3","gravatar_id":"","url":"https://api.github.com/users/archupsg03","html_url":"https://github.com/archupsg03","followers_url":"https://api.github.com/users/archupsg03/followers","following_url":"https://api.github.com/users/archupsg03/following{/other_user}","gists_url":"https://api.github.com/users/archupsg03/gists{/gist_id}","starred_url":"https://api.github.com/users/archupsg03/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/archupsg03/subscriptions","organizations_url":"https://api.github.com/users/archupsg03/orgs","repos_url":"https://api.github.com/users/archupsg03/repos","events_url":"https://api.github.com/users/archupsg03/events{/privacy}","received_events_url":"https://api.github.com/users/archupsg03/received_events","type":"User","site_admin":false},"repo":{"id":88232347,"name":"jclouds","full_name":"archupsg03/jclouds","owner":{"login":"archupsg03","id":11436225,"avatar_url":"https://avatars2.githubusercontent.com/u/11436225?v=3","gravatar_id":"","url":"https://api.github.com/users/archupsg03","html_url":"https://github.com/archupsg03","followers_url":"https://api.github.com/users/archupsg03/followers","following_url":"https://api.github.com/users/archupsg03/following{/other_user}","gists_url":"https://api.github.com/users/archupsg03/gists{/gist_id}","starred_url":"https://api.github.com/users/archupsg03/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/archupsg03/subscriptions","organizations_url":"https://api.github.com/users/archupsg03/orgs","repos_url":"https://api.github.com/users/archupsg03/repos","events_url":"https://api.github.com/users/archupsg03/events{/privacy}","received_events_url":"https://api.github.com/users/archupsg03/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/archupsg03/jclouds","description":"Read-only mirror of ASF Git Repo for jclouds","fork":true,"url":"https://api.github.com/repos/archupsg03/jclouds","forks_url":"https://api.github.com/repos/archupsg03/jclouds/forks","keys_url":"https://api.github.com/repos/archupsg03/jclouds/keys{/key_id}","collaborators_url":"https://api.github.com/repos/archupsg03/jclouds/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/archupsg03/jclouds/teams","hooks_url":"https://api.github.com/repos/archupsg03/jclouds/hooks","issue_events_url":"https://api.github.com/repos/archupsg03/jclouds/issues/events{/number}","events_url":"https://api.github.com/repos/archupsg03/jclouds/events","assignees_url":"https://api.github.com/repos/archupsg03/jclouds/assignees{/user}","branches_url":"https://api.github.com/repos/archupsg03/jclouds/branches{/branch}","tags_url":"https://api.github.com/repos/archupsg03/jclouds/tags","blobs_url":"https://api.github.com/repos/archupsg03/jclouds/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/archupsg03/jclouds/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/archupsg03/jclouds/git/refs{/sha}","trees_url":"https://api.github.com/repos/archupsg03/jclouds/git/trees{/sha}","statuses_url":"https://api.github.com/repos/archupsg03/jclouds/statuses/{sha}","languages_url":"https://api.github.com/repos/archupsg03/jclouds/languages","stargazers_url":"https://api.github.com/repos/archupsg03/jclouds/stargazers","contributors_url":"https://api.github.com/repos/archupsg03/jclouds/contributors","subscribers_url":"https://api.github.com/repos/archupsg03/jclouds/subscribers","subscription_url":"https://api.github.com/repos/archupsg03/jclouds/subscription","commits_url":"https://api.github.com/repos/archupsg03/jclouds/commits{/sha}","git_commits_url":"https://api.github.com/repos/archupsg03/jclouds/git/commits{/sha}","comments_url":"https://api.github.com/repos/archupsg03/jclouds/comments{/number}","issue_comment_url":"https://api.github.com/repos/archupsg03/jclouds/issues/comments{/number}","contents_url":"https://api.github.com/repos/archupsg03/jclouds/contents/{+path}","compare_url":"https://api.github.com/repos/archupsg03/jclouds/compare/{base}...{head}","merges_url":"https://api.github.com/repos/archupsg03/jclouds/merges","archive_url":"https://api.github.com/repos/archupsg03/jclouds/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/archupsg03/jclouds/downloads","issues_url":"https://api.github.com/repos/archupsg03/jclouds/issues{/number}","pulls_url":"https://api.github.com/repos/archupsg03/jclouds/pulls{/number}","milestones_url":"https://api.github.com/repos/archupsg03/jclouds/milestones{/number}","notifications_url":"https://api.github.com/repos/archupsg03/jclouds/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/archupsg03/jclouds/labels{/name}","releases_url":"https://api.github.com/repos/archupsg03/jclouds/releases{/id}","deployments_url":"https://api.github.com/repos/archupsg03/jclouds/deployments","created_at":"2017-04-14T04:17:55Z","updated_at":"2017-04-14T04:18:12Z","pushed_at":"2017-05-23T11:55:06Z","git_url":"git://github.com/archupsg03/jclouds.git","ssh_url":"git@github.com:archupsg03/jclouds.git","clone_url":"https://github.com/archupsg03/jclouds.git","svn_url":"https://github.com/archupsg03/jclouds","homepage":"http://jclouds.apache.org/","size":87618,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"jclouds:master","ref":"master","sha":"a9006288e81d54ab71ed393d3ff775c2825215ad","user":{"login":"jclouds","id":108982,"avatar_url":"https://avatars1.githubusercontent.com/u/108982?v=3","gravatar_id":"","url":"https://api.github.com/users/jclouds","html_url":"https://github.com/jclouds","followers_url":"https://api.github.com/users/jclouds/followers","following_url":"https://api.github.com/users/jclouds/following{/other_user}","gists_url":"https://api.github.com/users/jclouds/gists{/gist_id}","starred_url":"https://api.github.com/users/jclouds/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jclouds/subscriptions","organizations_url":"https://api.github.com/users/jclouds/orgs","repos_url":"https://api.github.com/users/jclouds/repos","events_url":"https://api.github.com/users/jclouds/events{/privacy}","received_events_url":"https://api.github.com/users/jclouds/received_events","type":"Organization","site_admin":false},"repo":{"id":10040960,"name":"jclouds","full_name":"jclouds/jclouds","owner":{"login":"jclouds","id":108982,"avatar_url":"https://avatars1.githubusercontent.com/u/108982?v=3","gravatar_id":"","url":"https://api.github.com/users/jclouds","html_url":"https://github.com/jclouds","followers_url":"https://api.github.com/users/jclouds/followers","following_url":"https://api.github.com/users/jclouds/following{/other_user}","gists_url":"https://api.github.com/users/jclouds/gists{/gist_id}","starred_url":"https://api.github.com/users/jclouds/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jclouds/subscriptions","organizations_url":"https://api.github.com/users/jclouds/orgs","repos_url":"https://api.github.com/users/jclouds/repos","events_url":"https://api.github.com/users/jclouds/events{/privacy}","received_events_url":"https://api.github.com/users/jclouds/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/jclouds/jclouds","description":"Read-only mirror of ASF Git Repo for jclouds","fork":false,"url":"https://api.github.com/repos/jclouds/jclouds","forks_url":"https://api.github.com/repos/jclouds/jclouds/forks","keys_url":"https://api.github.com/repos/jclouds/jclouds/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jclouds/jclouds/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jclouds/jclouds/teams","hooks_url":"https://api.github.com/repos/jclouds/jclouds/hooks","issue_events_url":"https://api.github.com/repos/jclouds/jclouds/issues/events{/number}","events_url":"https://api.github.com/repos/jclouds/jclouds/events","assignees_url":"https://api.github.com/repos/jclouds/jclouds/assignees{/user}","branches_url":"https://api.github.com/repos/jclouds/jclouds/branches{/branch}","tags_url":"https://api.github.com/repos/jclouds/jclouds/tags","blobs_url":"https://api.github.com/repos/jclouds/jclouds/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jclouds/jclouds/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jclouds/jclouds/git/refs{/sha}","trees_url":"https://api.github.com/repos/jclouds/jclouds/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jclouds/jclouds/statuses/{sha}","languages_url":"https://api.github.com/repos/jclouds/jclouds/languages","stargazers_url":"https://api.github.com/repos/jclouds/jclouds/stargazers","contributors_url":"https://api.github.com/repos/jclouds/jclouds/contributors","subscribers_url":"https://api.github.com/repos/jclouds/jclouds/subscribers","subscription_url":"https://api.github.com/repos/jclouds/jclouds/subscription","commits_url":"https://api.github.com/repos/jclouds/jclouds/commits{/sha}","git_commits_url":"https://api.github.com/repos/jclouds/jclouds/git/commits{/sha}","comments_url":"https://api.github.com/repos/jclouds/jclouds/comments{/number}","issue_comment_url":"https://api.github.com/repos/jclouds/jclouds/issues/comments{/number}","contents_url":"https://api.github.com/repos/jclouds/jclouds/contents/{+path}","compare_url":"https://api.github.com/repos/jclouds/jclouds/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jclouds/jclouds/merges","archive_url":"https://api.github.com/repos/jclouds/jclouds/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jclouds/jclouds/downloads","issues_url":"https://api.github.com/repos/jclouds/jclouds/issues{/number}","pulls_url":"https://api.github.com/repos/jclouds/jclouds/pulls{/number}","milestones_url":"https://api.github.com/repos/jclouds/jclouds/milestones{/number}","notifications_url":"https://api.github.com/repos/jclouds/jclouds/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jclouds/jclouds/labels{/name}","releases_url":"https://api.github.com/repos/jclouds/jclouds/releases{/id}","deployments_url":"https://api.github.com/repos/jclouds/jclouds/deployments","created_at":"2013-05-13T20:47:29Z","updated_at":"2017-05-11T19:01:33Z","pushed_at":"2017-05-23T13:12:45Z","git_url":"git://github.com/jclouds/jclouds.git","ssh_url":"git@github.com:jclouds/jclouds.git","clone_url":"https://github.com/jclouds/jclouds.git","svn_url":"https://github.com/jclouds/jclouds","homepage":"http://jclouds.apache.org/","size":87595,"stargazers_count":309,"watchers_count":309,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":441,"mirror_url":null,"open_issues_count":17,"forks":441,"open_issues":17,"watchers":309,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jclouds/jclouds/pulls/1105"},"html":{"href":"https://github.com/jclouds/jclouds/pull/1105"},"issue":{"href":"https://api.github.com/repos/jclouds/jclouds/issues/1105"},"comments":{"href":"https://api.github.com/repos/jclouds/jclouds/issues/1105/comments"},"review_comments":{"href":"https://api.github.com/repos/jclouds/jclouds/pulls/1105/comments"},"review_comment":{"href":"https://api.github.com/repos/jclouds/jclouds/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jclouds/jclouds/pulls/1105/commits"},"statuses":{"href":"https://api.github.com/repos/jclouds/jclouds/statuses/0dff0ae919f6c11550300940aba5f3b7e96f7a77"}}}}
{"actor":{"display_login":"andrewgaul"}}