Build for Gerrit 2.14.10 Give up with the multi-release support and adapt to the latest Gerrit 2.14.10 APIs Change-Id: If03cb6a69eb79d1af31d3f729d8f5f243920082a
diff --git a/build.sbt b/build.sbt index 62635ef..e3bfe8e 100644 --- a/build.sbt +++ b/build.sbt
@@ -6,7 +6,7 @@ scalaVersion := "2.11.8" -val gerritVersion = "2.15.1" +val gerritVersion = "2.14.10" val scalatraV = "2.4.+"
diff --git a/src/main/scala/com/googlesource/gerrit/plugins/support/GerritFacade.scala b/src/main/scala/com/googlesource/gerrit/plugins/support/GerritFacade.scala index 1bb9b0c..bd5f7f3 100644 --- a/src/main/scala/com/googlesource/gerrit/plugins/support/GerritFacade.scala +++ b/src/main/scala/com/googlesource/gerrit/plugins/support/GerritFacade.scala
@@ -21,7 +21,6 @@ import com.google.gerrit.server.plugins.{ListPlugins, PluginsCollection} import com.google.gson.JsonElement import com.google.inject.{ImplementedBy, Inject} -import com.googlesource.gerrit.plugins.support.latest.LatestCapabilityControl import com.googlesource.gerrit.plugins.support.legacy.LegacyCapabilityControl import scala.util.{Failure, Success, Try} @@ -32,10 +31,7 @@ implicit class PimpedCapabilityControl(val cc: CapabilityControl) extends AnyVal { - def canDo(operation: String)(implicit pluginName: PluginName) = - LatestCapabilityControl(cc).canPerform(operation) - .orElse(LegacyCapabilityControl(cc).canPerform(operation)) - .get + def canDo(operation: String)(implicit pluginName: PluginName) = LegacyCapabilityControl(cc).canPerform(operation) } }
diff --git a/src/main/scala/com/googlesource/gerrit/plugins/support/GerritSupportServlet.scala b/src/main/scala/com/googlesource/gerrit/plugins/support/GerritSupportServlet.scala index 60bc037..9bca5e2 100644 --- a/src/main/scala/com/googlesource/gerrit/plugins/support/GerritSupportServlet.scala +++ b/src/main/scala/com/googlesource/gerrit/plugins/support/GerritSupportServlet.scala
@@ -75,7 +75,7 @@ private def requireAdministrateServerPermissions(block: => ActionResult) = { val currentUser = currentUserProvider.get currentUser match { - case user if user.isIdentifiedUser && user.getCapabilities.canDo(COLLECT_SERVER_DATA) => block + case user if user.isIdentifiedUser && user.getCapabilities.canDo(COLLECT_SERVER_DATA).getOrElse(false) => block case _ => Forbidden("NOT ALLOWED to collect server data") } }
diff --git a/src/main/scala/com/googlesource/gerrit/plugins/support/latest/CollectServerDataPermission.scala b/src/main/scala/com/googlesource/gerrit/plugins/support/latest/CollectServerDataPermission.scala deleted file mode 100644 index 8d83978..0000000 --- a/src/main/scala/com/googlesource/gerrit/plugins/support/latest/CollectServerDataPermission.scala +++ /dev/null
@@ -1,23 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.googlesource.gerrit.plugins.support.latest - -import com.google.gerrit.extensions.api.access.PluginPermission - -class CollectServerDataPermission(pluginName: String) extends - PluginPermission(pluginName, CollectServerDataCapability.COLLECT_SERVER_DATA) -
diff --git a/src/main/scala/com/googlesource/gerrit/plugins/support/latest/LatestCapabilityControl.scala b/src/main/scala/com/googlesource/gerrit/plugins/support/latest/LatestCapabilityControl.scala deleted file mode 100644 index b2430ca..0000000 --- a/src/main/scala/com/googlesource/gerrit/plugins/support/latest/LatestCapabilityControl.scala +++ /dev/null
@@ -1,59 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.googlesource.gerrit.plugins.support.latest - -import com.google.gerrit.server.account.CapabilityControl -import com.googlesource.gerrit.plugins.support.GerritFacade.PluginName - -import scala.util.Try -import com.googlesource.gerrit.plugins.support.TryAll - -class LatestCapabilityControl(val capabilityControl: CapabilityControl)(implicit pluginName: PluginName) { - - import LatestCapabilityControl._ - - def canPerform(operation: String): Try[Boolean] = TryAll { - for ( - permissionConstructor <- CollectServerDataPermissionConstructor; - checkMedhod <- checkPermissionMethod - ) yield { - val permission = permissionConstructor.newInstance(pluginName.value).asInstanceOf[Object] - val result: Object = checkMedhod.invoke(capabilityControl, permission) - result.asInstanceOf[Boolean] - } - }.flatten -} - -object LatestCapabilityControl { - lazy val GlobalOrPluginPermissionClass = TryAll { - Class.forName("com.google.gerrit.extensions.api.access.GlobalOrPluginPermission") - } - - lazy val CollectServerDataPermissionClass = TryAll { - Class.forName("com.googlesource.gerrit.plugins.support.latest.CollectServerDataPermission") - } - - lazy val CollectServerDataPermissionConstructor = TryAll { - CollectServerDataPermissionClass.map(_.getConstructor(classOf[String])) - }.flatten - - lazy val checkPermissionMethod = TryAll { - GlobalOrPluginPermissionClass.map(classOf[CapabilityControl].getMethod("doCanForDefaultPermissionBackend", _)) - }.flatten - - def apply(cc: CapabilityControl)(implicit pluginName: PluginName) = new LatestCapabilityControl(cc) -}