{"action":"created","comment":{"url":"https://api.github.com/repos/acquaman/acquaman/pulls/comments/35704581","id":35704581,"diff_hunk":"@@ -0,0 +1,157 @@\n+#include \"AMGCS2AsyncMoveCommand.h\"\n+#include \"AMGCS2GetMovingStatusCommand.h\"\n+#include \"AMGCS2GetCurrentPositionCommand.h\"\n+#include \"AMGCS2GetTargetPositionCommand.h\"\n+#include \"../AMGCS2Support.h\"\n+AMGCS2AsyncMoveCommand::AMGCS2AsyncMoveCommand(const AMPIC887AxisMap<double>& targetPositions)\n+{\n+\tcommand_ = new AMGCS2MoveCommand(targetPositions);\n+\ttargetPositions_ = targetPositions;\n+}\n+\n+AMGCS2AsyncMoveCommand::~AMGCS2AsyncMoveCommand() {\n+\tdelete command_;\n+}\n+\n+AMPIC887AxisMap<double> AMGCS2AsyncMoveCommand::targetPositions() const\n+{\n+\treturn targetPositions_;\n+}\n+\n+bool AMGCS2AsyncMoveCommand::validateArguments()\n+{\n+\tif(targetPositions_.isEmpty()) {\n+\t\tlastError_ = \"No axis positions provided\";\n+\t\treturn false;\n+\t}\n+\n+\tif(targetPositions_.containsUnknownAxis()) {\n+\t\tlastError_ = \"Contains unknown axis\";\n+\t\treturn false;\n+\t}\n+\n+\treturn true;\n+}\n+\n+bool AMGCS2AsyncMoveCommand::runImplementation()\n+{\n+\tcommand_->setController(controller_);\n+\tcommand_->run();\n+\n+\tif(command_->runningState() != Succeeded) {\n+\t\tlastError_ = command_->lastError();\n+\t\treturn false;\n+\t}\n+\n+\treturn true;\n+}\n+\n+void AMGCS2AsyncMoveCommand::isFinishedImplementation()\n+{\n+\tAMPIC887AxisCollection axesMoved = targetPositions_.axes();\n+\n+\t// Are we still moving?\n+\n+\tAMGCS2GetMovingStatusCommand movingStatusCommand;\n+\n+\tmovingStatusCommand.setController(controller_);\n+\tmovingStatusCommand.run();\n+\n+\tif(movingStatusCommand.runningState() != Succeeded) {\n+\t\tlastError_ = \"Could not obtain moving status of axes\";\n+\t\trunningState_ = Failed;\n+\t\treturn;\n+\t}\n+\n+\tQFlags<AMGCS2::AxisMovementStatus> movementStatuses =\n+\t\t\tmovingStatusCommand.movementStatuses();\n+\n+\tbool allStillMoving = true;\n+\tforeach(AMGCS2::Axis currentAxis, axesMoved) {\n+\t\tswitch(currentAxis) {\n+\t\tcase AMGCS2::XAxis:\n+\t\t\tallStillMoving &= movementStatuses.testFlag(AMGCS2::XAxisIsMoving);\n+\t\t\tbreak;\n+\t\tcase AMGCS2::YAxis:\n+\t\t\tallStillMoving &= movementStatuses.testFlag(AMGCS2::YAxisIsMoving);\n+\t\t\tbreak;\n+\t\tcase AMGCS2::ZAxis:\n+\t\t\tallStillMoving &= movementStatuses.testFlag(AMGCS2::ZAxisIsMoving);\n+\t\t\tbreak;\n+\t\tcase AMGCS2::UAxis:\n+\t\t\tallStillMoving &= movementStatuses.testFlag(AMGCS2::UAxisIsMoving);\n+\t\t\tbreak;\n+\t\tcase AMGCS2::VAxis:\n+\t\t\tallStillMoving &= movementStatuses.testFlag(AMGCS2::VAxisIsMoving);\n+\t\t\tbreak;\n+\t\tcase AMGCS2::WAxis:\n+\t\t\tallStillMoving &= movementStatuses.testFlag(AMGCS2::WAxisIsMoving);\n+\t\t\tbreak;\n+\t\tdefault:\n+\t\t\tbreak;\n+\t\t}\n+\t}\n+\n+\tif(allStillMoving) {\n+\t\t// We're still moving. Do nothing and wait for the next check.\n+\t\treturn;\n+\t}\n+\n+\t// We've stopped. We need to check whether we're at our position, also because\n+\t// the motion status of the axes fluctuates between moving and not moving during\n+\t// the fine grain segment of the motion, we must also check if the target position\n+\t// has been altered.\n+\n+\tAMGCS2GetCurrentPositionCommand currentPositionCommand(axesMoved);\n+\tcurrentPositionCommand.setController(controller_);\n+\tcurrentPositionCommand.run();\n+\n+\tif(currentPositionCommand.runningState() != Succeeded) {\n+\t\tlastError_ = \"Could not obtain final position\";\n+\t\trunningState_ = Failed;\n+\t\treturn;\n+\t}\n+\n+\tAMGCS2GetTargetPositionCommand targetPositionCommand(axesMoved);\n+\ttargetPositionCommand.setController(controller_);\n+\ttargetPositionCommand.run();\n+\n+\tif(targetPositionCommand.runningState() != Succeeded) {\n+\t\tlastError_ = \"Could not obtain target position of axes\";\n+\t\trunningState_ = Failed;\n+\t\treturn;\n+\t}\n+\n+\tAMPIC887AxisMap<double> currentTargetPositions =\n+\t\t\ttargetPositionCommand.axisTargetPositions();\n+\n+\tAMPIC887AxisMap<double> finalPositions = currentPositionCommand.axisPositions();\n+\n+\tforeach (AMGCS2::Axis currentAxis, axesMoved) {\n+\t\tdouble destination = targetPositions_.value(currentAxis);\n+\t\tdouble finalPosition = finalPositions.value(currentAxis);\n+\t\tdouble currentTargetPosition = currentTargetPositions.value(currentAxis);\n+\n+\t\tdouble epsilon = 0.0001;","path":"source/application/AMPIC887DriverServer/GCS2Commands/AMGCS2AsyncMoveCommand.cpp","position":135,"original_position":135,"commit_id":"cba4c3e5f766f79fd67561595d091cf9d314f539","original_commit_id":"cba4c3e5f766f79fd67561595d091cf9d314f539","user":{"login":"dretrex","id":602741,"avatar_url":"https://avatars.githubusercontent.com/u/602741?v=3","gravatar_id":"","url":"https://api.github.com/users/dretrex","html_url":"https://github.com/dretrex","followers_url":"https://api.github.com/users/dretrex/followers","following_url":"https://api.github.com/users/dretrex/following{/other_user}","gists_url":"https://api.github.com/users/dretrex/gists{/gist_id}","starred_url":"https://api.github.com/users/dretrex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dretrex/subscriptions","organizations_url":"https://api.github.com/users/dretrex/orgs","repos_url":"https://api.github.com/users/dretrex/repos","events_url":"https://api.github.com/users/dretrex/events{/privacy}","received_events_url":"https://api.github.com/users/dretrex/received_events","type":"User","site_admin":false},"body":"Same question about this epsilon from earlier.","created_at":"2015-07-28T21:37:44Z","updated_at":"2015-07-28T21:37:44Z","html_url":"https://github.com/acquaman/acquaman/pull/1472#discussion_r35704581","pull_request_url":"https://api.github.com/repos/acquaman/acquaman/pulls/1472","_links":{"self":{"href":"https://api.github.com/repos/acquaman/acquaman/pulls/comments/35704581"},"html":{"href":"https://github.com/acquaman/acquaman/pull/1472#discussion_r35704581"},"pull_request":{"href":"https://api.github.com/repos/acquaman/acquaman/pulls/1472"}}},"pull_request":{"url":"https://api.github.com/repos/acquaman/acquaman/pulls/1472","id":39298622,"html_url":"https://github.com/acquaman/acquaman/pull/1472","diff_url":"https://github.com/acquaman/acquaman/pull/1472.diff","patch_url":"https://github.com/acquaman/acquaman/pull/1472.patch","issue_url":"https://api.github.com/repos/acquaman/acquaman/issues/1472","number":1472,"state":"open","locked":false,"title":"Pull Request for Issue1461: Hexapod driver controller abstraction","user":{"login":"iainworkman","id":7461599,"avatar_url":"https://avatars.githubusercontent.com/u/7461599?v=3","gravatar_id":"","url":"https://api.github.com/users/iainworkman","html_url":"https://github.com/iainworkman","followers_url":"https://api.github.com/users/iainworkman/followers","following_url":"https://api.github.com/users/iainworkman/following{/other_user}","gists_url":"https://api.github.com/users/iainworkman/gists{/gist_id}","starred_url":"https://api.github.com/users/iainworkman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iainworkman/subscriptions","organizations_url":"https://api.github.com/users/iainworkman/orgs","repos_url":"https://api.github.com/users/iainworkman/repos","events_url":"https://api.github.com/users/iainworkman/events{/privacy}","received_events_url":"https://api.github.com/users/iainworkman/received_events","type":"User","site_admin":false},"body":"Currently this pull request includes the following:\r\n- Implementation of asynchronous commands (Move, MoveRelative and ReferenceMove)\r\n  - Includes  a change in the state machine of the command classes, from a simple wasSuccessful flag to a NotStarted, Running, Successful and Failed system). Only async commands are ever in the Running state, and also emit signals for started(), succeeded() and failed().\r\n  - The error clearing system has been altered, so that it is now the job of the controller class to clear its error message, and set an isBusy_ flag while doing so. Commands will not run on the controller while this process is under way, and async commands will pause checking their done status.\r\n- Change to how commands are obtained from the console (Now the parser interprets them all and emits signals. The application class catches these signals and runs the required function on the controller)\r\n- Implemented caching for all the data of the controller. This is initialized on start up, and then updated whenever a command is issued which alters the state of the controller \r\n- The system through which the asynchronous move commands update the movement statuses of the axes in the cache has been implemented. This is done by means of a type of semaphore system, which counts the number of moves issued vs failed/succeeded.\r\n- The command factory class has been deprecated (will be removed)\r\n- Functions for all commands has been added to the controller class.\r\n\r\n@dretrex This is now ready for review. \r\nEstimate: 8","created_at":"2015-07-06T18:52:18Z","updated_at":"2015-07-28T21:37:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9c5042d2fa7bc825d2950e239944751df7749b77","assignee":null,"milestone":{"url":"https://api.github.com/repos/acquaman/acquaman/milestones/11","html_url":"https://github.com/acquaman/acquaman/milestones/SGM%20Upgrade%20-%20Hexapod","labels_url":"https://api.github.com/repos/acquaman/acquaman/milestones/11/labels","id":1145165,"number":11,"title":"SGM Upgrade - Hexapod","description":"A means for users to command and monitor the state of the hexapod on the SGM beamline is required. This can be broken down into three major areas:\r\n - Creating a stand alone driver application which will communicate with the hexapod controller.\r\n - Establishing communication from the main SGM Acquaman application with the hexapod controller driver.\r\n - Visualizing the available commands and state of the hexapod to users.","creator":{"login":"iainworkman","id":7461599,"avatar_url":"https://avatars.githubusercontent.com/u/7461599?v=3","gravatar_id":"","url":"https://api.github.com/users/iainworkman","html_url":"https://github.com/iainworkman","followers_url":"https://api.github.com/users/iainworkman/followers","following_url":"https://api.github.com/users/iainworkman/following{/other_user}","gists_url":"https://api.github.com/users/iainworkman/gists{/gist_id}","starred_url":"https://api.github.com/users/iainworkman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iainworkman/subscriptions","organizations_url":"https://api.github.com/users/iainworkman/orgs","repos_url":"https://api.github.com/users/iainworkman/repos","events_url":"https://api.github.com/users/iainworkman/events{/privacy}","received_events_url":"https://api.github.com/users/iainworkman/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":5,"state":"open","created_at":"2015-06-02T14:10:24Z","updated_at":"2015-07-21T19:42:12Z","due_on":"2015-08-01T06:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/acquaman/acquaman/pulls/1472/commits","review_comments_url":"https://api.github.com/repos/acquaman/acquaman/pulls/1472/comments","review_comment_url":"https://api.github.com/repos/acquaman/acquaman/pulls/comments{/number}","comments_url":"https://api.github.com/repos/acquaman/acquaman/issues/1472/comments","statuses_url":"https://api.github.com/repos/acquaman/acquaman/statuses/cba4c3e5f766f79fd67561595d091cf9d314f539","head":{"label":"acquaman:Issue1461","ref":"Issue1461","sha":"cba4c3e5f766f79fd67561595d091cf9d314f539","user":{"login":"acquaman","id":602716,"avatar_url":"https://avatars.githubusercontent.com/u/602716?v=3","gravatar_id":"","url":"https://api.github.com/users/acquaman","html_url":"https://github.com/acquaman","followers_url":"https://api.github.com/users/acquaman/followers","following_url":"https://api.github.com/users/acquaman/following{/other_user}","gists_url":"https://api.github.com/users/acquaman/gists{/gist_id}","starred_url":"https://api.github.com/users/acquaman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acquaman/subscriptions","organizations_url":"https://api.github.com/users/acquaman/orgs","repos_url":"https://api.github.com/users/acquaman/repos","events_url":"https://api.github.com/users/acquaman/events{/privacy}","received_events_url":"https://api.github.com/users/acquaman/received_events","type":"Organization","site_admin":false},"repo":{"id":1333343,"name":"acquaman","full_name":"acquaman/acquaman","owner":{"login":"acquaman","id":602716,"avatar_url":"https://avatars.githubusercontent.com/u/602716?v=3","gravatar_id":"","url":"https://api.github.com/users/acquaman","html_url":"https://github.com/acquaman","followers_url":"https://api.github.com/users/acquaman/followers","following_url":"https://api.github.com/users/acquaman/following{/other_user}","gists_url":"https://api.github.com/users/acquaman/gists{/gist_id}","starred_url":"https://api.github.com/users/acquaman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acquaman/subscriptions","organizations_url":"https://api.github.com/users/acquaman/orgs","repos_url":"https://api.github.com/users/acquaman/repos","events_url":"https://api.github.com/users/acquaman/events{/privacy}","received_events_url":"https://api.github.com/users/acquaman/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/acquaman/acquaman","description":"Acquisition and Data Management for Big Science","fork":false,"url":"https://api.github.com/repos/acquaman/acquaman","forks_url":"https://api.github.com/repos/acquaman/acquaman/forks","keys_url":"https://api.github.com/repos/acquaman/acquaman/keys{/key_id}","collaborators_url":"https://api.github.com/repos/acquaman/acquaman/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/acquaman/acquaman/teams","hooks_url":"https://api.github.com/repos/acquaman/acquaman/hooks","issue_events_url":"https://api.github.com/repos/acquaman/acquaman/issues/events{/number}","events_url":"https://api.github.com/repos/acquaman/acquaman/events","assignees_url":"https://api.github.com/repos/acquaman/acquaman/assignees{/user}","branches_url":"https://api.github.com/repos/acquaman/acquaman/branches{/branch}","tags_url":"https://api.github.com/repos/acquaman/acquaman/tags","blobs_url":"https://api.github.com/repos/acquaman/acquaman/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/acquaman/acquaman/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/acquaman/acquaman/git/refs{/sha}","trees_url":"https://api.github.com/repos/acquaman/acquaman/git/trees{/sha}","statuses_url":"https://api.github.com/repos/acquaman/acquaman/statuses/{sha}","languages_url":"https://api.github.com/repos/acquaman/acquaman/languages","stargazers_url":"https://api.github.com/repos/acquaman/acquaman/stargazers","contributors_url":"https://api.github.com/repos/acquaman/acquaman/contributors","subscribers_url":"https://api.github.com/repos/acquaman/acquaman/subscribers","subscription_url":"https://api.github.com/repos/acquaman/acquaman/subscription","commits_url":"https://api.github.com/repos/acquaman/acquaman/commits{/sha}","git_commits_url":"https://api.github.com/repos/acquaman/acquaman/git/commits{/sha}","comments_url":"https://api.github.com/repos/acquaman/acquaman/comments{/number}","issue_comment_url":"https://api.github.com/repos/acquaman/acquaman/issues/comments{/number}","contents_url":"https://api.github.com/repos/acquaman/acquaman/contents/{+path}","compare_url":"https://api.github.com/repos/acquaman/acquaman/compare/{base}...{head}","merges_url":"https://api.github.com/repos/acquaman/acquaman/merges","archive_url":"https://api.github.com/repos/acquaman/acquaman/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/acquaman/acquaman/downloads","issues_url":"https://api.github.com/repos/acquaman/acquaman/issues{/number}","pulls_url":"https://api.github.com/repos/acquaman/acquaman/pulls{/number}","milestones_url":"https://api.github.com/repos/acquaman/acquaman/milestones{/number}","notifications_url":"https://api.github.com/repos/acquaman/acquaman/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/acquaman/acquaman/labels{/name}","releases_url":"https://api.github.com/repos/acquaman/acquaman/releases{/id}","created_at":"2011-02-06T02:19:01Z","updated_at":"2015-05-08T18:04:51Z","pushed_at":"2015-07-28T21:29:57Z","git_url":"git://github.com/acquaman/acquaman.git","ssh_url":"git@github.com:acquaman/acquaman.git","clone_url":"https://github.com/acquaman/acquaman.git","svn_url":"https://github.com/acquaman/acquaman","homepage":"","size":145590,"stargazers_count":8,"watchers_count":8,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":149,"forks":2,"open_issues":149,"watchers":8,"default_branch":"master"}},"base":{"label":"acquaman:SGMUpgrade","ref":"SGMUpgrade","sha":"d383b0664c4b55097177b0261ea28d57e6e751ab","user":{"login":"acquaman","id":602716,"avatar_url":"https://avatars.githubusercontent.com/u/602716?v=3","gravatar_id":"","url":"https://api.github.com/users/acquaman","html_url":"https://github.com/acquaman","followers_url":"https://api.github.com/users/acquaman/followers","following_url":"https://api.github.com/users/acquaman/following{/other_user}","gists_url":"https://api.github.com/users/acquaman/gists{/gist_id}","starred_url":"https://api.github.com/users/acquaman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acquaman/subscriptions","organizations_url":"https://api.github.com/users/acquaman/orgs","repos_url":"https://api.github.com/users/acquaman/repos","events_url":"https://api.github.com/users/acquaman/events{/privacy}","received_events_url":"https://api.github.com/users/acquaman/received_events","type":"Organization","site_admin":false},"repo":{"id":1333343,"name":"acquaman","full_name":"acquaman/acquaman","owner":{"login":"acquaman","id":602716,"avatar_url":"https://avatars.githubusercontent.com/u/602716?v=3","gravatar_id":"","url":"https://api.github.com/users/acquaman","html_url":"https://github.com/acquaman","followers_url":"https://api.github.com/users/acquaman/followers","following_url":"https://api.github.com/users/acquaman/following{/other_user}","gists_url":"https://api.github.com/users/acquaman/gists{/gist_id}","starred_url":"https://api.github.com/users/acquaman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acquaman/subscriptions","organizations_url":"https://api.github.com/users/acquaman/orgs","repos_url":"https://api.github.com/users/acquaman/repos","events_url":"https://api.github.com/users/acquaman/events{/privacy}","received_events_url":"https://api.github.com/users/acquaman/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/acquaman/acquaman","description":"Acquisition and Data Management for Big Science","fork":false,"url":"https://api.github.com/repos/acquaman/acquaman","forks_url":"https://api.github.com/repos/acquaman/acquaman/forks","keys_url":"https://api.github.com/repos/acquaman/acquaman/keys{/key_id}","collaborators_url":"https://api.github.com/repos/acquaman/acquaman/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/acquaman/acquaman/teams","hooks_url":"https://api.github.com/repos/acquaman/acquaman/hooks","issue_events_url":"https://api.github.com/repos/acquaman/acquaman/issues/events{/number}","events_url":"https://api.github.com/repos/acquaman/acquaman/events","assignees_url":"https://api.github.com/repos/acquaman/acquaman/assignees{/user}","branches_url":"https://api.github.com/repos/acquaman/acquaman/branches{/branch}","tags_url":"https://api.github.com/repos/acquaman/acquaman/tags","blobs_url":"https://api.github.com/repos/acquaman/acquaman/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/acquaman/acquaman/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/acquaman/acquaman/git/refs{/sha}","trees_url":"https://api.github.com/repos/acquaman/acquaman/git/trees{/sha}","statuses_url":"https://api.github.com/repos/acquaman/acquaman/statuses/{sha}","languages_url":"https://api.github.com/repos/acquaman/acquaman/languages","stargazers_url":"https://api.github.com/repos/acquaman/acquaman/stargazers","contributors_url":"https://api.github.com/repos/acquaman/acquaman/contributors","subscribers_url":"https://api.github.com/repos/acquaman/acquaman/subscribers","subscription_url":"https://api.github.com/repos/acquaman/acquaman/subscription","commits_url":"https://api.github.com/repos/acquaman/acquaman/commits{/sha}","git_commits_url":"https://api.github.com/repos/acquaman/acquaman/git/commits{/sha}","comments_url":"https://api.github.com/repos/acquaman/acquaman/comments{/number}","issue_comment_url":"https://api.github.com/repos/acquaman/acquaman/issues/comments{/number}","contents_url":"https://api.github.com/repos/acquaman/acquaman/contents/{+path}","compare_url":"https://api.github.com/repos/acquaman/acquaman/compare/{base}...{head}","merges_url":"https://api.github.com/repos/acquaman/acquaman/merges","archive_url":"https://api.github.com/repos/acquaman/acquaman/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/acquaman/acquaman/downloads","issues_url":"https://api.github.com/repos/acquaman/acquaman/issues{/number}","pulls_url":"https://api.github.com/repos/acquaman/acquaman/pulls{/number}","milestones_url":"https://api.github.com/repos/acquaman/acquaman/milestones{/number}","notifications_url":"https://api.github.com/repos/acquaman/acquaman/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/acquaman/acquaman/labels{/name}","releases_url":"https://api.github.com/repos/acquaman/acquaman/releases{/id}","created_at":"2011-02-06T02:19:01Z","updated_at":"2015-05-08T18:04:51Z","pushed_at":"2015-07-28T21:29:57Z","git_url":"git://github.com/acquaman/acquaman.git","ssh_url":"git@github.com:acquaman/acquaman.git","clone_url":"https://github.com/acquaman/acquaman.git","svn_url":"https://github.com/acquaman/acquaman","homepage":"","size":145590,"stargazers_count":8,"watchers_count":8,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":149,"forks":2,"open_issues":149,"watchers":8,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/acquaman/acquaman/pulls/1472"},"html":{"href":"https://github.com/acquaman/acquaman/pull/1472"},"issue":{"href":"https://api.github.com/repos/acquaman/acquaman/issues/1472"},"comments":{"href":"https://api.github.com/repos/acquaman/acquaman/issues/1472/comments"},"review_comments":{"href":"https://api.github.com/repos/acquaman/acquaman/pulls/1472/comments"},"review_comment":{"href":"https://api.github.com/repos/acquaman/acquaman/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/acquaman/acquaman/pulls/1472/commits"},"statuses":{"href":"https://api.github.com/repos/acquaman/acquaman/statuses/cba4c3e5f766f79fd67561595d091cf9d314f539"}}}}