Package net.shibboleth.idp.admin.impl
Class DoStorageOperation
- All Implemented Interfaces:
Component
,DestructableComponent
,InitializableComponent
,ProfileAction
,Aware
,MessageSource
,MessageSourceAware
,Action
Action that implements a JSON REST API for accessing
StorageService
records.
The API supports GET and DELETE at the moment, using jsonapi.org conventions.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String
Storage context to operate on.static final String
Flow variable indicating ID of storage context.private String
Storage key to operate on.static final String
Flow variable indicating ID of storage key.private org.slf4j.Logger
Class logger.private com.fasterxml.jackson.databind.ObjectMapper
JSON object mapper.static final String
Flow variable indicating ID of storage service bean to reload.private StorageService
StorageService
to operate on. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doExecute
(ProfileRequestContext profileRequestContext) protected void
protected boolean
doPreExecute
(ProfileRequestContext profileRequestContext) private StorageService
getStorageService
(RequestContext requestContext) Helper method to get the storage service bean to operate on.private void
Output an error object.void
setObjectMapper
(com.fasterxml.jackson.databind.ObjectMapper mapper) Set the JSONObjectMapper
to 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 Details
-
SERVICE_ID
Flow variable indicating ID of storage service bean to reload.- See Also:
-
CONTEXT
Flow variable indicating ID of storage context.- See Also:
-
KEY
Flow variable indicating ID of storage key.- See Also:
-
log
@Nonnull private org.slf4j.Logger logClass logger. -
objectMapper
JSON object mapper. -
storageService
StorageService
to operate on. -
context
Storage context to operate on. -
key
Storage key to operate on.
-
-
Constructor Details
-
DoStorageOperation
public DoStorageOperation()
-
-
Method Details
-
setObjectMapper
public void setObjectMapper(@Nonnull com.fasterxml.jackson.databind.ObjectMapper mapper) Set the JSONObjectMapper
to use for serialization.- Parameters:
mapper
- object mapper
-
doInitialize
- Overrides:
doInitialize
in classAbstractInitializableComponent
- Throws:
ComponentInitializationException
-
doPreExecute
- Overrides:
doPreExecute
in classAbstractConditionalProfileAction
-
doExecute
- Overrides:
doExecute
in classAbstractProfileAction
-
getStorageService
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 IOException Output an error object.- Parameters:
status
- HTTP statustitle
- fixed error descriptiondetail
- human-readable error description- Throws:
IOException
- if unable to output the error
-