Package net.shibboleth.idp.ui.context
Class RelyingPartyUIContext
- java.lang.Object
-
- org.opensaml.messaging.context.BaseContext
-
- net.shibboleth.idp.ui.context.RelyingPartyUIContext
-
- All Implemented Interfaces:
Iterable<BaseContext>
public final class RelyingPartyUIContext extends BaseContext
The context which carries the user interface information.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.opensaml.messaging.context.BaseContext
BaseContext.ContextSetNoRemoveIteratorDecorator
-
-
Field Summary
Fields Modifier and Type Field Description private List<Locale.LanguageRange>browserLanguagesThe (statically defined) languages that this user wants to know about.private List<Locale.LanguageRange>fallbackLanguagesThe languages that this the Operator want to fall back to.private org.slf4j.LoggerlogThe log.private NonnullSupplier<javax.servlet.http.HttpServletRequest>requestSupplierA way of getting the current HTTP request, if available.private ACSUIInforpACSUIinfoThe appropriateACSUIInfo.private EntityDescriptorrpEntityDescriptorThe appropriateEntityDescriptor.private SPSSODescriptorrpSPSSODescriptorThe appropriateSPSSODescriptor.private IdPUIInforpUIInfoThe appropriateIdPUIInfo.
-
Constructor Summary
Constructors Constructor Description RelyingPartyUIContext()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected List<Locale.LanguageRange>getBrowserLanguages()Get the browser languages.StringgetContactEmail(String contactType)look for the <ContactPerson> and within that the Email.StringgetContactGivenName(String contactType)look for the <ContactPerson> and within that the GivenName.ContactPersongetContactPerson(ContactPersonTypeEnumeration contactType)Lookup the specified type of Contact in the RP metadata.StringgetContactSurName(String contactType)look for the <ContactPerson> and within that the SurName.protected ContactPersonTypeEnumerationgetContactType(String type)Parser for the contact type.protected StringgetDescriptionFromAttributeConsumingService(String lang)Look for an <AttributeConsumeService> and if it's there look for an appropriate description.protected StringgetDescriptionFromUIInfo()look at <UIInfo> if there and if so look for appropriate description.Collection<String>getEntityAttributeStringValues(String id)Shorthand method that returns a collapsed copy of the String values of a given mapped Entity Attribute in the metadata, or an empty collection.protected List<Locale.LanguageRange>getFallbackLanguages()Get the fallback languages.StringgetInformationURL()Get the <mdui:InformationURL>.private StringgetLocalizeString(Map<Locale,String> map, String type)Helper function for methods which need localized strings.StringgetLogo()Get the Logo (or null).StringgetLogo(int minWidth, int minHeight, int maxWidth, int maxHeight)Get the Logo (or null).StringgetLogo(String minWidth, String minHeight, String maxWidth, String maxHeight)Get the Logo (or null).protected StringgetNameFromAttributeConsumingService()Look for an <AttributeConsumeService> and if its there look for an appropriate name.protected StringgetNameFromEntityId()If the entityId can look like a host return that, otherwise the entityId in full.protected OrganizationUIInfogetOrganization()StringgetOrganizationDisplayName()Look for the <OrganizationDisplayName>.StringgetOrganizationName()Look for the <OrganizationName>.StringgetOrganizationURL()* Look for the <OrganizationURL>.StringgetPrivacyStatementURL()Get the <mdui:PrivacyStatementURL>.protected ACSUIInfogetRPACSUInfo()Get theACSUIInfofor the request.protected EntityDescriptorgetRPEntityDescriptor()Get theEntityDescriptor.protected SPSSODescriptorgetRPSPSSODescriptor()Get theSPSSODescriptor.protected IdPUIInfogetRPUInfo()Get the RPUIInfoassociated with the request.StringgetServiceDescription()Get the service Description.StringgetServiceName()Get the service name.private booleanlogoFits(Logo logo, int minWidth, int minHeight, int maxWidth, int maxHeight)Does the logo fit the supplied parameters?private StringpoliceURL(String url, List<String> acceptableSchemes)Check to see whether a supplied URL is acceptable, returning the default if it isn't.protected StringpoliceURLLogo(String url)Police a url found for a logo.protected StringpoliceURLNonLogo(String url)Police a url found for non logo data.RelyingPartyUIContextsetBrowserLanguageRanges(List<Locale.LanguageRange> ranges)Set the browser languages.RelyingPartyUIContextsetBrowserLanguages(List<String> languages)Deprecated, for removal: This API element is subject to removal in a future version.RelyingPartyUIContextsetFallbackLanguages(List<String> languages)Set the fallback languages.RelyingPartyUIContextsetRequestSupplier(NonnullSupplier<javax.servlet.http.HttpServletRequest> what)Set the Servlet Request.RelyingPartyUIContextsetRPAttributeConsumingService(AttributeConsumingService what)Set theACSUIInfofor the request.RelyingPartyUIContextsetRPEntityDescriptor(EntityDescriptor what)Set theEntityDescriptor.RelyingPartyUIContextsetRPSPSSODescriptor(SPSSODescriptor what)Set theSPSSODescriptor.RelyingPartyUIContextsetRPUInfo(UIInfo what)Set the RPIdPUIInfoassociated with the request.-
Methods inherited from class org.opensaml.messaging.context.BaseContext
addSubcontext, addSubcontext, clearSubcontexts, containsSubcontext, createSubcontext, getParent, getSubcontext, getSubcontext, getSubcontext, getSubcontext, iterator, removeSubcontext, removeSubcontext, setParent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
The log.
-
rpEntityDescriptor
@Nullable private EntityDescriptor rpEntityDescriptor
The appropriateEntityDescriptor.
-
rpSPSSODescriptor
@Nullable private SPSSODescriptor rpSPSSODescriptor
The appropriateSPSSODescriptor.
-
browserLanguages
@Nullable @NonnullElements private List<Locale.LanguageRange> browserLanguages
The (statically defined) languages that this user wants to know about.
-
fallbackLanguages
@Nonnull private List<Locale.LanguageRange> fallbackLanguages
The languages that this the Operator want to fall back to.
-
requestSupplier
@Nullable private NonnullSupplier<javax.servlet.http.HttpServletRequest> requestSupplier
A way of getting the current HTTP request, if available. Used to define dynamically selected languages.
-
-
Method Detail
-
getRPEntityDescriptor
@Nullable protected EntityDescriptor getRPEntityDescriptor()
Get theEntityDescriptor.- Returns:
- Returns the entity.
-
setRPEntityDescriptor
@Nonnull public RelyingPartyUIContext setRPEntityDescriptor(@Nullable EntityDescriptor what)
Set theEntityDescriptor.- Parameters:
what- what to set- Returns:
- this context
-
getRPSPSSODescriptor
@Nullable protected SPSSODescriptor getRPSPSSODescriptor()
Get theSPSSODescriptor.- Returns:
- Returns the SPSSODescriptor.
-
setRPSPSSODescriptor
@Nonnull public RelyingPartyUIContext setRPSPSSODescriptor(@Nullable SPSSODescriptor what)
Set theSPSSODescriptor.- Parameters:
what- what to set- Returns:
- this context
-
getEntityAttributeStringValues
@Nonnull @NonnullElements @NotLive @Unmodifiable public Collection<String> getEntityAttributeStringValues(@Nonnull @NotEmpty String id)
Shorthand method that returns a collapsed copy of the String values of a given mapped Entity Attribute in the metadata, or an empty collection.- Parameters:
id- attribute ID- Returns:
- unmodifiable collection of string values
- Since:
- 4.0.0
-
getRPACSUInfo
@Nullable protected ACSUIInfo getRPACSUInfo()
Get theACSUIInfofor the request.- Returns:
- Returns the RP's
ACSUIInfo.
-
getRPUInfo
@Nullable protected IdPUIInfo getRPUInfo()
Get the RPUIInfoassociated with the request.- Returns:
- the value or null if there is none.
-
setRPUInfo
@Nonnull public RelyingPartyUIContext setRPUInfo(@Nullable UIInfo what)
Set the RPIdPUIInfoassociated with the request. We normally expect to get this from the object metadata.- Parameters:
what- the value to set- Returns:
- this context
-
setRPAttributeConsumingService
@Nonnull public RelyingPartyUIContext setRPAttributeConsumingService(@Nullable AttributeConsumingService what)
Set theACSUIInfofor the request. We normally expect to get this from the object metadata.- Parameters:
what- what to set- Returns:
- this context
-
setRequestSupplier
public RelyingPartyUIContext setRequestSupplier(@Nonnull NonnullSupplier<javax.servlet.http.HttpServletRequest> what)
Set the Servlet Request.- Parameters:
what- what to set.- Returns:
- this context
-
setBrowserLanguages
@Deprecated(since="4.0.0", forRemoval=true) @Nonnull public RelyingPartyUIContext setBrowserLanguages(@Nonnull @NonnullElements List<String> languages)
Deprecated, for removal: This API element is subject to removal in a future version.Set the browser languages.- Parameters:
languages- the languages to set- Returns:
- this context
-
setBrowserLanguageRanges
@Nonnull public RelyingPartyUIContext setBrowserLanguageRanges(@Nonnull @NonnullElements List<Locale.LanguageRange> ranges)
Set the browser languages.- Parameters:
ranges- the languages to set- Returns:
- this context
-
getBrowserLanguages
@Nonnull @NonnullElements protected List<Locale.LanguageRange> getBrowserLanguages()
Get the browser languages. Interrogate the http Request (if available) otherwise got for the statically defined values.- Returns:
- the languages.
-
setFallbackLanguages
@Nonnull public RelyingPartyUIContext setFallbackLanguages(@Nullable List<String> languages)
Set the fallback languages.- Parameters:
languages- the languages to set- Returns:
- this context
-
getFallbackLanguages
@Nonnull @NonnullElements protected List<Locale.LanguageRange> getFallbackLanguages()
Get the fallback languages.- Returns:
- the languages.
-
policeURL
@Nullable private String policeURL(@Nullable String url, @Nonnull @NotEmpty List<String> acceptableSchemes)
Check to see whether a supplied URL is acceptable, returning the default if it isn't.- Parameters:
url- the url to look atacceptableSchemes- the schemes to test against- Returns:
- the input or null as appropriate.
-
policeURLLogo
@Nullable protected String policeURLLogo(@Nullable String url)
Police a url found for a logo.- Parameters:
url- the url to look at- Returns:
- the input or the default as appropriate
-
policeURLNonLogo
@Nullable protected String policeURLNonLogo(@Nullable String url)
Police a url found for non logo data.- Parameters:
url- the url to look at- Returns:
- the input or the default as appropriate
-
getNameFromAttributeConsumingService
@Nullable protected String getNameFromAttributeConsumingService()
Look for an <AttributeConsumeService> and if its there look for an appropriate name.- Returns:
- null or an appropriate name
-
getNameFromEntityId
@Nullable protected String getNameFromEntityId()
If the entityId can look like a host return that, otherwise the entityId in full.- Returns:
- either the host or the entityId.
-
getDescriptionFromUIInfo
@Nullable protected String getDescriptionFromUIInfo()
look at <UIInfo> if there and if so look for appropriate description.- Returns:
- null or an appropriate description
-
getDescriptionFromAttributeConsumingService
@Nullable protected String getDescriptionFromAttributeConsumingService(String lang)
Look for an <AttributeConsumeService> and if it's there look for an appropriate description.- Parameters:
lang- - which language to look up- Returns:
- null or an appropriate description
-
getOrganization
@Nullable protected OrganizationUIInfo getOrganization()
- Returns:
- the
Organizationfor the relying party.
-
getContactType
protected ContactPersonTypeEnumeration getContactType(@Nullable String type)
Parser for the contact type.- Parameters:
type- in value- Returns:
- the enumeration type. suitably defaulted.
-
getContactPerson
@Nullable public ContactPerson getContactPerson(ContactPersonTypeEnumeration contactType)
Lookup the specified type of Contact in the RP metadata.- Parameters:
contactType- what type to look up.- Returns:
- the
ContactPersonor null.
-
getServiceName
@Nullable public String getServiceName()
Get the service name.- Returns:
- the name or null if there wasn't one
-
getServiceDescription
@Nullable public String getServiceDescription()
Get the service Description.- Returns:
- the description or null if there wasn't one
-
getOrganizationDisplayName
@Nullable public String getOrganizationDisplayName()
Look for the <OrganizationDisplayName>.- Returns:
- An appropriate string or null
-
getOrganizationName
@Nullable public String getOrganizationName()
Look for the <OrganizationName>.- Returns:
- An appropriate string or null
-
getOrganizationURL
public String getOrganizationURL()
* Look for the <OrganizationURL>.- Returns:
- An appropriate string or the null
-
getContactSurName
@Nullable public String getContactSurName(@Nullable String contactType)
look for the <ContactPerson> and within that the SurName.- Parameters:
contactType- the type of contact to look for- Returns:
- An appropriate string or null
-
getContactGivenName
@Nullable public String getContactGivenName(@Nullable String contactType)
look for the <ContactPerson> and within that the GivenName.- Parameters:
contactType- the type of contact to look for- Returns:
- An appropriate string or null
-
getContactEmail
@Nullable public String getContactEmail(@Nullable String contactType)
look for the <ContactPerson> and within that the Email.- Parameters:
contactType- the type of contact to look for- Returns:
- An appropriate string or null
-
getLocalizeString
@Nullable private String getLocalizeString(@Nonnull Map<Locale,String> map, @Nonnull String type)
Helper function for methods which need localized strings.- Parameters:
map- the map to lookuptype- the name we are looking up (for logging)- Returns:
- the suitable value, or null
-
getInformationURL
@Nullable public String getInformationURL()
Get the <mdui:InformationURL>.- Returns:
- the value or the default value
-
getPrivacyStatementURL
@Nullable public String getPrivacyStatementURL()
Get the <mdui:PrivacyStatementURL>.- Returns:
- the value or null
-
logoFits
private boolean logoFits(Logo logo, int minWidth, int minHeight, int maxWidth, int maxHeight)
Does the logo fit the supplied parameters?- Parameters:
logo- the logominWidth- min WidthminHeight- min HeightmaxWidth- max WidthmaxHeight- max Height- Returns:
- whether it fits
-
getLogo
@Nullable public String getLogo(int minWidth, int minHeight, int maxWidth, int maxHeight)
Get the Logo (or null). We apply the languages and the supplied lengths.- Parameters:
minWidth- the minimum width to allow.minHeight- the minimum height to allow.maxWidth- the maximum width to allow.maxHeight- the maximum height to allow.- Returns:
- an appropriate logo URL or null.
-
getLogo
@Nullable public String getLogo(String minWidth, String minHeight, String maxWidth, String maxHeight)
Get the Logo (or null). We apply the languages and the supplied lengths.- Parameters:
minWidth- the minimum width to allow.minHeight- the minimum height to allow.maxWidth- the maximum width to allow.maxHeight- the maximum height to allow.- Returns:
- an appropriate logo URL or null.
-
getLogo
@Nullable public String getLogo()
Get the Logo (or null). We apply the languages. Any size works.- Returns:
- an appropriate logo URL or null.
-
-