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)
-}