org.dspace.content.authority
Class SHERPARoMEOProtocol

java.lang.Object
  extended by org.dspace.content.authority.SHERPARoMEOProtocol
All Implemented Interfaces:
ChoiceAuthority
Direct Known Subclasses:
SHERPARoMEOJournalTitle, SHERPARoMEOPublisher

public abstract class SHERPARoMEOProtocol
extends Object
implements ChoiceAuthority

Choice Authority based on SHERPA/RoMEO - for Publishers and Journals See the subclasses SHERPARoMEOPublisher and SHERPARoMEOJournalTitle for actual choice plugin implementations. This is a superclass containing all the common protocol logic. Reads these DSpace Config properties: # contact URL for server sherpa.romeo.url = http://www.sherpa.ac.uk/romeoapi11.php WARNING: This is a very crude and incomplete implementation, done mainly as a proof-of-concept. Any site that actually wants to use it will probably have to refine it (and give patches back to dspace.org).

Version:
$Revision $
Author:
Larry Stone
See Also:
SHERPARoMEOPublisher, SHERPARoMEOJournalTitle

Constructor Summary
SHERPARoMEOProtocol()
           
 
Method Summary
 Choices getBestMatch(String field, 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 field, String key, String locale)
          Get the canonical user-visible "label" (i.e.
abstract  Choices getMatches(String text, int collection, int start, int limit, String locale)
           
protected  Choices query(String result, String label, String authority, org.apache.commons.httpclient.NameValuePair[] args, int start, int limit)
           
 
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
getMatches
 

Constructor Detail

SHERPARoMEOProtocol

public SHERPARoMEOProtocol()
Method Detail

getMatches

public abstract Choices getMatches(String text,
                                   int collection,
                                   int start,
                                   int limit,
                                   String locale)

getBestMatch

public Choices getBestMatch(String field,
                            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:
field - being matched for
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.

getLabel

public String getLabel(String field,
                       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:
field - being matched for
key - authority key known to this authority.
locale - explicit localization key if available, or null
Returns:
descriptive label - should always return something, never null.

query

protected Choices query(String result,
                        String label,
                        String authority,
                        org.apache.commons.httpclient.NameValuePair[] args,
                        int start,
                        int limit)


Copyright © 2012 DuraSpace. All Rights Reserved.