Package ch.rswk.meta.engine
Class ActionService
java.lang.Object
com.google.common.util.concurrent.AbstractIdleService
ch.rswk.meta.engine.AbstractEngineIdleService<ActionService.ActionServiceConfig>
ch.rswk.meta.engine.ActionService
- All Implemented Interfaces:
EngineServices.ConfigurableService<ActionService.ActionServiceConfig>
,EngineServices.InfoProvidingService
,com.google.common.util.concurrent.Service
@Singleton
public class ActionService
extends AbstractEngineIdleService<ActionService.ActionServiceConfig>
ActionService receives and dispatches
MetaAction
to services that are registered to handle them. Does validation of parameter and
result schemas, in case schemas are defined.- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static interface
static final record
private static final record
Nested classes/interfaces inherited from interface com.google.common.util.concurrent.Service
com.google.common.util.concurrent.Service.Listener, com.google.common.util.concurrent.Service.State
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map
<String, ActionService.DelegateWrapper> private com.codahale.metrics.Meter
private com.codahale.metrics.Meter
private static final Protocol.ErrorReplyFactory
private static final Protocol.ErrorReplyFactory
private static final Protocol.ErrorReplyFactory
private static final org.slf4j.Logger
private final MetaService
private static final Protocol.ErrorReplyFactory
private com.codahale.metrics.Meter
private com.codahale.metrics.Meter
private static final Protocol.ErrorReplyFactory
private static final Protocol.ErrorReplyFactory
private final MetaValidator
Fields inherited from class ch.rswk.meta.engine.AbstractEngineIdleService
runtime
-
Constructor Summary
ConstructorsConstructorDescriptionActionService
(ActionService.ActionServiceConfig config, MetaService metaService, EngineRuntime runtime, MetaValidator validator) -
Method Summary
Modifier and TypeMethodDescriptioncom.google.common.util.concurrent.ListenableFuture
<ExecuteReply> execute
(@Nullable String clientId, @Nullable String ipAddress, ExecuteRequest request, @Nullable String userName) Optional
<com.fasterxml.jackson.databind.node.ObjectNode> com.google.common.util.concurrent.ListenableFuture
<Void> registerExecuteDelegate
(String actionId, ActionService.ActionExecuteDelegate delegate) protected void
shutDown()
protected void
startUp()
Methods inherited from class ch.rswk.meta.engine.AbstractEngineIdleService
configClass, configReference, serviceName
Methods inherited from class com.google.common.util.concurrent.AbstractIdleService
addListener, awaitRunning, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, awaitTerminated, executor, failureCause, isRunning, startAsync, state, stopAsync, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.rswk.meta.engine.EngineServices.ConfigurableService
config, onConfigChanged
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
EXECUTION_ERROR
-
INVALID_PARAM_ERROR
-
INVALID_RESULT_ERROR
-
NO_ACTIONID_ERROR
-
UNHANDLED_ACTION_ERROR
-
UNKNOWN_ACTION_ERROR
-
delegates
-
metaService
-
validator
-
executeErrorMeter
private com.codahale.metrics.Meter executeErrorMeter -
executeMeter
private com.codahale.metrics.Meter executeMeter -
paramErrorMeter
private com.codahale.metrics.Meter paramErrorMeter -
resultErrorMeter
private com.codahale.metrics.Meter resultErrorMeter
-
-
Constructor Details
-
ActionService
@Inject public ActionService(ActionService.ActionServiceConfig config, MetaService metaService, EngineRuntime runtime, MetaValidator validator)
-
-
Method Details
-
startUp
- Overrides:
startUp
in classAbstractEngineIdleService<ActionService.ActionServiceConfig>
- Throws:
Exception
-
shutDown
- Overrides:
shutDown
in classAbstractEngineIdleService<ActionService.ActionServiceConfig>
- Throws:
Exception
-
registerExecuteDelegate
public com.google.common.util.concurrent.ListenableFuture<Void> registerExecuteDelegate(String actionId, ActionService.ActionExecuteDelegate delegate) -
execute
public com.google.common.util.concurrent.ListenableFuture<ExecuteReply> execute(@Nullable String clientId, @Nullable String ipAddress, ExecuteRequest request, @Nullable String userName) -
getServiceInfo
-