{"action":"created","comment":{"url":"https://api.github.com/repos/datanerds-io/avropatch/pulls/comments/92604041","pull_request_review_id":13119861,"id":92604041,"diff_hunk":"@@ -0,0 +1,116 @@\n+package io.datanerds.avropatch.serialization;\n+\n+import io.datanerds.avropatch.operation.*;\n+\n+import java.math.BigDecimal;\n+import java.math.BigInteger;\n+import java.util.ArrayList;\n+import java.util.Date;\n+import java.util.List;\n+import java.util.Random;\n+import java.util.function.Supplier;\n+\n+enum OperationGenerator {\n+\n+    @SuppressWarnings(\"unchecked\")\n+    ADD(() -> new Add(generatePath(), generateValue())),\n+    COPY(() -> new Copy(generatePath(), generatePath())),\n+    MOVE(() -> new Move(generatePath(), generatePath())),\n+    REMOVE(() -> new Remove(generatePath())),\n+    REPLACE(() -> new Replace<>(generatePath(), generateValue())),\n+    @SuppressWarnings(\"unchecked\")\n+    TEST(() -> new io.datanerds.avropatch.operation.Test(generatePath(), generateValue()));\n+\n+    private static final Random random = new Random();\n+    private static final int MAX_LIST_SIZE = 50;\n+    private final Supplier<Operation> operationSupplier;\n+\n+    OperationGenerator(Supplier<Operation> operationSupplier) {\n+        this.operationSupplier = operationSupplier;\n+    }\n+\n+    public static Operation generate() {\n+        OperationGenerator operationType = values()[random.nextInt(values().length)];","path":"src/test/java/io/datanerds/avropatch/serialization/OperationGenerator.java","position":33,"original_position":33,"commit_id":"41b78f4cde2cf63df721537f713e2785cd8b44fe","original_commit_id":"41b78f4cde2cf63df721537f713e2785cd8b44fe","user":{"login":"dhiller","id":809335,"avatar_url":"https://avatars.githubusercontent.com/u/809335?v=3","gravatar_id":"","url":"https://api.github.com/users/dhiller","html_url":"https://github.com/dhiller","followers_url":"https://api.github.com/users/dhiller/followers","following_url":"https://api.github.com/users/dhiller/following{/other_user}","gists_url":"https://api.github.com/users/dhiller/gists{/gist_id}","starred_url":"https://api.github.com/users/dhiller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dhiller/subscriptions","organizations_url":"https://api.github.com/users/dhiller/orgs","repos_url":"https://api.github.com/users/dhiller/repos","events_url":"https://api.github.com/users/dhiller/events{/privacy}","received_events_url":"https://api.github.com/users/dhiller/received_events","type":"User","site_admin":false},"body":"Inline variable as it's only used once.","created_at":"2016-12-15T13:01:23Z","updated_at":"2016-12-15T13:07:31Z","html_url":"https://github.com/datanerds-io/avropatch/pull/6#discussion_r92604041","pull_request_url":"https://api.github.com/repos/datanerds-io/avropatch/pulls/6","_links":{"self":{"href":"https://api.github.com/repos/datanerds-io/avropatch/pulls/comments/92604041"},"html":{"href":"https://github.com/datanerds-io/avropatch/pull/6#discussion_r92604041"},"pull_request":{"href":"https://api.github.com/repos/datanerds-io/avropatch/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/datanerds-io/avropatch/pulls/6","id":94254483,"html_url":"https://github.com/datanerds-io/avropatch/pull/6","diff_url":"https://github.com/datanerds-io/avropatch/pull/6.diff","patch_url":"https://github.com/datanerds-io/avropatch/pull/6.patch","issue_url":"https://api.github.com/repos/datanerds-io/avropatch/issues/6","number":6,"state":"open","locked":false,"title":"Feature/concurrency tests","user":{"login":"frankwis","id":7554294,"avatar_url":"https://avatars.githubusercontent.com/u/7554294?v=3","gravatar_id":"","url":"https://api.github.com/users/frankwis","html_url":"https://github.com/frankwis","followers_url":"https://api.github.com/users/frankwis/followers","following_url":"https://api.github.com/users/frankwis/following{/other_user}","gists_url":"https://api.github.com/users/frankwis/gists{/gist_id}","starred_url":"https://api.github.com/users/frankwis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frankwis/subscriptions","organizations_url":"https://api.github.com/users/frankwis/orgs","repos_url":"https://api.github.com/users/frankwis/repos","events_url":"https://api.github.com/users/frankwis/events{/privacy}","received_events_url":"https://api.github.com/users/frankwis/received_events","type":"User","site_admin":false},"body":"* Added custom types and conversion for UUID, Date, BigInteger and BigDecimal\r\n* Fixed initialization of custom type converters\r\n* Added types for custom values and operations, fixed conversion\r\n* CustomTypeSerializer and corresponding Builder\r\n* Added headers to Patch operation\r\n* Concurrency tests for serialization","created_at":"2016-11-17T21:28:27Z","updated_at":"2016-12-15T13:07:31Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5b7d2bf37897bd005559306f06845b343be11c55","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/datanerds-io/avropatch/pulls/6/commits","review_comments_url":"https://api.github.com/repos/datanerds-io/avropatch/pulls/6/comments","review_comment_url":"https://api.github.com/repos/datanerds-io/avropatch/pulls/comments{/number}","comments_url":"https://api.github.com/repos/datanerds-io/avropatch/issues/6/comments","statuses_url":"https://api.github.com/repos/datanerds-io/avropatch/statuses/41b78f4cde2cf63df721537f713e2785cd8b44fe","head":{"label":"datanerds-io:feature/Concurrency_tests","ref":"feature/Concurrency_tests","sha":"41b78f4cde2cf63df721537f713e2785cd8b44fe","user":{"login":"datanerds-io","id":13678868,"avatar_url":"https://avatars.githubusercontent.com/u/13678868?v=3","gravatar_id":"","url":"https://api.github.com/users/datanerds-io","html_url":"https://github.com/datanerds-io","followers_url":"https://api.github.com/users/datanerds-io/followers","following_url":"https://api.github.com/users/datanerds-io/following{/other_user}","gists_url":"https://api.github.com/users/datanerds-io/gists{/gist_id}","starred_url":"https://api.github.com/users/datanerds-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/datanerds-io/subscriptions","organizations_url":"https://api.github.com/users/datanerds-io/orgs","repos_url":"https://api.github.com/users/datanerds-io/repos","events_url":"https://api.github.com/users/datanerds-io/events{/privacy}","received_events_url":"https://api.github.com/users/datanerds-io/received_events","type":"Organization","site_admin":false},"repo":{"id":52251899,"name":"avropatch","full_name":"datanerds-io/avropatch","owner":{"login":"datanerds-io","id":13678868,"avatar_url":"https://avatars.githubusercontent.com/u/13678868?v=3","gravatar_id":"","url":"https://api.github.com/users/datanerds-io","html_url":"https://github.com/datanerds-io","followers_url":"https://api.github.com/users/datanerds-io/followers","following_url":"https://api.github.com/users/datanerds-io/following{/other_user}","gists_url":"https://api.github.com/users/datanerds-io/gists{/gist_id}","starred_url":"https://api.github.com/users/datanerds-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/datanerds-io/subscriptions","organizations_url":"https://api.github.com/users/datanerds-io/orgs","repos_url":"https://api.github.com/users/datanerds-io/repos","events_url":"https://api.github.com/users/datanerds-io/events{/privacy}","received_events_url":"https://api.github.com/users/datanerds-io/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/datanerds-io/avropatch","description":"An Avro implementation of JSON Patch as defined in RFC 6902","fork":false,"url":"https://api.github.com/repos/datanerds-io/avropatch","forks_url":"https://api.github.com/repos/datanerds-io/avropatch/forks","keys_url":"https://api.github.com/repos/datanerds-io/avropatch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/datanerds-io/avropatch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/datanerds-io/avropatch/teams","hooks_url":"https://api.github.com/repos/datanerds-io/avropatch/hooks","issue_events_url":"https://api.github.com/repos/datanerds-io/avropatch/issues/events{/number}","events_url":"https://api.github.com/repos/datanerds-io/avropatch/events","assignees_url":"https://api.github.com/repos/datanerds-io/avropatch/assignees{/user}","branches_url":"https://api.github.com/repos/datanerds-io/avropatch/branches{/branch}","tags_url":"https://api.github.com/repos/datanerds-io/avropatch/tags","blobs_url":"https://api.github.com/repos/datanerds-io/avropatch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/datanerds-io/avropatch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/datanerds-io/avropatch/git/refs{/sha}","trees_url":"https://api.github.com/repos/datanerds-io/avropatch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/datanerds-io/avropatch/statuses/{sha}","languages_url":"https://api.github.com/repos/datanerds-io/avropatch/languages","stargazers_url":"https://api.github.com/repos/datanerds-io/avropatch/stargazers","contributors_url":"https://api.github.com/repos/datanerds-io/avropatch/contributors","subscribers_url":"https://api.github.com/repos/datanerds-io/avropatch/subscribers","subscription_url":"https://api.github.com/repos/datanerds-io/avropatch/subscription","commits_url":"https://api.github.com/repos/datanerds-io/avropatch/commits{/sha}","git_commits_url":"https://api.github.com/repos/datanerds-io/avropatch/git/commits{/sha}","comments_url":"https://api.github.com/repos/datanerds-io/avropatch/comments{/number}","issue_comment_url":"https://api.github.com/repos/datanerds-io/avropatch/issues/comments{/number}","contents_url":"https://api.github.com/repos/datanerds-io/avropatch/contents/{+path}","compare_url":"https://api.github.com/repos/datanerds-io/avropatch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/datanerds-io/avropatch/merges","archive_url":"https://api.github.com/repos/datanerds-io/avropatch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/datanerds-io/avropatch/downloads","issues_url":"https://api.github.com/repos/datanerds-io/avropatch/issues{/number}","pulls_url":"https://api.github.com/repos/datanerds-io/avropatch/pulls{/number}","milestones_url":"https://api.github.com/repos/datanerds-io/avropatch/milestones{/number}","notifications_url":"https://api.github.com/repos/datanerds-io/avropatch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/datanerds-io/avropatch/labels{/name}","releases_url":"https://api.github.com/repos/datanerds-io/avropatch/releases{/id}","deployments_url":"https://api.github.com/repos/datanerds-io/avropatch/deployments","created_at":"2016-02-22T06:27:02Z","updated_at":"2016-12-09T16:56:41Z","pushed_at":"2016-12-15T12:35:19Z","git_url":"git://github.com/datanerds-io/avropatch.git","ssh_url":"git@github.com:datanerds-io/avropatch.git","clone_url":"https://github.com/datanerds-io/avropatch.git","svn_url":"https://github.com/datanerds-io/avropatch","homepage":null,"size":64,"stargazers_count":3,"watchers_count":3,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":3,"default_branch":"develop"}},"base":{"label":"datanerds-io:develop","ref":"develop","sha":"70c943baf18f2f2859ec3639c1898d36afa4a31c","user":{"login":"datanerds-io","id":13678868,"avatar_url":"https://avatars.githubusercontent.com/u/13678868?v=3","gravatar_id":"","url":"https://api.github.com/users/datanerds-io","html_url":"https://github.com/datanerds-io","followers_url":"https://api.github.com/users/datanerds-io/followers","following_url":"https://api.github.com/users/datanerds-io/following{/other_user}","gists_url":"https://api.github.com/users/datanerds-io/gists{/gist_id}","starred_url":"https://api.github.com/users/datanerds-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/datanerds-io/subscriptions","organizations_url":"https://api.github.com/users/datanerds-io/orgs","repos_url":"https://api.github.com/users/datanerds-io/repos","events_url":"https://api.github.com/users/datanerds-io/events{/privacy}","received_events_url":"https://api.github.com/users/datanerds-io/received_events","type":"Organization","site_admin":false},"repo":{"id":52251899,"name":"avropatch","full_name":"datanerds-io/avropatch","owner":{"login":"datanerds-io","id":13678868,"avatar_url":"https://avatars.githubusercontent.com/u/13678868?v=3","gravatar_id":"","url":"https://api.github.com/users/datanerds-io","html_url":"https://github.com/datanerds-io","followers_url":"https://api.github.com/users/datanerds-io/followers","following_url":"https://api.github.com/users/datanerds-io/following{/other_user}","gists_url":"https://api.github.com/users/datanerds-io/gists{/gist_id}","starred_url":"https://api.github.com/users/datanerds-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/datanerds-io/subscriptions","organizations_url":"https://api.github.com/users/datanerds-io/orgs","repos_url":"https://api.github.com/users/datanerds-io/repos","events_url":"https://api.github.com/users/datanerds-io/events{/privacy}","received_events_url":"https://api.github.com/users/datanerds-io/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/datanerds-io/avropatch","description":"An Avro implementation of JSON Patch as defined in RFC 6902","fork":false,"url":"https://api.github.com/repos/datanerds-io/avropatch","forks_url":"https://api.github.com/repos/datanerds-io/avropatch/forks","keys_url":"https://api.github.com/repos/datanerds-io/avropatch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/datanerds-io/avropatch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/datanerds-io/avropatch/teams","hooks_url":"https://api.github.com/repos/datanerds-io/avropatch/hooks","issue_events_url":"https://api.github.com/repos/datanerds-io/avropatch/issues/events{/number}","events_url":"https://api.github.com/repos/datanerds-io/avropatch/events","assignees_url":"https://api.github.com/repos/datanerds-io/avropatch/assignees{/user}","branches_url":"https://api.github.com/repos/datanerds-io/avropatch/branches{/branch}","tags_url":"https://api.github.com/repos/datanerds-io/avropatch/tags","blobs_url":"https://api.github.com/repos/datanerds-io/avropatch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/datanerds-io/avropatch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/datanerds-io/avropatch/git/refs{/sha}","trees_url":"https://api.github.com/repos/datanerds-io/avropatch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/datanerds-io/avropatch/statuses/{sha}","languages_url":"https://api.github.com/repos/datanerds-io/avropatch/languages","stargazers_url":"https://api.github.com/repos/datanerds-io/avropatch/stargazers","contributors_url":"https://api.github.com/repos/datanerds-io/avropatch/contributors","subscribers_url":"https://api.github.com/repos/datanerds-io/avropatch/subscribers","subscription_url":"https://api.github.com/repos/datanerds-io/avropatch/subscription","commits_url":"https://api.github.com/repos/datanerds-io/avropatch/commits{/sha}","git_commits_url":"https://api.github.com/repos/datanerds-io/avropatch/git/commits{/sha}","comments_url":"https://api.github.com/repos/datanerds-io/avropatch/comments{/number}","issue_comment_url":"https://api.github.com/repos/datanerds-io/avropatch/issues/comments{/number}","contents_url":"https://api.github.com/repos/datanerds-io/avropatch/contents/{+path}","compare_url":"https://api.github.com/repos/datanerds-io/avropatch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/datanerds-io/avropatch/merges","archive_url":"https://api.github.com/repos/datanerds-io/avropatch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/datanerds-io/avropatch/downloads","issues_url":"https://api.github.com/repos/datanerds-io/avropatch/issues{/number}","pulls_url":"https://api.github.com/repos/datanerds-io/avropatch/pulls{/number}","milestones_url":"https://api.github.com/repos/datanerds-io/avropatch/milestones{/number}","notifications_url":"https://api.github.com/repos/datanerds-io/avropatch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/datanerds-io/avropatch/labels{/name}","releases_url":"https://api.github.com/repos/datanerds-io/avropatch/releases{/id}","deployments_url":"https://api.github.com/repos/datanerds-io/avropatch/deployments","created_at":"2016-02-22T06:27:02Z","updated_at":"2016-12-09T16:56:41Z","pushed_at":"2016-12-15T12:35:19Z","git_url":"git://github.com/datanerds-io/avropatch.git","ssh_url":"git@github.com:datanerds-io/avropatch.git","clone_url":"https://github.com/datanerds-io/avropatch.git","svn_url":"https://github.com/datanerds-io/avropatch","homepage":null,"size":64,"stargazers_count":3,"watchers_count":3,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":3,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/datanerds-io/avropatch/pulls/6"},"html":{"href":"https://github.com/datanerds-io/avropatch/pull/6"},"issue":{"href":"https://api.github.com/repos/datanerds-io/avropatch/issues/6"},"comments":{"href":"https://api.github.com/repos/datanerds-io/avropatch/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/datanerds-io/avropatch/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/datanerds-io/avropatch/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/datanerds-io/avropatch/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/datanerds-io/avropatch/statuses/41b78f4cde2cf63df721537f713e2785cd8b44fe"}}}}
{"actor":{"display_login":"dhiller"}}