Package net.shibboleth.idp.admin.impl

# Class InitializeAdministrativeProfileContextTree

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.profile.action.AbstractConditionalProfileAction
net.shibboleth.idp.profile.AbstractProfileAction
net.shibboleth.idp.admin.impl.InitializeAdministrativeProfileContextTree

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `InitializableComponent`, `ProfileAction`, `Aware`, `MessageSource`, `MessageSourceAware`, `Action`

public class InitializeAdministrativeProfileContextTree extends AbstractProfileAction
An action that processes settings from a supplied `AdministrativeFlowDescriptor` to prepare the profile context tree for subsequent use by an administrative profile flow.

This action finalizes settings like non-browser compatibility, and decorates the context tree with a mocked up `RelyingPartyContext` and `RelyingPartyUIContext`.

Event:
  `EventIds.PROCEED_EVENT_ID`, `IdPEventIds.INVALID_PROFILE_CONFIG`
Precondition:
  The injected `AdministrativeFlowDescriptor`'s ID must match `ProfileRequestContext.getProfileId()`
Postcondition:
  See above.

## Field Summary

Fields
Modifier and Type
Field
Description
`private List<String>`
`fallbackLanguages`
The system wide languages to inspect if there is no match between metadata and browser.
`private AdministrativeFlowDescriptor`
`flowDescriptor`
Descriptor of the administrative flow being run.
`private final org.slf4j.Logger`
`log`
Class logger.

## Constructor Summary

Constructors
Constructor
Description
`InitializeAdministrativeProfileContextTree()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doExecute(ProfileRequestContext profileRequestContext)`
`protected boolean`
`doPreExecute(ProfileRequestContext profileRequestContext)`
`private AdministrativeFlowDescriptor`
`getFlowDescriptor()`
Get the `AdministrativeFlowDescriptor` to operate on.
`void`
`setAdministrativeFlowDescriptor(AdministrativeFlowDescriptor descriptor)`
Set the flow descriptor describing the administrative flow being run.
`void`
`setFallbackLanguages(List<String> langs)`
Set the system wide default languages.

### 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, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplier`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, doInitialize, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, 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.shared.component.InitializableComponent

`initialize, isInitialized`

## Field Details

### log

@Nonnull private final org.slf4j.Logger log
Class logger.

### flowDescriptor

@NonnullBeforeExec private AdministrativeFlowDescriptor flowDescriptor
Descriptor of the administrative flow being run.

### fallbackLanguages

@Nullable private List<String> fallbackLanguages
The system wide languages to inspect if there is no match between metadata and browser.

## Constructor Details

### InitializeAdministrativeProfileContextTree

public InitializeAdministrativeProfileContextTree()

## Method Details

### setAdministrativeFlowDescriptor

public void setAdministrativeFlowDescriptor(@Nullable AdministrativeFlowDescriptor descriptor)
Set the flow descriptor describing the administrative flow being run.

Parameters:
  `descriptor` - the flow descriptor to base the action on

### setFallbackLanguages

public void setFallbackLanguages(@Nonnull List<String> langs)
Set the system wide default languages.

Parameters:
  `langs` - a semi-colon separated string.

### getFlowDescriptor

@Nonnull private AdministrativeFlowDescriptor getFlowDescriptor()
Get the `AdministrativeFlowDescriptor` to operate on.

Returns:
  the flowDescriptor

### doPreExecute

protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)

Overrides:
  `doPreExecute` in class `AbstractConditionalProfileAction`

### doExecute

protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)

Overrides:
  `doExecute` in class `AbstractProfileAction`