GitHub PullRequestReviewCommentEvent at 2014-08-28 22:12:14
Repository: dasein-cloud-core
Actor: ckelner
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/greese/dasein-cloud-core/pulls/comments/16871327","id":16871327,"diff_hunk":"@@ -0,0 +1,57 @@\n+package org.dasein.cloud.compute;\n+\n+import org.dasein.cloud.CloudException;\n+import org.dasein.cloud.CloudProvider;\n+import org.dasein.cloud.InternalException;\n+import org.dasein.cloud.Tag;\n+import org.dasein.cloud.util.TagUtils;\n+\n+import javax.annotation.Nonnull;\n+import java.util.ArrayList;\n+import java.util.Collection;\n+\n+/**\n+ * Default implementation of auto scaling support\n+ * User: Eugene Yaroslavtsev\n+ * Date: 31.07.2014\n+ */\n+public abstract class AbstractAutoScalingSupport implements AutoScalingSupport {\n+    private CloudProvider provider;\n+\n+    public AbstractAutoScalingSupport(@Nonnull CloudProvider provider) {\n+        this.provider = provider;\n+    }\n+\n+    @Override\n+    public void setTags(@Nonnull String providerScalingGroupId, @Nonnull AutoScalingTag... tags) throws CloudException, InternalException {\n+        setTags(new String[]{providerScalingGroupId}, tags);\n+    }\n+\n+    @Override\n+    public void setTags(@Nonnull String[] providerScalingGroupIds, @Nonnull AutoScalingTag... tags) throws CloudException, InternalException {\n+        for (String id : providerScalingGroupIds) {\n+\n+            Collection<AutoScalingTag> collectionForDelete = getTagsForDelete(getScalingGroup(id).getTags(), tags);\n+\n+            if (collectionForDelete != null) {\n+                removeTags(new String[]{id}, collectionForDelete.toArray(new AutoScalingTag[collectionForDelete.size()]));\n+            }\n+\n+            updateTags(new String[]{id}, tags);\n+        }\n+    }\n+\n+    static public Collection<AutoScalingTag> getTagsForDelete(AutoScalingTag[] all, Tag[] tags) {\n+        Collection<AutoScalingTag> result = null;\n+        if (all != null) {","path":"src/main/java/org/dasein/cloud/compute/AbstractAutoScalingSupport.java","position":46,"original_position":46,"commit_id":"63a6543d2011f83d9d21ecc1076e2c854702ebc1","original_commit_id":"63a6543d2011f83d9d21ecc1076e2c854702ebc1","user":{"login":"ckelner","id":133862,"avatar_url":"https://avatars.githubusercontent.com/u/133862?v=2","gravatar_id":"8fb76e36ef65d0de706db18f270980b7","url":"https://api.github.com/users/ckelner","html_url":"https://github.com/ckelner","followers_url":"https://api.github.com/users/ckelner/followers","following_url":"https://api.github.com/users/ckelner/following{/other_user}","gists_url":"https://api.github.com/users/ckelner/gists{/gist_id}","starred_url":"https://api.github.com/users/ckelner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ckelner/subscriptions","organizations_url":"https://api.github.com/users/ckelner/orgs","repos_url":"https://api.github.com/users/ckelner/repos","events_url":"https://api.github.com/users/ckelner/events{/privacy}","received_events_url":"https://api.github.com/users/ckelner/received_events","type":"User","site_admin":false},"body":"@eyaroslavtsev could you please update this code per @maksimov comments?\r\n\r\nChanges should be made within https://github.com/TheWeatherCompany/dasein-cloud-core/tree/twc-push-upstream-2014-08-28","created_at":"2014-08-28T22:12:14Z","updated_at":"2014-08-28T22:12:14Z","html_url":"https://github.com/greese/dasein-cloud-core/pull/270#discussion_r16871327","pull_request_url":"https://api.github.com/repos/greese/dasein-cloud-core/pulls/270","_links":{"self":{"href":"https://api.github.com/repos/greese/dasein-cloud-core/pulls/comments/16871327"},"html":{"href":"https://github.com/greese/dasein-cloud-core/pull/270#discussion_r16871327"},"pull_request":{"href":"https://api.github.com/repos/greese/dasein-cloud-core/pulls/270"}}},"pull_request":{"url":"https://api.github.com/repos/greese/dasein-cloud-core/pulls/270","id":20442243,"html_url":"https://github.com/greese/dasein-cloud-core/pull/270","diff_url":"https://github.com/greese/dasein-cloud-core/pull/270.diff","patch_url":"https://github.com/greese/dasein-cloud-core/pull/270.patch","issue_url":"https://api.github.com/repos/greese/dasein-cloud-core/issues/270","number":270,"state":"open","locked":false,"title":"TWC Patch 2014-08-28","user":{"login":"ckelner","id":133862,"avatar_url":"https://avatars.githubusercontent.com/u/133862?v=2","gravatar_id":"8fb76e36ef65d0de706db18f270980b7","url":"https://api.github.com/users/ckelner","html_url":"https://github.com/ckelner","followers_url":"https://api.github.com/users/ckelner/followers","following_url":"https://api.github.com/users/ckelner/following{/other_user}","gists_url":"https://api.github.com/users/ckelner/gists{/gist_id}","starred_url":"https://api.github.com/users/ckelner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ckelner/subscriptions","organizations_url":"https://api.github.com/users/ckelner/orgs","repos_url":"https://api.github.com/users/ckelner/repos","events_url":"https://api.github.com/users/ckelner/events{/privacy}","received_events_url":"https://api.github.com/users/ckelner/received_events","type":"User","site_admin":false},"body":"Apologies for the large PR again. In the currents of change I haven't been able to get a process in place to do PRs per patch/feature. As of tomorrow that process should be in place though, so you should be seeing much smaller patches from us.\r\n\r\nChanges:\r\n- New operation to the MachineImageSupport: copyImage, which copies given image to another region.\r\n- Main property to RoutingTable -- allows identification of main/default routetables over others.\r\n- Support for attributes (crossDataCenter, timeout, etc) on load balancers.\r\n- Add/remove listener support to load balancers.\r\n- Ability to set firewalls when creating load balancer.\r\n- Add health check info to LoadBalancer.\r\n- Add volume info to machine image.\r\n- Add set/list notificationConfigs to AutoScalingSupport.\r\n- Added synchronous call to create tags.\r\n- Deprecated subnetIds property (comma separated string) and added new String array for subnetIds in Scaling Groups.","created_at":"2014-08-28T14:34:17Z","updated_at":"2014-08-28T22:12:14Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1dc39ddadc6fc70fe17a093392915420640c4cca","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/greese/dasein-cloud-core/pulls/270/commits","review_comments_url":"https://api.github.com/repos/greese/dasein-cloud-core/pulls/270/comments","review_comment_url":"https://api.github.com/repos/greese/dasein-cloud-core/pulls/comments/{number}","comments_url":"https://api.github.com/repos/greese/dasein-cloud-core/issues/270/comments","statuses_url":"https://api.github.com/repos/greese/dasein-cloud-core/statuses/63a6543d2011f83d9d21ecc1076e2c854702ebc1","head":{"label":"TheWeatherCompany:twc-push-upstream-2014-08-28","ref":"twc-push-upstream-2014-08-28","sha":"63a6543d2011f83d9d21ecc1076e2c854702ebc1","user":{"login":"TheWeatherCompany","id":2650031,"avatar_url":"https://avatars.githubusercontent.com/u/2650031?v=2","gravatar_id":"d4e3213513818eca3a233dd3b88c4113","url":"https://api.github.com/users/TheWeatherCompany","html_url":"https://github.com/TheWeatherCompany","followers_url":"https://api.github.com/users/TheWeatherCompany/followers","following_url":"https://api.github.com/users/TheWeatherCompany/following{/other_user}","gists_url":"https://api.github.com/users/TheWeatherCompany/gists{/gist_id}","starred_url":"https://api.github.com/users/TheWeatherCompany/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheWeatherCompany/subscriptions","organizations_url":"https://api.github.com/users/TheWeatherCompany/orgs","repos_url":"https://api.github.com/users/TheWeatherCompany/repos","events_url":"https://api.github.com/users/TheWeatherCompany/events{/privacy}","received_events_url":"https://api.github.com/users/TheWeatherCompany/received_events","type":"Organization","site_admin":false},"repo":{"id":8527304,"name":"dasein-cloud-core","full_name":"TheWeatherCompany/dasein-cloud-core","owner":{"login":"TheWeatherCompany","id":2650031,"avatar_url":"https://avatars.githubusercontent.com/u/2650031?v=2","gravatar_id":"d4e3213513818eca3a233dd3b88c4113","url":"https://api.github.com/users/TheWeatherCompany","html_url":"https://github.com/TheWeatherCompany","followers_url":"https://api.github.com/users/TheWeatherCompany/followers","following_url":"https://api.github.com/users/TheWeatherCompany/following{/other_user}","gists_url":"https://api.github.com/users/TheWeatherCompany/gists{/gist_id}","starred_url":"https://api.github.com/users/TheWeatherCompany/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheWeatherCompany/subscriptions","organizations_url":"https://api.github.com/users/TheWeatherCompany/orgs","repos_url":"https://api.github.com/users/TheWeatherCompany/repos","events_url":"https://api.github.com/users/TheWeatherCompany/events{/privacy}","received_events_url":"https://api.github.com/users/TheWeatherCompany/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/TheWeatherCompany/dasein-cloud-core","description":"The Dasein Cloud Core project defines the API against which your applications interact. Your applications do not need direct references to any other part of Dasein Cloud. You simply include the right cloud-specific JARs at runtime. For more information, see the Dasein Cloud home page at https://github.com/greese/dasein-cloud.","fork":true,"url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core","forks_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/forks","keys_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/teams","hooks_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/hooks","issue_events_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/issues/events{/number}","events_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/events","assignees_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/assignees{/user}","branches_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/branches{/branch}","tags_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/tags","blobs_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/statuses/{sha}","languages_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/languages","stargazers_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/stargazers","contributors_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/contributors","subscribers_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/subscribers","subscription_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/subscription","commits_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/issues/comments/{number}","contents_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/contents/{+path}","compare_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/merges","archive_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/downloads","issues_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/issues{/number}","pulls_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/pulls{/number}","milestones_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/milestones{/number}","notifications_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/labels{/name}","releases_url":"https://api.github.com/repos/TheWeatherCompany/dasein-cloud-core/releases{/id}","created_at":"2013-03-02T21:28:49Z","updated_at":"2014-07-02T22:55:43Z","pushed_at":"2014-08-28T14:33:44Z","git_url":"git://github.com/TheWeatherCompany/dasein-cloud-core.git","ssh_url":"git@github.com:TheWeatherCompany/dasein-cloud-core.git","clone_url":"https://github.com/TheWeatherCompany/dasein-cloud-core.git","svn_url":"https://github.com/TheWeatherCompany/dasein-cloud-core","homepage":"https://github.com/greese/dasein-cloud","size":5667,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":5,"forks":0,"open_issues":5,"watchers":0,"default_branch":"develop"}},"base":{"label":"greese:develop","ref":"develop","sha":"8c56286e6b528421c00e797ff1db610baa201f8f","user":{"login":"greese","id":234614,"avatar_url":"https://avatars.githubusercontent.com/u/234614?v=2","gravatar_id":"31666f1cacbd81fe7b81d86298d8154c","url":"https://api.github.com/users/greese","html_url":"https://github.com/greese","followers_url":"https://api.github.com/users/greese/followers","following_url":"https://api.github.com/users/greese/following{/other_user}","gists_url":"https://api.github.com/users/greese/gists{/gist_id}","starred_url":"https://api.github.com/users/greese/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/greese/subscriptions","organizations_url":"https://api.github.com/users/greese/orgs","repos_url":"https://api.github.com/users/greese/repos","events_url":"https://api.github.com/users/greese/events{/privacy}","received_events_url":"https://api.github.com/users/greese/received_events","type":"User","site_admin":false},"repo":{"id":4766702,"name":"dasein-cloud-core","full_name":"greese/dasein-cloud-core","owner":{"login":"greese","id":234614,"avatar_url":"https://avatars.githubusercontent.com/u/234614?v=2","gravatar_id":"31666f1cacbd81fe7b81d86298d8154c","url":"https://api.github.com/users/greese","html_url":"https://github.com/greese","followers_url":"https://api.github.com/users/greese/followers","following_url":"https://api.github.com/users/greese/following{/other_user}","gists_url":"https://api.github.com/users/greese/gists{/gist_id}","starred_url":"https://api.github.com/users/greese/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/greese/subscriptions","organizations_url":"https://api.github.com/users/greese/orgs","repos_url":"https://api.github.com/users/greese/repos","events_url":"https://api.github.com/users/greese/events{/privacy}","received_events_url":"https://api.github.com/users/greese/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/greese/dasein-cloud-core","description":"The Dasein Cloud Core project defines the API against which your applications interact. Your applications do not need direct references to any other part of Dasein Cloud. You simply include the right cloud-specific JARs at runtime. For more information, see the Dasein Cloud home page at https://github.com/greese/dasein-cloud.","fork":false,"url":"https://api.github.com/repos/greese/dasein-cloud-core","forks_url":"https://api.github.com/repos/greese/dasein-cloud-core/forks","keys_url":"https://api.github.com/repos/greese/dasein-cloud-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/greese/dasein-cloud-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/greese/dasein-cloud-core/teams","hooks_url":"https://api.github.com/repos/greese/dasein-cloud-core/hooks","issue_events_url":"https://api.github.com/repos/greese/dasein-cloud-core/issues/events{/number}","events_url":"https://api.github.com/repos/greese/dasein-cloud-core/events","assignees_url":"https://api.github.com/repos/greese/dasein-cloud-core/assignees{/user}","branches_url":"https://api.github.com/repos/greese/dasein-cloud-core/branches{/branch}","tags_url":"https://api.github.com/repos/greese/dasein-cloud-core/tags","blobs_url":"https://api.github.com/repos/greese/dasein-cloud-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/greese/dasein-cloud-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/greese/dasein-cloud-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/greese/dasein-cloud-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/greese/dasein-cloud-core/statuses/{sha}","languages_url":"https://api.github.com/repos/greese/dasein-cloud-core/languages","stargazers_url":"https://api.github.com/repos/greese/dasein-cloud-core/stargazers","contributors_url":"https://api.github.com/repos/greese/dasein-cloud-core/contributors","subscribers_url":"https://api.github.com/repos/greese/dasein-cloud-core/subscribers","subscription_url":"https://api.github.com/repos/greese/dasein-cloud-core/subscription","commits_url":"https://api.github.com/repos/greese/dasein-cloud-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/greese/dasein-cloud-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/greese/dasein-cloud-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/greese/dasein-cloud-core/issues/comments/{number}","contents_url":"https://api.github.com/repos/greese/dasein-cloud-core/contents/{+path}","compare_url":"https://api.github.com/repos/greese/dasein-cloud-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/greese/dasein-cloud-core/merges","archive_url":"https://api.github.com/repos/greese/dasein-cloud-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/greese/dasein-cloud-core/downloads","issues_url":"https://api.github.com/repos/greese/dasein-cloud-core/issues{/number}","pulls_url":"https://api.github.com/repos/greese/dasein-cloud-core/pulls{/number}","milestones_url":"https://api.github.com/repos/greese/dasein-cloud-core/milestones{/number}","notifications_url":"https://api.github.com/repos/greese/dasein-cloud-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/greese/dasein-cloud-core/labels{/name}","releases_url":"https://api.github.com/repos/greese/dasein-cloud-core/releases{/id}","created_at":"2012-06-23T18:42:17Z","updated_at":"2014-07-31T16:25:32Z","pushed_at":"2014-08-19T15:24:01Z","git_url":"git://github.com/greese/dasein-cloud-core.git","ssh_url":"git@github.com:greese/dasein-cloud-core.git","clone_url":"https://github.com/greese/dasein-cloud-core.git","svn_url":"https://github.com/greese/dasein-cloud-core","homepage":"https://github.com/greese/dasein-cloud","size":5889,"stargazers_count":8,"watchers_count":8,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":25,"mirror_url":null,"open_issues_count":20,"forks":25,"open_issues":20,"watchers":8,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/greese/dasein-cloud-core/pulls/270"},"html":{"href":"https://github.com/greese/dasein-cloud-core/pull/270"},"issue":{"href":"https://api.github.com/repos/greese/dasein-cloud-core/issues/270"},"comments":{"href":"https://api.github.com/repos/greese/dasein-cloud-core/issues/270/comments"},"review_comments":{"href":"https://api.github.com/repos/greese/dasein-cloud-core/pulls/270/comments"},"review_comment":{"href":"https://api.github.com/repos/greese/dasein-cloud-core/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/greese/dasein-cloud-core/pulls/270/commits"},"statuses":{"href":"https://api.github.com/repos/greese/dasein-cloud-core/statuses/63a6543d2011f83d9d21ecc1076e2c854702ebc1"}}}}