Package org.dspace.content.authority
Class MetadataAuthorityServiceImpl
- java.lang.Object
-
- org.dspace.content.authority.MetadataAuthorityServiceImpl
-
- All Implemented Interfaces:
MetadataAuthorityService
public class MetadataAuthorityServiceImpl extends Object implements MetadataAuthorityService
Broker for metadata authority settings configured for each metadata field. Configuration keys, per metadata field (e.g. "dc.contributor.author")# is field authority controlled (i.e. store authority, confidence values)? authority.controlled.<FIELD> = true # is field required to have an authority value, or may it be empty? # default is false. authority.required.<FIELD> = true | false # default value of minimum confidence level for ALL fields - must be # symbolic confidence level, see org.dspace.content.authority.Choices authority.minconfidence = uncertain # minimum confidence level for this field authority.minconfidence.SCHEMA.ELEMENT.QUALIFIER = SYMBOL e.g. authority.minconfidence.dc.contributor.author = acceptedNOTE: There is *expected* to be a "choices" (see ChoiceAuthorityManager) configuration for each authority-controlled field.- Author:
- Larry Stone
- See Also:
ChoiceAuthorityServiceImpl,Choices
-
-
Field Summary
Fields Modifier and Type Field Description protected ConfigurationServiceconfigurationServiceprotected Map<String,Boolean>controlledprotected intdefaultMinConfidencefallback default value unless authority.minconfidence = X is configured.protected Map<String,Boolean>isAuthorityRequiredprotected MetadataFieldServicemetadataFieldServiceprotected Map<String,Integer>minConfidencemap of field key to answer of which is the min acceptable confidence value for a field with authority
-
Constructor Summary
Constructors Modifier Constructor Description protectedMetadataAuthorityServiceImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearCache()This method has been created to have a way of clearing the cache kept inside the serviceList<String>getAuthorityMetadata()Return the list of metadata field with authority control.intgetMinConfidence(MetadataField metadataField)Give the minimal level of confidence required to consider valid an authority value for the given metadata.voidinit()booleanisAuthorityControlled(String fieldKey)Predicate - is field authority-controlled?booleanisAuthorityControlled(MetadataField metadataField)Predicate - is field authority-controlled?booleanisAuthorityRequired(String fieldKey)Predicate - is authority value required for field?booleanisAuthorityRequired(MetadataField metadataField)Predicate - is authority value required for field?StringmakeFieldKey(String schema, String element, String qualifier)Construct a single key from the tuple of schema/element/qualifier that describes a metadata field.StringmakeFieldKey(MetadataField metadataField)Construct a single key from the tuple of schema/element/qualifier that describes a metadata field.
-
-
-
Field Detail
-
metadataFieldService
@Autowired(required=true) protected MetadataFieldService metadataFieldService
-
configurationService
@Autowired(required=true) protected ConfigurationService configurationService
-
minConfidence
protected Map<String,Integer> minConfidence
map of field key to answer of which is the min acceptable confidence value for a field with authority
-
defaultMinConfidence
protected int defaultMinConfidence
fallback default value unless authority.minconfidence = X is configured.
-
-
Method Detail
-
init
public void init()
-
isAuthorityControlled
public boolean isAuthorityControlled(MetadataField metadataField)
Description copied from interface:MetadataAuthorityServicePredicate - is field authority-controlled?- Specified by:
isAuthorityControlledin interfaceMetadataAuthorityService- Parameters:
metadataField- metadata field- Returns:
- true/false
-
isAuthorityControlled
public boolean isAuthorityControlled(String fieldKey)
Description copied from interface:MetadataAuthorityServicePredicate - is field authority-controlled?- Specified by:
isAuthorityControlledin interfaceMetadataAuthorityService- Parameters:
fieldKey- field key- Returns:
- true/false
-
isAuthorityRequired
public boolean isAuthorityRequired(MetadataField metadataField)
Description copied from interface:MetadataAuthorityServicePredicate - is authority value required for field?- Specified by:
isAuthorityRequiredin interfaceMetadataAuthorityService- Parameters:
metadataField- metadata field- Returns:
- true/false
-
isAuthorityRequired
public boolean isAuthorityRequired(String fieldKey)
Description copied from interface:MetadataAuthorityServicePredicate - is authority value required for field?- Specified by:
isAuthorityRequiredin interfaceMetadataAuthorityService- Parameters:
fieldKey- field key- Returns:
- true/false
-
makeFieldKey
public String makeFieldKey(MetadataField metadataField)
Description copied from interface:MetadataAuthorityServiceConstruct a single key from the tuple of schema/element/qualifier that describes a metadata field. Punt to the function we use for submission UI input forms, for now.- Specified by:
makeFieldKeyin interfaceMetadataAuthorityService- Parameters:
metadataField- metadata field- Returns:
- field key
-
makeFieldKey
public String makeFieldKey(String schema, String element, String qualifier)
Description copied from interface:MetadataAuthorityServiceConstruct a single key from the tuple of schema/element/qualifier that describes a metadata field. Punt to the function we use for submission UI input forms, for now.- Specified by:
makeFieldKeyin interfaceMetadataAuthorityService- Parameters:
schema- schemaelement- elementqualifier- qualifier- Returns:
- field key
-
getMinConfidence
public int getMinConfidence(MetadataField metadataField)
Give the minimal level of confidence required to consider valid an authority value for the given metadata.- Specified by:
getMinConfidencein interfaceMetadataAuthorityService- Parameters:
metadataField- metadata field- Returns:
- the minimal valid level of confidence for the given metadata
-
getAuthorityMetadata
public List<String> getAuthorityMetadata()
Description copied from interface:MetadataAuthorityServiceReturn the list of metadata field with authority control. The strings are in the formschema.element[.qualifier]- Specified by:
getAuthorityMetadatain interfaceMetadataAuthorityService- Returns:
- the list of metadata field with authority control
-
clearCache
public void clearCache()
Description copied from interface:MetadataAuthorityServiceThis method has been created to have a way of clearing the cache kept inside the service- Specified by:
clearCachein interfaceMetadataAuthorityService
-
-