Package org.dspace.content.authority
Class SolrAuthority
- java.lang.Object
-
- org.dspace.content.authority.SolrAuthority
-
- All Implemented Interfaces:
ChoiceAuthority
public class SolrAuthority extends Object implements ChoiceAuthority
- Author:
- Antoine Snyers (antoine at atmire.com), Kevin Van de Velde (kevin at atmire dot com), Ben Bosman (ben at atmire dot com), Mark Diggory (markd at atmire dot com)
-
-
Field Summary
Fields Modifier and Type Field Description protected AuthorityValueServiceauthorityValueServiceprotected booleanexternalResultsprotected SolrAuthorityInterfacesource
-
Constructor Summary
Constructors Constructor Description SolrAuthority()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddExternalResults(String text, ArrayList<Choice> choices, List<AuthorityValue> alreadyPresent, int max)voidaddExternalResultsInNextMatches()ChoicesgetBestMatch(String field, String text, Collection collection, String locale)Get the single "best" match (if any) of a value in the authority to the given user value.StringgetLabel(String field, String key, String locale)Get the canonical user-visible "label" (i.e.ChoicesgetMatches(String field, String text, Collection collection, int start, int limit, String locale)Get all values from the authority that match the preferred value.ChoicesgetMatches(String field, String text, Collection collection, int start, int limit, String locale, boolean bestMatch)static AuthoritySearchServicegetSearchService()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.dspace.content.authority.ChoiceAuthority
getChoice, hasIdentifier, isHierarchical, isScrollable
-
-
-
-
Field Detail
-
source
protected SolrAuthorityInterface source
-
externalResults
protected boolean externalResults
-
authorityValueService
protected final AuthorityValueService authorityValueService
-
-
Method Detail
-
getMatches
public Choices getMatches(String field, String text, Collection collection, int start, int limit, String locale, boolean bestMatch)
-
addExternalResults
protected void addExternalResults(String text, ArrayList<Choice> choices, List<AuthorityValue> alreadyPresent, int max)
-
getMatches
public Choices getMatches(String field, String text, Collection collection, int start, int limit, String locale)
Description copied from interface:ChoiceAuthorityGet all values from the authority that match the preferred value. Note that the offering was entered by the user and may contain mixed/incorrect case, whitespace, etc so the plugin should be careful to clean up user data before making comparisons. Value of a "Name" field will be in canonical DSpace person name format, which is "Lastname, Firstname(s)", e.g. "Smith, John Q.". Some authorities with a small set of values may simply return the whole set for any sample value, although it's a good idea to set the defaultSelected index in the Choices instance to the choice, if any, that matches the value.- Specified by:
getMatchesin interfaceChoiceAuthority- Parameters:
field- being matched fortext- user's value to matchcollection- database ID of Collection for context (owner of Item)start- choice at which to start, 0 is first.limit- maximum number of choices to return, 0 for no limit.locale- explicit localization key if available, or null- Returns:
- a Choices object (never null).
-
getBestMatch
public Choices getBestMatch(String field, String text, Collection collection, String locale)
Description copied from interface:ChoiceAuthorityGet the single "best" match (if any) of a value in the authority to the given user value. The "confidence" element of Choices is expected to be set to a meaningful value about the circumstances of this match. This call is typically used in non-interactive metadata ingest where there is no interactive agent to choose from among options.- Specified by:
getBestMatchin interfaceChoiceAuthority- Parameters:
field- being matched fortext- user's value to matchcollection- database ID of Collection for context (owner of Item)locale- explicit localization key if available, or null- Returns:
- a Choices object (never null) with 1 or 0 values.
-
getLabel
public String getLabel(String field, String key, String locale)
Description copied from interface:ChoiceAuthorityGet the canonical user-visible "label" (i.e. short descriptive text) for a key in the authority. Can be localized given the implicit or explicit locale specification. This may get called many times while populating a Web page so it should be implemented as efficiently as possible.- Specified by:
getLabelin interfaceChoiceAuthority- Parameters:
field- being matched forkey- authority key known to this authority.locale- explicit localization key if available, or null- Returns:
- descriptive label - should always return something, never null.
-
getSearchService
public static AuthoritySearchService getSearchService()
-
addExternalResultsInNextMatches
public void addExternalResultsInNextMatches()
-
-