Package org.dspace.content
Class MetadataFieldServiceImpl
java.lang.Object
org.dspace.content.MetadataFieldServiceImpl
- All Implemented Interfaces:
MetadataFieldService
Service implementation for the MetadataField object.
This class is responsible for all business logic calls for the MetadataField object and is autowired by spring.
This class should never be accessed directly.
- Author:
- kevinvandevelde at atmire.com
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AuthorizeServiceprotected MetadataFieldDAOprotected MetadataSchemaServiceprotected MetadataValueServiceprotected SiteService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreate(Context context, MetadataSchema metadataSchema, String element, String qualifier, String scopeNote) Creates a new metadata field.voiddelete(Context context, MetadataField metadataField) Delete the metadata field.Find the field corresponding to the given numeric ID.Retrieve all metadata field types from the registryfindAllInSchema(Context context, MetadataSchema metadataSchema) Return all metadata fields that are found in a given schema.findByElement(Context context, String metadataSchemaName, String element, String qualifier) findByElement(Context context, MetadataSchema metadataSchema, String element, String qualifier) Retrieves the metadata field from the database.findByString(Context context, String mdString, char separator) Separates an mdString in schema, element and qualifier parts, separated by a given separator And returns it's matching metadataField if foundfindFieldsByElementNameUnqualified(Context context, String metadataSchemaName, String element) protected booleanhasElement(Context context, int fieldId, MetadataSchema metadataSchema, String element, String qualifier) A sanity check that ensures a given element and qualifier are unique within a given schema.voidupdate(Context context, MetadataField metadataField) Update the metadata field in the database.
-
Field Details
-
metadataFieldDAO
-
authorizeService
-
metadataValueService
-
metadataSchemaService
-
siteService
-
-
Constructor Details
-
MetadataFieldServiceImpl
protected MetadataFieldServiceImpl()
-
-
Method Details
-
create
public MetadataField create(Context context, MetadataSchema metadataSchema, String element, String qualifier, String scopeNote) throws AuthorizeException, SQLException, NonUniqueMetadataException Description copied from interface:MetadataFieldServiceCreates a new metadata field.- Specified by:
createin interfaceMetadataFieldService- Parameters:
context- DSpace context objectmetadataSchema- schemaelement- elementqualifier- qualifierscopeNote- scope note- Returns:
- new MetadataField
- Throws:
AuthorizeException- if authorization errorSQLException- if database errorNonUniqueMetadataException- if an existing field with an identical element and qualifier is already present
-
find
Description copied from interface:MetadataFieldServiceFind the field corresponding to the given numeric ID. The ID is a database key internal to DSpace.- Specified by:
findin interfaceMetadataFieldService- Parameters:
context- context, in case we need to read it in from DBid- the metadata field ID- Returns:
- the metadata field object
- Throws:
SQLException- if database error
-
findByElement
public MetadataField findByElement(Context context, MetadataSchema metadataSchema, String element, String qualifier) throws SQLException Description copied from interface:MetadataFieldServiceRetrieves the metadata field from the database.- Specified by:
findByElementin interfaceMetadataFieldService- Parameters:
context- dspace contextmetadataSchema- schemaelement- element namequalifier- qualifier (may be ANY or null)- Returns:
- recalled metadata field
- Throws:
SQLException- if database error
-
findByElement
public MetadataField findByElement(Context context, String metadataSchemaName, String element, String qualifier) throws SQLException - Specified by:
findByElementin interfaceMetadataFieldService- Throws:
SQLException
-
findByString
public MetadataField findByString(Context context, String mdString, char separator) throws SQLException Description copied from interface:MetadataFieldServiceSeparates an mdString in schema, element and qualifier parts, separated by a given separator And returns it's matching metadataField if found- Specified by:
findByStringin interfaceMetadataFieldService- Parameters:
context- dspace contextmdString- String being separated to find corresponding mdField (ex dc.contributor)separator- Separator being used to separate the mdString- Returns:
- Corresponding MetadataField if found
- Throws:
SQLException
-
findFieldsByElementNameUnqualified
public List<MetadataField> findFieldsByElementNameUnqualified(Context context, String metadataSchemaName, String element) throws SQLException - Specified by:
findFieldsByElementNameUnqualifiedin interfaceMetadataFieldService- Throws:
SQLException
-
findAll
Description copied from interface:MetadataFieldServiceRetrieve all metadata field types from the registry- Specified by:
findAllin interfaceMetadataFieldService- Parameters:
context- dspace context- Returns:
- an array of all the Dublin Core types
- Throws:
SQLException- if database error
-
findAllInSchema
public List<MetadataField> findAllInSchema(Context context, MetadataSchema metadataSchema) throws SQLException Description copied from interface:MetadataFieldServiceReturn all metadata fields that are found in a given schema.- Specified by:
findAllInSchemain interfaceMetadataFieldService- Parameters:
context- dspace contextmetadataSchema- the metadata schema for which we want all our metadata fields- Returns:
- array of metadata fields
- Throws:
SQLException- if database error
-
update
public void update(Context context, MetadataField metadataField) throws SQLException, AuthorizeException, NonUniqueMetadataException, IOException Description copied from interface:MetadataFieldServiceUpdate the metadata field in the database.- Specified by:
updatein interfaceMetadataFieldService- Parameters:
context- dspace contextmetadataField- metadata field- Throws:
SQLException- if database errorAuthorizeException- if authorization errorNonUniqueMetadataException- if an existing field with an identical element and qualifier is already presentIOException- if IO error
-
delete
public void delete(Context context, MetadataField metadataField) throws SQLException, AuthorizeException Description copied from interface:MetadataFieldServiceDelete the metadata field.- Specified by:
deletein interfaceMetadataFieldService- Parameters:
context- dspace contextmetadataField- metadata field- Throws:
SQLException- if database errorAuthorizeException- if authorization error
-
hasElement
protected boolean hasElement(Context context, int fieldId, MetadataSchema metadataSchema, String element, String qualifier) throws SQLException A sanity check that ensures a given element and qualifier are unique within a given schema. The check happens in code as we cannot use a database constraint.- Parameters:
context- dspace contextfieldId- field idmetadataSchema- metadataSchemaelement- elementqualifier- qualifier- Returns:
- true if unique
- Throws:
SQLException- if database error
-