Class DoRevocationCacheOperation
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.profile.action.AbstractProfileAction
-
- org.opensaml.profile.action.AbstractConditionalProfileAction
-
- net.shibboleth.idp.profile.AbstractProfileAction
-
- net.shibboleth.idp.authn.revocation.impl.DoRevocationCacheOperation
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction,Aware,MessageSource,MessageSourceAware,Action
public class DoRevocationCacheOperation extends AbstractProfileAction
Action that implements a JSON REST API for theRevocationCacheinterface.The API supports GET, PUT/POST, and DELETE at the moment, using jsonapi.org conventions.
- GET
- Return a revocation record.
- PUT/POST
- Insert or update a revocation record.
- DELETE
- Delete revocation record.
-
-
Field Summary
Fields Modifier and Type Field Description static StringCACHE_IDFlow variable indicating ID of cache bean to access.private StringcontextRevocation context to operate on.static StringCONTEXTFlow variable indicating ID of account context.private StringkeyRevocation key to operate on.static StringKEYFlow variable indicating ID of account key.private org.slf4j.LoggerlogClass logger.private com.fasterxml.jackson.databind.ObjectMapperobjectMapperJSON object mapper.private RevocationCacherevocationCacheRevocationCacheto operate on.
-
Constructor Summary
Constructors Constructor Description DoRevocationCacheOperation()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voiddoDelete()Delete a revocation record.protected voiddoExecute(ProfileRequestContext profileRequestContext)private voiddoGet()Get a revocation record.protected voiddoInitialize()private voiddoPost()Insert a revocation record.protected booleandoPreExecute(ProfileRequestContext profileRequestContext)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, getBean, getBean, getMessage, getMessage, getMessage, getParameter, getParameter, 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, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, setHttpServletRequest, setHttpServletRequestSupplier, setHttpServletResponse, setHttpServletResponseSupplier
-
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
-
CACHE_ID
@Nonnull @NotEmpty public static final String CACHE_ID
Flow variable indicating ID of cache bean to access.- See Also:
- Constant Field Values
-
CONTEXT
@Nonnull @NotEmpty public static final String CONTEXT
Flow variable indicating ID of account context.- See Also:
- Constant Field Values
-
KEY
@Nonnull @NotEmpty public static final String KEY
Flow variable indicating ID of account 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.
-
revocationCache
@Nullable private RevocationCache revocationCache
RevocationCacheto 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
-
doGet
private void doGet() throws IOExceptionGet a revocation record.- Throws:
IOException- if an I/O error occurs
-
doPost
private void doPost() throws IOExceptionInsert a revocation record.- Throws:
IOException- if an I/O error occurs
-
doDelete
private void doDelete() throws IOExceptionDelete a revocation record.- Throws:
IOException- if an I/O error occurs
-
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
-
-