Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ dependencies {
testImplementation "org.mockito:mockito-junit-jupiter:${versions.mockito}"
testImplementation 'com.google.code.gson:gson:2.8.9'

ktlint "com.pinterest:ktlint:0.47.1"
ktlint "com.pinterest.ktlint:ktlint-cli:1.8.0"
}

javadoc.enabled = false // turn off javadoc as it barfs on Kotlin code
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,11 @@ import java.util.function.Supplier
* Entry point of the OpenSearch Reports scheduler plugin.
* This class initializes the rest handlers.
*/
class ReportsSchedulerPlugin : Plugin(), ActionPlugin, SystemIndexPlugin, JobSchedulerExtension {

class ReportsSchedulerPlugin :
Plugin(),
ActionPlugin,
SystemIndexPlugin,
JobSchedulerExtension {
companion object {
const val PLUGIN_NAME = "opensearch-reports-scheduler"
const val LOG_PREFIX = "reports"
Expand All @@ -80,12 +83,11 @@ class ReportsSchedulerPlugin : Plugin(), ActionPlugin, SystemIndexPlugin, JobSch
return settingList
}

override fun getSystemIndexDescriptors(settings: Settings): Collection<SystemIndexDescriptor> {
return listOf(
override fun getSystemIndexDescriptors(settings: Settings): Collection<SystemIndexDescriptor> =
listOf(
SystemIndexDescriptor(REPORT_DEFINITIONS_INDEX_NAME, "Reports Scheduler Plugin Definitions index"),
SystemIndexDescriptor(REPORT_INSTANCES_INDEX_NAME, "Reports Scheduler Plugin Instances index")
SystemIndexDescriptor(REPORT_INSTANCES_INDEX_NAME, "Reports Scheduler Plugin Instances index"),
)
}

/**
* {@inheritDoc}
Expand All @@ -101,7 +103,7 @@ class ReportsSchedulerPlugin : Plugin(), ActionPlugin, SystemIndexPlugin, JobSch
nodeEnvironment: NodeEnvironment,
namedWriteableRegistry: NamedWriteableRegistry,
indexNameExpressionResolver: IndexNameExpressionResolver,
repositoriesServiceSupplier: Supplier<RepositoriesService>
repositoriesServiceSupplier: Supplier<RepositoriesService>,
): Collection<Any> {
PluginSettings.addSettingsUpdateConsumer(clusterService)
ReportDefinitionsIndex.initialize(client, clusterService)
Expand All @@ -112,30 +114,22 @@ class ReportsSchedulerPlugin : Plugin(), ActionPlugin, SystemIndexPlugin, JobSch
/**
* {@inheritDoc}
*/
override fun getJobType(): String {
return "reports-scheduler"
}
override fun getJobType(): String = "reports-scheduler"

/**
* {@inheritDoc}
*/
override fun getJobIndex(): String {
return REPORT_DEFINITIONS_INDEX_NAME
}
override fun getJobIndex(): String = REPORT_DEFINITIONS_INDEX_NAME

/**
* {@inheritDoc}
*/
override fun getJobRunner(): ScheduledJobRunner {
return ReportDefinitionJobRunner
}
override fun getJobRunner(): ScheduledJobRunner = ReportDefinitionJobRunner

/**
* {@inheritDoc}
*/
override fun getJobParser(): ScheduledJobParser {
return ReportDefinitionJobParser
}
override fun getJobParser(): ScheduledJobParser = ReportDefinitionJobParser

/**
* {@inheritDoc}
Expand All @@ -147,23 +141,22 @@ class ReportsSchedulerPlugin : Plugin(), ActionPlugin, SystemIndexPlugin, JobSch
indexScopedSettings: IndexScopedSettings,
settingsFilter: SettingsFilter,
indexNameExpressionResolver: IndexNameExpressionResolver,
nodesInCluster: Supplier<DiscoveryNodes>
): List<RestHandler> {
return listOf(
nodesInCluster: Supplier<DiscoveryNodes>,
): List<RestHandler> =
listOf(
ReportDefinitionRestHandler(),
ReportDefinitionListRestHandler(),
ReportInstanceRestHandler(),
ReportInstanceListRestHandler(),
OnDemandReportRestHandler(),
ReportStatsRestHandler()
ReportStatsRestHandler(),
)
}

/**
* {@inheritDoc}
*/
override fun getActions(): List<ActionPlugin.ActionHandler<out ActionRequest, out ActionResponse>> {
return listOf(
override fun getActions(): List<ActionPlugin.ActionHandler<out ActionRequest, out ActionResponse>> =
listOf(
ActionPlugin.ActionHandler(CreateReportDefinitionAction.ACTION_TYPE, CreateReportDefinitionAction::class.java),
ActionPlugin.ActionHandler(DeleteReportDefinitionAction.ACTION_TYPE, DeleteReportDefinitionAction::class.java),
ActionPlugin.ActionHandler(GetAllReportDefinitionsAction.ACTION_TYPE, GetAllReportDefinitionsAction::class.java),
Expand All @@ -173,7 +166,6 @@ class ReportsSchedulerPlugin : Plugin(), ActionPlugin, SystemIndexPlugin, JobSch
ActionPlugin.ActionHandler(InContextReportCreateAction.ACTION_TYPE, InContextReportCreateAction::class.java),
ActionPlugin.ActionHandler(OnDemandReportCreateAction.ACTION_TYPE, OnDemandReportCreateAction::class.java),
ActionPlugin.ActionHandler(UpdateReportDefinitionAction.ACTION_TYPE, UpdateReportDefinitionAction::class.java),
ActionPlugin.ActionHandler(UpdateReportInstanceStatusAction.ACTION_TYPE, UpdateReportInstanceStatusAction::class.java)
ActionPlugin.ActionHandler(UpdateReportInstanceStatusAction.ACTION_TYPE, UpdateReportInstanceStatusAction::class.java),
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,27 +18,30 @@ import org.opensearch.transport.client.Client
/**
* Create reportDefinition transport action
*/
internal class CreateReportDefinitionAction @Inject constructor(
transportService: TransportService,
client: Client,
actionFilters: ActionFilters,
val xContentRegistry: NamedXContentRegistry
) : PluginBaseAction<CreateReportDefinitionRequest, CreateReportDefinitionResponse>(
NAME,
transportService,
client,
actionFilters,
::CreateReportDefinitionRequest
) {
companion object {
private const val NAME = "cluster:admin/opendistro/reports/definition/create"
internal val ACTION_TYPE = ActionType(NAME, ::CreateReportDefinitionResponse)
}
internal class CreateReportDefinitionAction
@Inject
constructor(
transportService: TransportService,
client: Client,
actionFilters: ActionFilters,
val xContentRegistry: NamedXContentRegistry,
) : PluginBaseAction<CreateReportDefinitionRequest, CreateReportDefinitionResponse>(
NAME,
transportService,
client,
actionFilters,
::CreateReportDefinitionRequest,
) {
companion object {
private const val NAME = "cluster:admin/opendistro/reports/definition/create"
internal val ACTION_TYPE = ActionType(NAME, ::CreateReportDefinitionResponse)
}

/**
* {@inheritDoc}
*/
override fun executeRequest(request: CreateReportDefinitionRequest, user: User?): CreateReportDefinitionResponse {
return ReportDefinitionActions.create(request, user)
/**
* {@inheritDoc}
*/
override fun executeRequest(
request: CreateReportDefinitionRequest,
user: User?,
): CreateReportDefinitionResponse = ReportDefinitionActions.create(request, user)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,27 +18,30 @@ import org.opensearch.transport.client.Client
/**
* Delete reportDefinition transport action
*/
internal class DeleteReportDefinitionAction @Inject constructor(
transportService: TransportService,
client: Client,
actionFilters: ActionFilters,
val xContentRegistry: NamedXContentRegistry
) : PluginBaseAction<DeleteReportDefinitionRequest, DeleteReportDefinitionResponse>(
NAME,
transportService,
client,
actionFilters,
::DeleteReportDefinitionRequest
) {
companion object {
private const val NAME = "cluster:admin/opendistro/reports/definition/delete"
internal val ACTION_TYPE = ActionType(NAME, ::DeleteReportDefinitionResponse)
}
internal class DeleteReportDefinitionAction
@Inject
constructor(
transportService: TransportService,
client: Client,
actionFilters: ActionFilters,
val xContentRegistry: NamedXContentRegistry,
) : PluginBaseAction<DeleteReportDefinitionRequest, DeleteReportDefinitionResponse>(
NAME,
transportService,
client,
actionFilters,
::DeleteReportDefinitionRequest,
) {
companion object {
private const val NAME = "cluster:admin/opendistro/reports/definition/delete"
internal val ACTION_TYPE = ActionType(NAME, ::DeleteReportDefinitionResponse)
}

/**
* {@inheritDoc}
*/
override fun executeRequest(request: DeleteReportDefinitionRequest, user: User?): DeleteReportDefinitionResponse {
return ReportDefinitionActions.delete(request, user)
/**
* {@inheritDoc}
*/
override fun executeRequest(
request: DeleteReportDefinitionRequest,
user: User?,
): DeleteReportDefinitionResponse = ReportDefinitionActions.delete(request, user)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,27 +18,30 @@ import org.opensearch.transport.client.Client
/**
* Get all reportDefinitions transport action
*/
internal class GetAllReportDefinitionsAction @Inject constructor(
transportService: TransportService,
client: Client,
actionFilters: ActionFilters,
val xContentRegistry: NamedXContentRegistry
) : PluginBaseAction<GetAllReportDefinitionsRequest, GetAllReportDefinitionsResponse>(
NAME,
transportService,
client,
actionFilters,
::GetAllReportDefinitionsRequest
) {
companion object {
private const val NAME = "cluster:admin/opendistro/reports/definition/list"
internal val ACTION_TYPE = ActionType(NAME, ::GetAllReportDefinitionsResponse)
}
internal class GetAllReportDefinitionsAction
@Inject
constructor(
transportService: TransportService,
client: Client,
actionFilters: ActionFilters,
val xContentRegistry: NamedXContentRegistry,
) : PluginBaseAction<GetAllReportDefinitionsRequest, GetAllReportDefinitionsResponse>(
NAME,
transportService,
client,
actionFilters,
::GetAllReportDefinitionsRequest,
) {
companion object {
private const val NAME = "cluster:admin/opendistro/reports/definition/list"
internal val ACTION_TYPE = ActionType(NAME, ::GetAllReportDefinitionsResponse)
}

/**
* {@inheritDoc}
*/
override fun executeRequest(request: GetAllReportDefinitionsRequest, user: User?): GetAllReportDefinitionsResponse {
return ReportDefinitionActions.getAll(request, user)
/**
* {@inheritDoc}
*/
override fun executeRequest(
request: GetAllReportDefinitionsRequest,
user: User?,
): GetAllReportDefinitionsResponse = ReportDefinitionActions.getAll(request, user)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,27 +18,30 @@ import org.opensearch.transport.client.Client
/**
* Get all report instances transport action
*/
internal class GetAllReportInstancesAction @Inject constructor(
transportService: TransportService,
client: Client,
actionFilters: ActionFilters,
val xContentRegistry: NamedXContentRegistry
) : PluginBaseAction<GetAllReportInstancesRequest, GetAllReportInstancesResponse>(
NAME,
transportService,
client,
actionFilters,
::GetAllReportInstancesRequest
) {
companion object {
private const val NAME = "cluster:admin/opendistro/reports/instance/list"
internal val ACTION_TYPE = ActionType(NAME, ::GetAllReportInstancesResponse)
}
internal class GetAllReportInstancesAction
@Inject
constructor(
transportService: TransportService,
client: Client,
actionFilters: ActionFilters,
val xContentRegistry: NamedXContentRegistry,
) : PluginBaseAction<GetAllReportInstancesRequest, GetAllReportInstancesResponse>(
NAME,
transportService,
client,
actionFilters,
::GetAllReportInstancesRequest,
) {
companion object {
private const val NAME = "cluster:admin/opendistro/reports/instance/list"
internal val ACTION_TYPE = ActionType(NAME, ::GetAllReportInstancesResponse)
}

/**
* {@inheritDoc}
*/
override fun executeRequest(request: GetAllReportInstancesRequest, user: User?): GetAllReportInstancesResponse {
return ReportInstanceActions.getAll(request, user)
/**
* {@inheritDoc}
*/
override fun executeRequest(
request: GetAllReportInstancesRequest,
user: User?,
): GetAllReportInstancesResponse = ReportInstanceActions.getAll(request, user)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,27 +18,30 @@ import org.opensearch.transport.client.Client
/**
* Get reportDefinition transport action
*/
internal class GetReportDefinitionAction @Inject constructor(
transportService: TransportService,
client: Client,
actionFilters: ActionFilters,
val xContentRegistry: NamedXContentRegistry
) : PluginBaseAction<GetReportDefinitionRequest, GetReportDefinitionResponse>(
NAME,
transportService,
client,
actionFilters,
::GetReportDefinitionRequest
) {
companion object {
private const val NAME = "cluster:admin/opendistro/reports/definition/get"
internal val ACTION_TYPE = ActionType(NAME, ::GetReportDefinitionResponse)
}
internal class GetReportDefinitionAction
@Inject
constructor(
transportService: TransportService,
client: Client,
actionFilters: ActionFilters,
val xContentRegistry: NamedXContentRegistry,
) : PluginBaseAction<GetReportDefinitionRequest, GetReportDefinitionResponse>(
NAME,
transportService,
client,
actionFilters,
::GetReportDefinitionRequest,
) {
companion object {
private const val NAME = "cluster:admin/opendistro/reports/definition/get"
internal val ACTION_TYPE = ActionType(NAME, ::GetReportDefinitionResponse)
}

/**
* {@inheritDoc}
*/
override fun executeRequest(request: GetReportDefinitionRequest, user: User?): GetReportDefinitionResponse {
return ReportDefinitionActions.info(request, user)
/**
* {@inheritDoc}
*/
override fun executeRequest(
request: GetReportDefinitionRequest,
user: User?,
): GetReportDefinitionResponse = ReportDefinitionActions.info(request, user)
}
}
Loading
Loading