org.dspace.content.authority
Class LCNameAuthority

java.lang.Object
  extended by org.dspace.content.authority.LCNameAuthority
All Implemented Interfaces:
ChoiceAuthority

public class LCNameAuthority
extends Object
implements ChoiceAuthority

Sample personal name authority based on Library of Congress Name Authority Also serves as an example of an SRU client as authority. This is tuned for the data in the LC Name Authority test instance, see http://alcme.oclc.org/srw/search/lcnaf WARNING: This is just a proof-of-concept implementation. It would need WARNING: lots of refinement to be used in production, because it is very WARNING: sloppy about digging through the MARC/XML results. No doubt WARNING: it is losing a lot of valid results and information. WARNING: Could also do a better job including more info (title, life dates WARNING: etc) in the label instead of just the name. Reads these DSpace Config properties: lcname.url = http://alcme.oclc.org/srw/search/lcnaf TODO: make # of results to ask for (and return) configurable.

Version:
$Revision $
Author:
Larry Stone

Constructor Summary
LCNameAuthority()
           
 
Method Summary
 Choices getBestMatch(String text, int collection, String locale)
          Get the single "best" match (if any) of a value in the authority to the given user value.
 String getLabel(String key, String locale)
          Get the canonical user-visible "label" (i.e.
 Choices getMatches(String text, int collection, int start, int limit, String locale)
          Match a proposed value against name authority records Value is assumed to be in "Lastname, Firstname" format.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LCNameAuthority

public LCNameAuthority()
Method Detail

getBestMatch

public Choices getBestMatch(String text,
                            int collection,
                            String locale)
Description copied from interface: ChoiceAuthority
Get 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:
getBestMatch in interface ChoiceAuthority
Parameters:
text - user's value to match
collection - 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.

getMatches

public Choices getMatches(String text,
                          int collection,
                          int start,
                          int limit,
                          String locale)
Match a proposed value against name authority records Value is assumed to be in "Lastname, Firstname" format.

Specified by:
getMatches in interface ChoiceAuthority
Parameters:
text - user's value to match
collection - 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).

getLabel

public String getLabel(String key,
                       String locale)
Description copied from interface: ChoiceAuthority
Get 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:
getLabel in interface ChoiceAuthority
Parameters:
key - authority key known to this authority.
locale - explicit localization key if available, or null
Returns:
descriptive label - should always return something, never null.


Copyright © 2010 DuraSpace. All Rights Reserved.