)]}'
{
  "commit": "8083f174abb5132b2d0d7f53dc833ac68b9122fe",
  "tree": "d61b1717caac45b0e3a94861ed24bfc99c9af83c",
  "parents": [
    "b9b5394c020d8c7c3cce7dd371704735d5d72ba2"
  ],
  "author": {
    "name": "David Ostrovsky",
    "email": "david@ostrovsky.org",
    "time": "Tue Oct 13 13:42:17 2015 +0000"
  },
  "committer": {
    "name": "David Ostrovsky",
    "email": "david@ostrovsky.org",
    "time": "Wed Oct 14 00:54:55 2015 +0200"
  },
  "message": "Submit: Fix ClassCastException for anonymous user\n\nChange screen is using GET /changes/\u003ciid\u003e/revisions/\u003cid\u003e/actions REST\nendpoint, that is always returning empty map for anonymous user. In\nthis code path UI action handlers don\u0027t get called, and getDescription()\nmethods from UI action classes aren\u0027t invoked.\n\nHowever for unified change screen, the old code path in RPC code is\nstill active and calling PatchSetDetailFactory.call() and there\nUiActions.sorted() is invoked, that iterates over all UI actions and\ninvokes getDescription() methods to figure out if this UI action should\nbe rendered or not.\n\nHowever, since I7ec4a0beb5 all this code is dead and it was a mistake\nnot to remove it, because only there actions were rendered and not on\nthe old unified diff. That why we can safely remove all this code and\nprevent that getDescription() methods from UI actions classes get\ncalled for the anonymous users (and registered users) in the first\nplace.\n\nEclipse-Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id\u003d479618\nBug: Issue 3531\nChange-Id: I5480f0922cfe9a778472a3c99fd5631b3e5f2474\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9f4da748911701e0c6fea5df691af441ed302510",
      "old_mode": 33188,
      "old_path": "gerrit-common/src/main/java/com/google/gerrit/common/data/PatchSetDetail.java",
      "new_id": "39f5cb0aedccf8c334f9f186700528c232303af1",
      "new_mode": 33188,
      "new_path": "gerrit-common/src/main/java/com/google/gerrit/common/data/PatchSetDetail.java"
    },
    {
      "type": "delete",
      "old_id": "cd0118605f67a21f12aa3b395059031edac3bcda",
      "old_mode": 33188,
      "old_path": "gerrit-common/src/main/java/com/google/gerrit/common/data/UiCommandDetail.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "9fc95b1ba447ffc6b312b55e6653a70374ecd904",
      "old_mode": 33188,
      "old_path": "gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/PatchSetDetailFactory.java",
      "new_id": "f4a6727a5d38eb5f6a4360ef291324a856107235",
      "new_mode": 33188,
      "new_path": "gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/PatchSetDetailFactory.java"
    },
    {
      "type": "modify",
      "old_id": "7dd8d476bc0db546c695ceb5cfa1a451a3b1c1e0",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/extensions/webui/UiActions.java",
      "new_id": "601bcc649631f9a0b5762b8466b63d44cf4faaca",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/extensions/webui/UiActions.java"
    }
  ]
}
