From 88c9e74906e0e560102b48c6cc285c8444409696 Mon Sep 17 00:00:00 2001 From: Leonardo Menezes Date: Sun, 3 Apr 2016 16:27:58 +0200 Subject: [PATCH] created ElasticActionController used by actions that map directly to an ES request/response --- app/controllers/ClearIndexCacheController.scala | 10 ++-------- app/controllers/CloseIndexController.scala | 10 ++-------- app/controllers/ClusterOverviewController.scala | 1 - app/controllers/DeleteIndexController.scala | 10 ++-------- .../DisableShardAllocationController.scala | 10 ++-------- app/controllers/ElasticActionController.scala | 17 +++++++++++++++++ .../EnableShardAllocationController.scala | 10 ++-------- app/controllers/GetIndexMapping.scala | 10 ++-------- app/controllers/GetIndexSettings.scala | 10 ++-------- app/controllers/Main.scala | 9 ++------- app/controllers/NodeStatsController.scala | 10 ++-------- app/controllers/OpenIndexController.scala | 10 ++-------- app/controllers/OptimizeIndexController.scala | 10 ++-------- app/controllers/PutClusterSettings.scala | 10 ++-------- app/controllers/RefreshIndexController.scala | 10 ++-------- 15 files changed, 43 insertions(+), 104 deletions(-) create mode 100644 app/controllers/ElasticActionController.scala diff --git a/app/controllers/ClearIndexCacheController.scala b/app/controllers/ClearIndexCacheController.scala index e406d11..7c38549 100644 --- a/app/controllers/ClearIndexCacheController.scala +++ b/app/controllers/ClearIndexCacheController.scala @@ -2,14 +2,8 @@ package controllers import elastic.ElasticClient.clearIndexCache -import scala.concurrent.ExecutionContext.Implicits.global +class ClearIndexCacheController extends ElasticActionController { -class ClearIndexCacheController extends BaseController { - - def processRequest = { request => - clearIndexCache(request.get("indices"), request.host).map { - response => Status(response.status)(response.body) - } - } + def processElasticRequest = request => clearIndexCache(request.get("indices"), request.host) } diff --git a/app/controllers/CloseIndexController.scala b/app/controllers/CloseIndexController.scala index 0b0bbc6..d1adb1a 100644 --- a/app/controllers/CloseIndexController.scala +++ b/app/controllers/CloseIndexController.scala @@ -2,14 +2,8 @@ package controllers import elastic.ElasticClient.closeIndex -import scala.concurrent.ExecutionContext.Implicits.global +class CloseIndexController extends ElasticActionController { -class CloseIndexController extends BaseController { - - def processRequest = { request => - closeIndex(request.get("indices"), request.host).map { - response => Status(response.status)(response.body) - } - } + def processElasticRequest = request => closeIndex(request.get("indices"), request.host) } diff --git a/app/controllers/ClusterOverviewController.scala b/app/controllers/ClusterOverviewController.scala index 8e8963a..44af6cf 100644 --- a/app/controllers/ClusterOverviewController.scala +++ b/app/controllers/ClusterOverviewController.scala @@ -6,7 +6,6 @@ import models.overview.ClusterOverview import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.Future - class ClusterOverviewController extends BaseController { def processRequest = { diff --git a/app/controllers/DeleteIndexController.scala b/app/controllers/DeleteIndexController.scala index 1a88776..491f54d 100644 --- a/app/controllers/DeleteIndexController.scala +++ b/app/controllers/DeleteIndexController.scala @@ -2,14 +2,8 @@ package controllers import elastic.ElasticClient.deleteIndex -import scala.concurrent.ExecutionContext.Implicits.global +class DeleteIndexController extends ElasticActionController { -class DeleteIndexController extends BaseController { - - def processRequest = { request => - deleteIndex(request.get("indices"), request.host).map { - response => Status(response.status)(response.body) - } - } + def processElasticRequest = request => deleteIndex(request.get("indices"), request.host) } diff --git a/app/controllers/DisableShardAllocationController.scala b/app/controllers/DisableShardAllocationController.scala index 693e112..e26090e 100644 --- a/app/controllers/DisableShardAllocationController.scala +++ b/app/controllers/DisableShardAllocationController.scala @@ -2,14 +2,8 @@ package controllers import elastic.ElasticClient.disableShardAllocation -import scala.concurrent.ExecutionContext.Implicits.global +class DisableShardAllocationController extends ElasticActionController { -class DisableShardAllocationController extends BaseController { - - def processRequest = { request => - disableShardAllocation(request.host).map { - response => Status(response.status)(response.body) - } - } + def processElasticRequest = request => disableShardAllocation(request.host) } diff --git a/app/controllers/ElasticActionController.scala b/app/controllers/ElasticActionController.scala new file mode 100644 index 0000000..704d46a --- /dev/null +++ b/app/controllers/ElasticActionController.scala @@ -0,0 +1,17 @@ +package controllers + +import elastic.ElasticResponse +import models.CerebroRequest + +import scala.concurrent.ExecutionContext.Implicits.global +import scala.concurrent.Future + +trait ElasticActionController extends BaseController { + + def processRequest = request => processElasticRequest(request).map { + response => Status(response.status)(response.body) + } + + def processElasticRequest: CerebroRequest => Future[ElasticResponse] + +} diff --git a/app/controllers/EnableShardAllocationController.scala b/app/controllers/EnableShardAllocationController.scala index 0c5f511..0db3252 100644 --- a/app/controllers/EnableShardAllocationController.scala +++ b/app/controllers/EnableShardAllocationController.scala @@ -2,14 +2,8 @@ package controllers import elastic.ElasticClient.enableShardAllocation -import scala.concurrent.ExecutionContext.Implicits.global +class EnableShardAllocationController extends ElasticActionController { -class EnableShardAllocationController extends BaseController { - - def processRequest = { request => - enableShardAllocation(request.host).map { - response => Status(response.status)(response.body) - } - } + def processElasticRequest = request => enableShardAllocation(request.host) } diff --git a/app/controllers/GetIndexMapping.scala b/app/controllers/GetIndexMapping.scala index c71086d..fab353e 100644 --- a/app/controllers/GetIndexMapping.scala +++ b/app/controllers/GetIndexMapping.scala @@ -2,14 +2,8 @@ package controllers import elastic.ElasticClient.getIndexMapping -import scala.concurrent.ExecutionContext.Implicits.global +class GetIndexMapping extends ElasticActionController { -class GetIndexMapping extends BaseController { - - def processRequest = { request => - getIndexMapping(request.get("index"), request.host).map { - response => Status(response.status)(response.body) - } - } + def processElasticRequest = request => getIndexMapping(request.get("index"), request.host) } diff --git a/app/controllers/GetIndexSettings.scala b/app/controllers/GetIndexSettings.scala index b7e8839..c98bde1 100644 --- a/app/controllers/GetIndexSettings.scala +++ b/app/controllers/GetIndexSettings.scala @@ -2,14 +2,8 @@ package controllers import elastic.ElasticClient.getIndexSettings -import scala.concurrent.ExecutionContext.Implicits.global +class GetIndexSettings extends ElasticActionController { -class GetIndexSettings extends BaseController { - - def processRequest = { request => - getIndexSettings(request.get("index"), request.host).map { - response => Status(response.status)(response.body) - } - } + def processElasticRequest = request => getIndexSettings(request.get("index"), request.host) } diff --git a/app/controllers/Main.scala b/app/controllers/Main.scala index c3e5bfc..3db7104 100644 --- a/app/controllers/Main.scala +++ b/app/controllers/Main.scala @@ -1,14 +1,9 @@ package controllers import elastic.ElasticClient -import scala.concurrent.ExecutionContext.Implicits.global -class Main extends BaseController { +class Main extends ElasticActionController { - def processRequest = { request => - ElasticClient.main(request.host).map { response => - Status(response.status)(response.body) - } - } + def processElasticRequest = request => ElasticClient.main(request.host) } diff --git a/app/controllers/NodeStatsController.scala b/app/controllers/NodeStatsController.scala index a10bfe7..eaa4c31 100644 --- a/app/controllers/NodeStatsController.scala +++ b/app/controllers/NodeStatsController.scala @@ -2,14 +2,8 @@ package controllers import elastic.ElasticClient.nodesStats -import scala.concurrent.ExecutionContext.Implicits.global +class NodeStatsController extends ElasticActionController { -class NodeStatsController extends BaseController { - - def processRequest = { request => - nodesStats(request.get("node"), request.host).map { - response => Status(response.status)(response.body) - } - } + def processElasticRequest = request => nodesStats(request.get("node"), request.host) } diff --git a/app/controllers/OpenIndexController.scala b/app/controllers/OpenIndexController.scala index 1476800..fb7410d 100644 --- a/app/controllers/OpenIndexController.scala +++ b/app/controllers/OpenIndexController.scala @@ -2,14 +2,8 @@ package controllers import elastic.ElasticClient.openIndex -import scala.concurrent.ExecutionContext.Implicits.global +class OpenIndexController extends ElasticActionController { -class OpenIndexController extends BaseController { - - def processRequest = { request => - openIndex(request.get("indices"), request.host).map { - response => Status(response.status)(response.body) - } - } + def processElasticRequest = request => openIndex(request.get("indices"), request.host) } diff --git a/app/controllers/OptimizeIndexController.scala b/app/controllers/OptimizeIndexController.scala index 05ece77..c64e2f0 100644 --- a/app/controllers/OptimizeIndexController.scala +++ b/app/controllers/OptimizeIndexController.scala @@ -2,14 +2,8 @@ package controllers import elastic.ElasticClient.optimizeIndex -import scala.concurrent.ExecutionContext.Implicits.global +class OptimizeIndexController extends ElasticActionController { -class OptimizeIndexController extends BaseController { - - def processRequest = { request => - optimizeIndex(request.get("indices"), request.host).map { - response => Status(response.status)(response.body) - } - } + def processElasticRequest = request => optimizeIndex(request.get("indices"), request.host) } diff --git a/app/controllers/PutClusterSettings.scala b/app/controllers/PutClusterSettings.scala index f649188..a2b18b7 100644 --- a/app/controllers/PutClusterSettings.scala +++ b/app/controllers/PutClusterSettings.scala @@ -2,14 +2,8 @@ package controllers import elastic.ElasticClient.putClusterSettings -import scala.concurrent.ExecutionContext.Implicits.global +class PutClusterSettings extends ElasticActionController { -class PutClusterSettings extends BaseController { - - def processRequest = { request => - putClusterSettings(request.get("settings"), request.host).map { - response => Status(response.status)(response.body) - } - } + def processElasticRequest = request => putClusterSettings(request.get("settings"), request.host) } diff --git a/app/controllers/RefreshIndexController.scala b/app/controllers/RefreshIndexController.scala index 012b9cf..36d90c2 100644 --- a/app/controllers/RefreshIndexController.scala +++ b/app/controllers/RefreshIndexController.scala @@ -2,14 +2,8 @@ package controllers import elastic.ElasticClient.refreshIndex -import scala.concurrent.ExecutionContext.Implicits.global +class RefreshIndexController extends ElasticActionController { -class RefreshIndexController extends BaseController { - - def processRequest = { request => - refreshIndex(request.get("indices"), request.host).map { - response => Status(response.status)(response.body) - } - } + def processElasticRequest = request => refreshIndex(request.get("indices"), request.host) } -- GitLab