{"action":"closed","number":1081,"pull_request":{"url":"https://api.github.com/repos/DSpace/DSpace/pulls/1081","id":46291488,"html_url":"https://github.com/DSpace/DSpace/pull/1081","diff_url":"https://github.com/DSpace/DSpace/pull/1081.diff","patch_url":"https://github.com/DSpace/DSpace/pull/1081.patch","issue_url":"https://api.github.com/repos/DSpace/DSpace/issues/1081","number":1081,"state":"closed","locked":false,"title":"DS-2701: Bug fix, cleanup and pgcrypto checking","user":{"login":"tdonohue","id":483997,"avatar_url":"https://avatars.githubusercontent.com/u/483997?v=3","gravatar_id":"","url":"https://api.github.com/users/tdonohue","html_url":"https://github.com/tdonohue","followers_url":"https://api.github.com/users/tdonohue/followers","following_url":"https://api.github.com/users/tdonohue/following{/other_user}","gists_url":"https://api.github.com/users/tdonohue/gists{/gist_id}","starred_url":"https://api.github.com/users/tdonohue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tdonohue/subscriptions","organizations_url":"https://api.github.com/users/tdonohue/orgs","repos_url":"https://api.github.com/users/tdonohue/repos","events_url":"https://api.github.com/users/tdonohue/events{/privacy}","received_events_url":"https://api.github.com/users/tdonohue/received_events","type":"User","site_admin":false},"body":"This PR provides some enhancements and a minor bug fix to the Services API branch. It also provides tools/fixes for DS-2716, because it automatically checks to see if 'pgcrypto' is installed and up-to-date, and provides reporting tools that let you know how to properly install 'pgcrypto'.\r\n\r\nhttps://jira.duraspace.org/browse/DS-2716\r\n\r\n* General code cleanup in DatabaseUtils and AbstractUnitTest (see https://github.com/DSpace/DSpace/commit/84f67cd771ef9df6dcd5b9ca036acfd8e4cdb19e)\r\n* Remove unnecessary MVCC setting for H2 (see also #582) (see https://github.com/DSpace/DSpace/commit/1de42c9b21d60b74d233c4b0e081d607177d8891)\r\n* Fix a bug where 'dspace-installer' wasn't being built properly. Occurred after upgrading maven-assembly-plugin to latest version (see https://github.com/DSpace/DSpace/commit/3c45c0d5542aaa5b0c46d93f2f0c3e0b3b8484ac)\r\n* Leave a comment in dspace.cfg about where DB settings are found now (see https://github.com/DSpace/DSpace/commit/e73c7b47fed58d34ae98decd0f897d1b8804316d)\r\n* For PostgreSQL databases, automatically check that 'pgcrypto' extension is installed AND version >= 1.1. If pgcrypto is NOT up-to-date, the 'migrate' will refuse to run and will report that the database is incompatible (see `PostgreSQLCryptoChecker` and new methods in `DatabaseUtils`).  Also provide new checks/reports in the `dspace database info` command to tell you whether `pgcrypto` needs installed, updated, etc.  (see https://github.com/DSpace/DSpace/commit/0a9aead126a5d4cbf6d1d2acf8f1002ee02a6037)\r\n* For PostgreSQL databases, check to see if a \"clean\" will succeed (requires special permissions based on how pgcrypto was installed). If \"clean\" will fail, throw a useful error message. If \"clean\" will likely work, run it (after auto-removing pgcrypto if needed).  (see https://github.com/DSpace/DSpace/commit/0b873f5e62d5ae7682e67165b12def4f0457e3f8)\r\n\r\nI've tested all these locally. I've also done some thorough testing of the 'pgcrypto' checks in all the following scenarios:\r\n* New, empty database, pgcrypto not installed\r\n* New, empty database, pgcrypto installed but wrong version\r\n* New, empty database, pgcrypto installed but not enabled on this DB\r\n* Old 5.x database, pgcrypto not installed\r\n* Old 5.x database, pgcrypto installed but wrong version\r\n* Old 5.x database, pgcrypto installed but not enabled on this DB\r\n\r\nThe majority of these changes are about providing more useful error messages from the \"./dspace database\" scripts (and fixing one assembly bug). I've done some thorough testing, but I'd appreciate a review from others.","created_at":"2015-09-29T15:20:40Z","updated_at":"2015-09-30T20:17:44Z","closed_at":"2015-09-30T20:17:44Z","merged_at":"2015-09-30T20:17:44Z","merge_commit_sha":"98723db81d793ec1feb179d6d7c25ad032bb1a14","assignee":null,"milestone":{"url":"https://api.github.com/repos/DSpace/DSpace/milestones/9","html_url":"https://github.com/DSpace/DSpace/milestones/6.0","labels_url":"https://api.github.com/repos/DSpace/DSpace/milestones/9/labels","id":942273,"number":9,"title":"6.0","description":null,"creator":{"login":"helix84","id":201026,"avatar_url":"https://avatars.githubusercontent.com/u/201026?v=3","gravatar_id":"","url":"https://api.github.com/users/helix84","html_url":"https://github.com/helix84","followers_url":"https://api.github.com/users/helix84/followers","following_url":"https://api.github.com/users/helix84/following{/other_user}","gists_url":"https://api.github.com/users/helix84/gists{/gist_id}","starred_url":"https://api.github.com/users/helix84/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/helix84/subscriptions","organizations_url":"https://api.github.com/users/helix84/orgs","repos_url":"https://api.github.com/users/helix84/repos","events_url":"https://api.github.com/users/helix84/events{/privacy}","received_events_url":"https://api.github.com/users/helix84/received_events","type":"User","site_admin":false},"open_issues":58,"closed_issues":43,"state":"open","created_at":"2015-01-19T18:03:38Z","updated_at":"2015-09-30T20:17:44Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/DSpace/DSpace/pulls/1081/commits","review_comments_url":"https://api.github.com/repos/DSpace/DSpace/pulls/1081/comments","review_comment_url":"https://api.github.com/repos/DSpace/DSpace/pulls/comments{/number}","comments_url":"https://api.github.com/repos/DSpace/DSpace/issues/1081/comments","statuses_url":"https://api.github.com/repos/DSpace/DSpace/statuses/d45130450b41efcc026ab3993118b2abd1c1abae","head":{"label":"tdonohue:DS-2701-service-api-flyway-cleanup","ref":"DS-2701-service-api-flyway-cleanup","sha":"d45130450b41efcc026ab3993118b2abd1c1abae","user":{"login":"tdonohue","id":483997,"avatar_url":"https://avatars.githubusercontent.com/u/483997?v=3","gravatar_id":"","url":"https://api.github.com/users/tdonohue","html_url":"https://github.com/tdonohue","followers_url":"https://api.github.com/users/tdonohue/followers","following_url":"https://api.github.com/users/tdonohue/following{/other_user}","gists_url":"https://api.github.com/users/tdonohue/gists{/gist_id}","starred_url":"https://api.github.com/users/tdonohue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tdonohue/subscriptions","organizations_url":"https://api.github.com/users/tdonohue/orgs","repos_url":"https://api.github.com/users/tdonohue/repos","events_url":"https://api.github.com/users/tdonohue/events{/privacy}","received_events_url":"https://api.github.com/users/tdonohue/received_events","type":"User","site_admin":false},"repo":{"id":3944500,"name":"DSpace","full_name":"tdonohue/DSpace","owner":{"login":"tdonohue","id":483997,"avatar_url":"https://avatars.githubusercontent.com/u/483997?v=3","gravatar_id":"","url":"https://api.github.com/users/tdonohue","html_url":"https://github.com/tdonohue","followers_url":"https://api.github.com/users/tdonohue/followers","following_url":"https://api.github.com/users/tdonohue/following{/other_user}","gists_url":"https://api.github.com/users/tdonohue/gists{/gist_id}","starred_url":"https://api.github.com/users/tdonohue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tdonohue/subscriptions","organizations_url":"https://api.github.com/users/tdonohue/orgs","repos_url":"https://api.github.com/users/tdonohue/repos","events_url":"https://api.github.com/users/tdonohue/events{/privacy}","received_events_url":"https://api.github.com/users/tdonohue/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tdonohue/DSpace","description":"(Official) The DSpace digital asset management system that powers your Institutional Repository","fork":true,"url":"https://api.github.com/repos/tdonohue/DSpace","forks_url":"https://api.github.com/repos/tdonohue/DSpace/forks","keys_url":"https://api.github.com/repos/tdonohue/DSpace/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tdonohue/DSpace/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tdonohue/DSpace/teams","hooks_url":"https://api.github.com/repos/tdonohue/DSpace/hooks","issue_events_url":"https://api.github.com/repos/tdonohue/DSpace/issues/events{/number}","events_url":"https://api.github.com/repos/tdonohue/DSpace/events","assignees_url":"https://api.github.com/repos/tdonohue/DSpace/assignees{/user}","branches_url":"https://api.github.com/repos/tdonohue/DSpace/branches{/branch}","tags_url":"https://api.github.com/repos/tdonohue/DSpace/tags","blobs_url":"https://api.github.com/repos/tdonohue/DSpace/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tdonohue/DSpace/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tdonohue/DSpace/git/refs{/sha}","trees_url":"https://api.github.com/repos/tdonohue/DSpace/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tdonohue/DSpace/statuses/{sha}","languages_url":"https://api.github.com/repos/tdonohue/DSpace/languages","stargazers_url":"https://api.github.com/repos/tdonohue/DSpace/stargazers","contributors_url":"https://api.github.com/repos/tdonohue/DSpace/contributors","subscribers_url":"https://api.github.com/repos/tdonohue/DSpace/subscribers","subscription_url":"https://api.github.com/repos/tdonohue/DSpace/subscription","commits_url":"https://api.github.com/repos/tdonohue/DSpace/commits{/sha}","git_commits_url":"https://api.github.com/repos/tdonohue/DSpace/git/commits{/sha}","comments_url":"https://api.github.com/repos/tdonohue/DSpace/comments{/number}","issue_comment_url":"https://api.github.com/repos/tdonohue/DSpace/issues/comments{/number}","contents_url":"https://api.github.com/repos/tdonohue/DSpace/contents/{+path}","compare_url":"https://api.github.com/repos/tdonohue/DSpace/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tdonohue/DSpace/merges","archive_url":"https://api.github.com/repos/tdonohue/DSpace/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tdonohue/DSpace/downloads","issues_url":"https://api.github.com/repos/tdonohue/DSpace/issues{/number}","pulls_url":"https://api.github.com/repos/tdonohue/DSpace/pulls{/number}","milestones_url":"https://api.github.com/repos/tdonohue/DSpace/milestones{/number}","notifications_url":"https://api.github.com/repos/tdonohue/DSpace/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tdonohue/DSpace/labels{/name}","releases_url":"https://api.github.com/repos/tdonohue/DSpace/releases{/id}","created_at":"2012-04-05T21:52:54Z","updated_at":"2015-09-17T21:52:27Z","pushed_at":"2015-09-30T13:56:05Z","git_url":"git://github.com/tdonohue/DSpace.git","ssh_url":"git@github.com:tdonohue/DSpace.git","clone_url":"https://github.com/tdonohue/DSpace.git","svn_url":"https://github.com/tdonohue/DSpace","homepage":"https://wiki.duraspace.org/display/DSDOC18/Introduction","size":122340,"stargazers_count":3,"watchers_count":3,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":3,"default_branch":"master"}},"base":{"label":"DSpace:DS-2701-service-api","ref":"DS-2701-service-api","sha":"8bdbd99ba3ae9daa12df83aed6857e3d43607327","user":{"login":"DSpace","id":428620,"avatar_url":"https://avatars.githubusercontent.com/u/428620?v=3","gravatar_id":"","url":"https://api.github.com/users/DSpace","html_url":"https://github.com/DSpace","followers_url":"https://api.github.com/users/DSpace/followers","following_url":"https://api.github.com/users/DSpace/following{/other_user}","gists_url":"https://api.github.com/users/DSpace/gists{/gist_id}","starred_url":"https://api.github.com/users/DSpace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DSpace/subscriptions","organizations_url":"https://api.github.com/users/DSpace/orgs","repos_url":"https://api.github.com/users/DSpace/repos","events_url":"https://api.github.com/users/DSpace/events{/privacy}","received_events_url":"https://api.github.com/users/DSpace/received_events","type":"Organization","site_admin":false},"repo":{"id":3743376,"name":"DSpace","full_name":"DSpace/DSpace","owner":{"login":"DSpace","id":428620,"avatar_url":"https://avatars.githubusercontent.com/u/428620?v=3","gravatar_id":"","url":"https://api.github.com/users/DSpace","html_url":"https://github.com/DSpace","followers_url":"https://api.github.com/users/DSpace/followers","following_url":"https://api.github.com/users/DSpace/following{/other_user}","gists_url":"https://api.github.com/users/DSpace/gists{/gist_id}","starred_url":"https://api.github.com/users/DSpace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DSpace/subscriptions","organizations_url":"https://api.github.com/users/DSpace/orgs","repos_url":"https://api.github.com/users/DSpace/repos","events_url":"https://api.github.com/users/DSpace/events{/privacy}","received_events_url":"https://api.github.com/users/DSpace/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/DSpace/DSpace","description":"(Official) The DSpace digital asset management system that powers your Institutional Repository","fork":false,"url":"https://api.github.com/repos/DSpace/DSpace","forks_url":"https://api.github.com/repos/DSpace/DSpace/forks","keys_url":"https://api.github.com/repos/DSpace/DSpace/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DSpace/DSpace/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DSpace/DSpace/teams","hooks_url":"https://api.github.com/repos/DSpace/DSpace/hooks","issue_events_url":"https://api.github.com/repos/DSpace/DSpace/issues/events{/number}","events_url":"https://api.github.com/repos/DSpace/DSpace/events","assignees_url":"https://api.github.com/repos/DSpace/DSpace/assignees{/user}","branches_url":"https://api.github.com/repos/DSpace/DSpace/branches{/branch}","tags_url":"https://api.github.com/repos/DSpace/DSpace/tags","blobs_url":"https://api.github.com/repos/DSpace/DSpace/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DSpace/DSpace/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DSpace/DSpace/git/refs{/sha}","trees_url":"https://api.github.com/repos/DSpace/DSpace/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DSpace/DSpace/statuses/{sha}","languages_url":"https://api.github.com/repos/DSpace/DSpace/languages","stargazers_url":"https://api.github.com/repos/DSpace/DSpace/stargazers","contributors_url":"https://api.github.com/repos/DSpace/DSpace/contributors","subscribers_url":"https://api.github.com/repos/DSpace/DSpace/subscribers","subscription_url":"https://api.github.com/repos/DSpace/DSpace/subscription","commits_url":"https://api.github.com/repos/DSpace/DSpace/commits{/sha}","git_commits_url":"https://api.github.com/repos/DSpace/DSpace/git/commits{/sha}","comments_url":"https://api.github.com/repos/DSpace/DSpace/comments{/number}","issue_comment_url":"https://api.github.com/repos/DSpace/DSpace/issues/comments{/number}","contents_url":"https://api.github.com/repos/DSpace/DSpace/contents/{+path}","compare_url":"https://api.github.com/repos/DSpace/DSpace/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DSpace/DSpace/merges","archive_url":"https://api.github.com/repos/DSpace/DSpace/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DSpace/DSpace/downloads","issues_url":"https://api.github.com/repos/DSpace/DSpace/issues{/number}","pulls_url":"https://api.github.com/repos/DSpace/DSpace/pulls{/number}","milestones_url":"https://api.github.com/repos/DSpace/DSpace/milestones{/number}","notifications_url":"https://api.github.com/repos/DSpace/DSpace/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DSpace/DSpace/labels{/name}","releases_url":"https://api.github.com/repos/DSpace/DSpace/releases{/id}","created_at":"2012-03-16T21:44:52Z","updated_at":"2015-09-18T15:47:28Z","pushed_at":"2015-09-30T20:17:44Z","git_url":"git://github.com/DSpace/DSpace.git","ssh_url":"git@github.com:DSpace/DSpace.git","clone_url":"https://github.com/DSpace/DSpace.git","svn_url":"https://github.com/DSpace/DSpace","homepage":"https://wiki.duraspace.org/display/DSDOC5x/Introduction","size":214462,"stargazers_count":179,"watchers_count":179,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":432,"mirror_url":null,"open_issues_count":138,"forks":432,"open_issues":138,"watchers":179,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/DSpace/DSpace/pulls/1081"},"html":{"href":"https://github.com/DSpace/DSpace/pull/1081"},"issue":{"href":"https://api.github.com/repos/DSpace/DSpace/issues/1081"},"comments":{"href":"https://api.github.com/repos/DSpace/DSpace/issues/1081/comments"},"review_comments":{"href":"https://api.github.com/repos/DSpace/DSpace/pulls/1081/comments"},"review_comment":{"href":"https://api.github.com/repos/DSpace/DSpace/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/DSpace/DSpace/pulls/1081/commits"},"statuses":{"href":"https://api.github.com/repos/DSpace/DSpace/statuses/d45130450b41efcc026ab3993118b2abd1c1abae"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"tdonohue","id":483997,"avatar_url":"https://avatars.githubusercontent.com/u/483997?v=3","gravatar_id":"","url":"https://api.github.com/users/tdonohue","html_url":"https://github.com/tdonohue","followers_url":"https://api.github.com/users/tdonohue/followers","following_url":"https://api.github.com/users/tdonohue/following{/other_user}","gists_url":"https://api.github.com/users/tdonohue/gists{/gist_id}","starred_url":"https://api.github.com/users/tdonohue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tdonohue/subscriptions","organizations_url":"https://api.github.com/users/tdonohue/orgs","repos_url":"https://api.github.com/users/tdonohue/repos","events_url":"https://api.github.com/users/tdonohue/events{/privacy}","received_events_url":"https://api.github.com/users/tdonohue/received_events","type":"User","site_admin":false},"comments":1,"review_comments":0,"commits":9,"additions":711,"deletions":188,"changed_files":9}}