{"action":"closed","number":2859,"pull_request":{"url":"https://api.github.com/repos/checkstyle/checkstyle/pulls/2859","id":57767557,"html_url":"https://github.com/checkstyle/checkstyle/pull/2859","diff_url":"https://github.com/checkstyle/checkstyle/pull/2859.diff","patch_url":"https://github.com/checkstyle/checkstyle/pull/2859.patch","issue_url":"https://api.github.com/repos/checkstyle/checkstyle/issues/2859","number":2859,"state":"closed","locked":false,"title":"Pull #2859: Disallow usage of java.util.Stack and java.util.Vector in code","user":{"login":"MEZk","id":7242568,"avatar_url":"https://avatars.githubusercontent.com/u/7242568?v=3","gravatar_id":"","url":"https://api.github.com/users/MEZk","html_url":"https://github.com/MEZk","followers_url":"https://api.github.com/users/MEZk/followers","following_url":"https://api.github.com/users/MEZk/following{/other_user}","gists_url":"https://api.github.com/users/MEZk/gists{/gist_id}","starred_url":"https://api.github.com/users/MEZk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MEZk/subscriptions","organizations_url":"https://api.github.com/users/MEZk/orgs","repos_url":"https://api.github.com/users/MEZk/repos","events_url":"https://api.github.com/users/MEZk/events{/privacy}","received_events_url":"https://api.github.com/users/MEZk/received_events","type":"User","site_admin":false},"body":"According to     \r\nhttps://docs.oracle.com/javase/7/docs/api/java/util/Stack.html\r\nhttps://docs.oracle.com/javase/7/docs/api/java/util/Vector.html\r\nhttp://stackoverflow.com/a/1386288/1015848\r\n\r\n>A more complete and consistent set of LIFO stack operations is provided by the Deque interface and its implementations, which should be used in preference to Stack class. \r\n\r\n>As of the Java 2 platform v1.2, Vector class was retrofitted to implement the List interface, making it a member of the Java Collections Framework. Unlike the new collection implementations, Vector is synchronized. If a thread-safe implementation is not needed, it is recommended to use ArrayList in place of Vector.\r\n\r\nSo, java.util.Vector and java.util.Stack should be prohibited in our code.\r\n\r\n@romani \r\nI used ForbidInstantiation and ForbidCertainImports from SevNTU Checkstyle. I did not use IllegalImport and/or ImportControl from the main project as them disallow usage of the whole package but not a certain classes from the package.\r\n\r\n","created_at":"2016-01-31T12:33:58Z","updated_at":"2016-02-01T18:01:05Z","closed_at":"2016-02-01T18:01:05Z","merged_at":"2016-02-01T18:01:05Z","merge_commit_sha":"92663d770858ed2c1e7dcae3323f6201a94b2bfd","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/checkstyle/checkstyle/pulls/2859/commits","review_comments_url":"https://api.github.com/repos/checkstyle/checkstyle/pulls/2859/comments","review_comment_url":"https://api.github.com/repos/checkstyle/checkstyle/pulls/comments{/number}","comments_url":"https://api.github.com/repos/checkstyle/checkstyle/issues/2859/comments","statuses_url":"https://api.github.com/repos/checkstyle/checkstyle/statuses/b30c00753a2c0e6c6d63ba27e566e296d281abfe","head":{"label":"MEZk:disallow-stack-vector","ref":"disallow-stack-vector","sha":"b30c00753a2c0e6c6d63ba27e566e296d281abfe","user":{"login":"MEZk","id":7242568,"avatar_url":"https://avatars.githubusercontent.com/u/7242568?v=3","gravatar_id":"","url":"https://api.github.com/users/MEZk","html_url":"https://github.com/MEZk","followers_url":"https://api.github.com/users/MEZk/followers","following_url":"https://api.github.com/users/MEZk/following{/other_user}","gists_url":"https://api.github.com/users/MEZk/gists{/gist_id}","starred_url":"https://api.github.com/users/MEZk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MEZk/subscriptions","organizations_url":"https://api.github.com/users/MEZk/orgs","repos_url":"https://api.github.com/users/MEZk/repos","events_url":"https://api.github.com/users/MEZk/events{/privacy}","received_events_url":"https://api.github.com/users/MEZk/received_events","type":"User","site_admin":false},"repo":{"id":38616150,"name":"checkstyle","full_name":"MEZk/checkstyle","owner":{"login":"MEZk","id":7242568,"avatar_url":"https://avatars.githubusercontent.com/u/7242568?v=3","gravatar_id":"","url":"https://api.github.com/users/MEZk","html_url":"https://github.com/MEZk","followers_url":"https://api.github.com/users/MEZk/followers","following_url":"https://api.github.com/users/MEZk/following{/other_user}","gists_url":"https://api.github.com/users/MEZk/gists{/gist_id}","starred_url":"https://api.github.com/users/MEZk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MEZk/subscriptions","organizations_url":"https://api.github.com/users/MEZk/orgs","repos_url":"https://api.github.com/users/MEZk/repos","events_url":"https://api.github.com/users/MEZk/events{/privacy}","received_events_url":"https://api.github.com/users/MEZk/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/MEZk/checkstyle","description":"Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.","fork":true,"url":"https://api.github.com/repos/MEZk/checkstyle","forks_url":"https://api.github.com/repos/MEZk/checkstyle/forks","keys_url":"https://api.github.com/repos/MEZk/checkstyle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MEZk/checkstyle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MEZk/checkstyle/teams","hooks_url":"https://api.github.com/repos/MEZk/checkstyle/hooks","issue_events_url":"https://api.github.com/repos/MEZk/checkstyle/issues/events{/number}","events_url":"https://api.github.com/repos/MEZk/checkstyle/events","assignees_url":"https://api.github.com/repos/MEZk/checkstyle/assignees{/user}","branches_url":"https://api.github.com/repos/MEZk/checkstyle/branches{/branch}","tags_url":"https://api.github.com/repos/MEZk/checkstyle/tags","blobs_url":"https://api.github.com/repos/MEZk/checkstyle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MEZk/checkstyle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MEZk/checkstyle/git/refs{/sha}","trees_url":"https://api.github.com/repos/MEZk/checkstyle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MEZk/checkstyle/statuses/{sha}","languages_url":"https://api.github.com/repos/MEZk/checkstyle/languages","stargazers_url":"https://api.github.com/repos/MEZk/checkstyle/stargazers","contributors_url":"https://api.github.com/repos/MEZk/checkstyle/contributors","subscribers_url":"https://api.github.com/repos/MEZk/checkstyle/subscribers","subscription_url":"https://api.github.com/repos/MEZk/checkstyle/subscription","commits_url":"https://api.github.com/repos/MEZk/checkstyle/commits{/sha}","git_commits_url":"https://api.github.com/repos/MEZk/checkstyle/git/commits{/sha}","comments_url":"https://api.github.com/repos/MEZk/checkstyle/comments{/number}","issue_comment_url":"https://api.github.com/repos/MEZk/checkstyle/issues/comments{/number}","contents_url":"https://api.github.com/repos/MEZk/checkstyle/contents/{+path}","compare_url":"https://api.github.com/repos/MEZk/checkstyle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MEZk/checkstyle/merges","archive_url":"https://api.github.com/repos/MEZk/checkstyle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MEZk/checkstyle/downloads","issues_url":"https://api.github.com/repos/MEZk/checkstyle/issues{/number}","pulls_url":"https://api.github.com/repos/MEZk/checkstyle/pulls{/number}","milestones_url":"https://api.github.com/repos/MEZk/checkstyle/milestones{/number}","notifications_url":"https://api.github.com/repos/MEZk/checkstyle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MEZk/checkstyle/labels{/name}","releases_url":"https://api.github.com/repos/MEZk/checkstyle/releases{/id}","deployments_url":"https://api.github.com/repos/MEZk/checkstyle/deployments","created_at":"2015-07-06T12:01:38Z","updated_at":"2015-07-06T12:01:41Z","pushed_at":"2016-01-31T17:57:15Z","git_url":"git://github.com/MEZk/checkstyle.git","ssh_url":"git@github.com:MEZk/checkstyle.git","clone_url":"https://github.com/MEZk/checkstyle.git","svn_url":"https://github.com/MEZk/checkstyle","homepage":"http://checkstyle.sourceforge.net/","size":49396,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"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":"checkstyle:master","ref":"master","sha":"c934e12cfc1c65efa84c064a13dc0698e84f61c0","user":{"login":"checkstyle","id":5179750,"avatar_url":"https://avatars.githubusercontent.com/u/5179750?v=3","gravatar_id":"","url":"https://api.github.com/users/checkstyle","html_url":"https://github.com/checkstyle","followers_url":"https://api.github.com/users/checkstyle/followers","following_url":"https://api.github.com/users/checkstyle/following{/other_user}","gists_url":"https://api.github.com/users/checkstyle/gists{/gist_id}","starred_url":"https://api.github.com/users/checkstyle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/checkstyle/subscriptions","organizations_url":"https://api.github.com/users/checkstyle/orgs","repos_url":"https://api.github.com/users/checkstyle/repos","events_url":"https://api.github.com/users/checkstyle/events{/privacy}","received_events_url":"https://api.github.com/users/checkstyle/received_events","type":"Organization","site_admin":false},"repo":{"id":12499251,"name":"checkstyle","full_name":"checkstyle/checkstyle","owner":{"login":"checkstyle","id":5179750,"avatar_url":"https://avatars.githubusercontent.com/u/5179750?v=3","gravatar_id":"","url":"https://api.github.com/users/checkstyle","html_url":"https://github.com/checkstyle","followers_url":"https://api.github.com/users/checkstyle/followers","following_url":"https://api.github.com/users/checkstyle/following{/other_user}","gists_url":"https://api.github.com/users/checkstyle/gists{/gist_id}","starred_url":"https://api.github.com/users/checkstyle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/checkstyle/subscriptions","organizations_url":"https://api.github.com/users/checkstyle/orgs","repos_url":"https://api.github.com/users/checkstyle/repos","events_url":"https://api.github.com/users/checkstyle/events{/privacy}","received_events_url":"https://api.github.com/users/checkstyle/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/checkstyle/checkstyle","description":"Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.","fork":false,"url":"https://api.github.com/repos/checkstyle/checkstyle","forks_url":"https://api.github.com/repos/checkstyle/checkstyle/forks","keys_url":"https://api.github.com/repos/checkstyle/checkstyle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/checkstyle/checkstyle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/checkstyle/checkstyle/teams","hooks_url":"https://api.github.com/repos/checkstyle/checkstyle/hooks","issue_events_url":"https://api.github.com/repos/checkstyle/checkstyle/issues/events{/number}","events_url":"https://api.github.com/repos/checkstyle/checkstyle/events","assignees_url":"https://api.github.com/repos/checkstyle/checkstyle/assignees{/user}","branches_url":"https://api.github.com/repos/checkstyle/checkstyle/branches{/branch}","tags_url":"https://api.github.com/repos/checkstyle/checkstyle/tags","blobs_url":"https://api.github.com/repos/checkstyle/checkstyle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/checkstyle/checkstyle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/checkstyle/checkstyle/git/refs{/sha}","trees_url":"https://api.github.com/repos/checkstyle/checkstyle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/checkstyle/checkstyle/statuses/{sha}","languages_url":"https://api.github.com/repos/checkstyle/checkstyle/languages","stargazers_url":"https://api.github.com/repos/checkstyle/checkstyle/stargazers","contributors_url":"https://api.github.com/repos/checkstyle/checkstyle/contributors","subscribers_url":"https://api.github.com/repos/checkstyle/checkstyle/subscribers","subscription_url":"https://api.github.com/repos/checkstyle/checkstyle/subscription","commits_url":"https://api.github.com/repos/checkstyle/checkstyle/commits{/sha}","git_commits_url":"https://api.github.com/repos/checkstyle/checkstyle/git/commits{/sha}","comments_url":"https://api.github.com/repos/checkstyle/checkstyle/comments{/number}","issue_comment_url":"https://api.github.com/repos/checkstyle/checkstyle/issues/comments{/number}","contents_url":"https://api.github.com/repos/checkstyle/checkstyle/contents/{+path}","compare_url":"https://api.github.com/repos/checkstyle/checkstyle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/checkstyle/checkstyle/merges","archive_url":"https://api.github.com/repos/checkstyle/checkstyle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/checkstyle/checkstyle/downloads","issues_url":"https://api.github.com/repos/checkstyle/checkstyle/issues{/number}","pulls_url":"https://api.github.com/repos/checkstyle/checkstyle/pulls{/number}","milestones_url":"https://api.github.com/repos/checkstyle/checkstyle/milestones{/number}","notifications_url":"https://api.github.com/repos/checkstyle/checkstyle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/checkstyle/checkstyle/labels{/name}","releases_url":"https://api.github.com/repos/checkstyle/checkstyle/releases{/id}","deployments_url":"https://api.github.com/repos/checkstyle/checkstyle/deployments","created_at":"2013-08-31T02:05:05Z","updated_at":"2016-02-01T09:21:01Z","pushed_at":"2016-02-01T18:01:04Z","git_url":"git://github.com/checkstyle/checkstyle.git","ssh_url":"git@github.com:checkstyle/checkstyle.git","clone_url":"https://github.com/checkstyle/checkstyle.git","svn_url":"https://github.com/checkstyle/checkstyle","homepage":"http://checkstyle.sourceforge.net/","size":52662,"stargazers_count":865,"watchers_count":865,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":393,"mirror_url":null,"open_issues_count":214,"forks":393,"open_issues":214,"watchers":865,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/checkstyle/checkstyle/pulls/2859"},"html":{"href":"https://github.com/checkstyle/checkstyle/pull/2859"},"issue":{"href":"https://api.github.com/repos/checkstyle/checkstyle/issues/2859"},"comments":{"href":"https://api.github.com/repos/checkstyle/checkstyle/issues/2859/comments"},"review_comments":{"href":"https://api.github.com/repos/checkstyle/checkstyle/pulls/2859/comments"},"review_comment":{"href":"https://api.github.com/repos/checkstyle/checkstyle/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/checkstyle/checkstyle/pulls/2859/commits"},"statuses":{"href":"https://api.github.com/repos/checkstyle/checkstyle/statuses/b30c00753a2c0e6c6d63ba27e566e296d281abfe"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"romani","id":812984,"avatar_url":"https://avatars.githubusercontent.com/u/812984?v=3","gravatar_id":"","url":"https://api.github.com/users/romani","html_url":"https://github.com/romani","followers_url":"https://api.github.com/users/romani/followers","following_url":"https://api.github.com/users/romani/following{/other_user}","gists_url":"https://api.github.com/users/romani/gists{/gist_id}","starred_url":"https://api.github.com/users/romani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/romani/subscriptions","organizations_url":"https://api.github.com/users/romani/orgs","repos_url":"https://api.github.com/users/romani/repos","events_url":"https://api.github.com/users/romani/events{/privacy}","received_events_url":"https://api.github.com/users/romani/received_events","type":"User","site_admin":false},"comments":2,"review_comments":0,"commits":1,"additions":9,"deletions":6,"changed_files":2}}