{"action":"created","issue":{"url":"https://api.github.com/repos/hazelcast/hazelcast-stabilizer/issues/489","labels_url":"https://api.github.com/repos/hazelcast/hazelcast-stabilizer/issues/489/labels{/name}","comments_url":"https://api.github.com/repos/hazelcast/hazelcast-stabilizer/issues/489/comments","events_url":"https://api.github.com/repos/hazelcast/hazelcast-stabilizer/issues/489/events","html_url":"https://github.com/hazelcast/hazelcast-stabilizer/pull/489","id":55930884,"number":489,"title":"Created RunWithWorker annotation and AbstractWorkerTask class.","user":{"login":"Donnerbart","id":4196298,"avatar_url":"https://avatars.githubusercontent.com/u/4196298?v=3","gravatar_id":"","url":"https://api.github.com/users/Donnerbart","html_url":"https://github.com/Donnerbart","followers_url":"https://api.github.com/users/Donnerbart/followers","following_url":"https://api.github.com/users/Donnerbart/following{/other_user}","gists_url":"https://api.github.com/users/Donnerbart/gists{/gist_id}","starred_url":"https://api.github.com/users/Donnerbart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Donnerbart/subscriptions","organizations_url":"https://api.github.com/users/Donnerbart/orgs","repos_url":"https://api.github.com/users/Donnerbart/repos","events_url":"https://api.github.com/users/Donnerbart/events{/privacy}","received_events_url":"https://api.github.com/users/Donnerbart/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hazelcast/hazelcast-stabilizer/labels/cleanup","name":"cleanup","color":"fbca04"},{"url":"https://api.github.com/repos/hazelcast/hazelcast-stabilizer/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"Donnerbart","id":4196298,"avatar_url":"https://avatars.githubusercontent.com/u/4196298?v=3","gravatar_id":"","url":"https://api.github.com/users/Donnerbart","html_url":"https://github.com/Donnerbart","followers_url":"https://api.github.com/users/Donnerbart/followers","following_url":"https://api.github.com/users/Donnerbart/following{/other_user}","gists_url":"https://api.github.com/users/Donnerbart/gists{/gist_id}","starred_url":"https://api.github.com/users/Donnerbart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Donnerbart/subscriptions","organizations_url":"https://api.github.com/users/Donnerbart/orgs","repos_url":"https://api.github.com/users/Donnerbart/repos","events_url":"https://api.github.com/users/Donnerbart/events{/privacy}","received_events_url":"https://api.github.com/users/Donnerbart/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/hazelcast/hazelcast-stabilizer/milestones/4","labels_url":"https://api.github.com/repos/hazelcast/hazelcast-stabilizer/milestones/4/labels","id":774943,"number":4,"title":"0.4","description":"","creator":{"login":"pveentjer","id":105243,"avatar_url":"https://avatars.githubusercontent.com/u/105243?v=3","gravatar_id":"","url":"https://api.github.com/users/pveentjer","html_url":"https://github.com/pveentjer","followers_url":"https://api.github.com/users/pveentjer/followers","following_url":"https://api.github.com/users/pveentjer/following{/other_user}","gists_url":"https://api.github.com/users/pveentjer/gists{/gist_id}","starred_url":"https://api.github.com/users/pveentjer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pveentjer/subscriptions","organizations_url":"https://api.github.com/users/pveentjer/orgs","repos_url":"https://api.github.com/users/pveentjer/repos","events_url":"https://api.github.com/users/pveentjer/events{/privacy}","received_events_url":"https://api.github.com/users/pveentjer/received_events","type":"User","site_admin":false},"open_issues":42,"closed_issues":126,"state":"open","created_at":"2014-09-02T08:12:11Z","updated_at":"2015-02-02T06:39:10Z","due_on":null,"closed_at":null},"comments":8,"created_at":"2015-01-29T17:34:39Z","updated_at":"2015-02-02T13:53:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/hazelcast/hazelcast-stabilizer/pulls/489","html_url":"https://github.com/hazelcast/hazelcast-stabilizer/pull/489","diff_url":"https://github.com/hazelcast/hazelcast-stabilizer/pull/489.diff","patch_url":"https://github.com/hazelcast/hazelcast-stabilizer/pull/489.patch"},"body":"This PR includes #484 where I already did some cleanup of `TestContainer`. Maybe you want to review that first, although some of the changes in that PR have been reworked here again, since I needed additional behavior for this feature. This PR is definitely bigger than I like it, but a lot of things had to be touched (reflection methods, property binding, test init).\r\n\r\nThis PR should also solve issue #485, because every worker thread will now have it's own `OperationSelector`, not just each test.\r\n\r\nThe old functionality with the `@Run` annotation is still 100% in place, so nothing has to be changed for the majority of tests. You can either use `@Run` or `@RunWithWorker` in a test, both annotations are not allowed. See `IntIntMapTest` and `StringStringMapTest` for an example of usage.\r\n\r\nA short list of changes, which have been made:\r\n* all reflection related methods have been moved to the new class `ReflectionUtil`\r\n* the annotations filters have been moved to a new class `AnnotationFilter`\r\n* a lot of new tests are in place (not for new stuff only, a lot of `TestContainer` functionality was not tested)\r\n* `TypeTest` and `PropertyBindingSupportTest` were still in a wrong package (`tests` vs. `test`)\r\n* an unused static method has been moved from `PropertyBindingSupportTest` to `JavaInstallationsRepositoryTest` (where it is actually used)\r\n* `TestContainer.assertSetupArguments()` forbids `Object` args now, which were allowed before (which made no sense, because we allow mixed arg types for `@Setup` method, so we don't know what to inject for `Object`)\r\n\r\nSorry for all collateral fixes, I tried to keep on track as good as possible during this big change."},"comment":{"url":"https://api.github.com/repos/hazelcast/hazelcast-stabilizer/issues/comments/72460722","html_url":"https://github.com/hazelcast/hazelcast-stabilizer/pull/489#issuecomment-72460722","issue_url":"https://api.github.com/repos/hazelcast/hazelcast-stabilizer/issues/489","id":72460722,"user":{"login":"pveentjer","id":105243,"avatar_url":"https://avatars.githubusercontent.com/u/105243?v=3","gravatar_id":"","url":"https://api.github.com/users/pveentjer","html_url":"https://github.com/pveentjer","followers_url":"https://api.github.com/users/pveentjer/followers","following_url":"https://api.github.com/users/pveentjer/following{/other_user}","gists_url":"https://api.github.com/users/pveentjer/gists{/gist_id}","starred_url":"https://api.github.com/users/pveentjer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pveentjer/subscriptions","organizations_url":"https://api.github.com/users/pveentjer/orgs","repos_url":"https://api.github.com/users/pveentjer/repos","events_url":"https://api.github.com/users/pveentjer/events{/privacy}","received_events_url":"https://api.github.com/users/pveentjer/received_events","type":"User","site_admin":false},"created_at":"2015-02-02T13:53:13Z","updated_at":"2015-02-02T13:53:13Z","body":"for the time being it is ok. "}}