Package net.shibboleth.idp.admin.impl
Class DoStorageOperation
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction,Aware,MessageSource,MessageSourceAware,Action
public class DoStorageOperation extends AbstractProfileAction
Action that implements a JSON REST API for accessingStorageServicerecords.The API supports GET and DELETE at the moment, using jsonapi.org conventions.
-
-
Field Summary
Fields Modifier and Type Field Description private StringcontextStorage context to operate on.static StringCONTEXTFlow variable indicating ID of storage context.private StringkeyStorage key to operate on.static StringKEYFlow variable indicating ID of storage key.private org.slf4j.LoggerlogClass logger.private com.fasterxml.jackson.databind.ObjectMapperobjectMapperJSON object mapper.static StringSERVICE_IDFlow variable indicating ID of storage service bean to reload.private StorageServicestorageServiceStorageServiceto operate on.
-
Constructor Summary
Constructors Constructor Description DoStorageOperation()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoExecute(ProfileRequestContext profileRequestContext)protected voiddoInitialize()protected booleandoPreExecute(ProfileRequestContext profileRequestContext)private StorageServicegetStorageService(RequestContext requestContext)Helper method to get the storage service bean to operate on.private voidsendError(int status, String title, String detail)Output an error object.voidsetObjectMapper(com.fasterxml.jackson.databind.ObjectMapper mapper)Set the JSONObjectMapperto use for serialization.-
Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction
doExecute, execute, getMessage, getMessage, getMessage, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategy
-
Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction
getActivationCondition, setActivationCondition
-
Methods inherited from class org.opensaml.profile.action.AbstractProfileAction
doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
-
-
-
Field Detail
-
SERVICE_ID
@Nonnull @NotEmpty public static final String SERVICE_ID
Flow variable indicating ID of storage service bean to reload.- See Also:
- Constant Field Values
-
CONTEXT
@Nonnull @NotEmpty public static final String CONTEXT
Flow variable indicating ID of storage context.- See Also:
- Constant Field Values
-
KEY
@Nonnull @NotEmpty public static final String KEY
Flow variable indicating ID of storage key.- See Also:
- Constant Field Values
-
log
@Nonnull private org.slf4j.Logger log
Class logger.
-
objectMapper
@NonnullAfterInit private com.fasterxml.jackson.databind.ObjectMapper objectMapper
JSON object mapper.
-
storageService
@Nullable private StorageService storageService
StorageServiceto operate on.
-
-
Method Detail
-
setObjectMapper
public void setObjectMapper(@Nonnull com.fasterxml.jackson.databind.ObjectMapper mapper)Set the JSONObjectMapperto use for serialization.- Parameters:
mapper- object mapper
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
doPreExecute
protected boolean doPreExecute(ProfileRequestContext profileRequestContext)
- Overrides:
doPreExecutein classAbstractConditionalProfileAction
-
doExecute
protected void doExecute(ProfileRequestContext profileRequestContext)
- Overrides:
doExecutein classAbstractProfileAction
-
getStorageService
@Nullable private StorageService getStorageService(@Nonnull RequestContext requestContext)
Helper method to get the storage service bean to operate on.- Parameters:
requestContext- current SWF request context- Returns:
- storage service or null
-
sendError
private void sendError(int status, @Nonnull @NotEmpty String title, @Nonnull @NotEmpty String detail) throws IOExceptionOutput an error object.- Parameters:
status- HTTP statustitle- fixed error descriptiondetail- human-readable error description- Throws:
IOException- if unable to output the error
-
-