public class DataCiteConnector extends java.lang.Object implements DOIConnector
| Modifier and Type | Field and Description |
|---|---|
protected ConfigurationService |
configurationService |
protected java.lang.String |
CROSSWALK_NAME
Name of crosswalk to convert metadata into DataCite Metadata Scheme.
|
protected java.lang.String |
DOI_PATH
Path on the DataCite server used to generate DOIs.
|
protected java.lang.String |
METADATA_PATH
Path on the DataCite server used to register metadata.
|
protected java.lang.String |
PASSWORD |
protected java.lang.String |
USERNAME |
protected DisseminationCrosswalk |
xwalk
DisseminationCrosswalk to map local metadata into DataCite metadata.
|
| Constructor and Description |
|---|
DataCiteConnector() |
| Modifier and Type | Method and Description |
|---|---|
void |
deleteDOI(Context context,
java.lang.String doi)
Sends the DELETE-Request to the DOI registry.
|
boolean |
isDOIRegistered(Context context,
DSpaceObject dso,
java.lang.String doi) |
boolean |
isDOIRegistered(Context context,
java.lang.String doi) |
boolean |
isDOIReserved(Context context,
DSpaceObject dso,
java.lang.String doi) |
boolean |
isDOIReserved(Context context,
java.lang.String doi) |
void |
registerDOI(Context context,
DSpaceObject dso,
java.lang.String doi)
Sends a request to the DOI registry to register a DOI.
|
void |
reserveDOI(Context context,
DSpaceObject dso,
java.lang.String doi)
Sends a request to the DOI registry to reserve a DOI.
|
void |
setConfigurationService(ConfigurationService configurationService) |
void |
setDATACITE_DOI_PATH(java.lang.String DATACITE_DOI_PATH)
Set the path on the DataCite server to register DOIs.
|
void |
setDATACITE_HOST(java.lang.String DATACITE_HOST)
Set the hostname of the DataCite server.
|
void |
setDATACITE_METADATA_PATH(java.lang.String DATACITE_METADATA_PATH)
Set the path to register metadata on DataCite server.
|
void |
setDATACITE_SCHEME(java.lang.String DATACITE_SCHEME)
Used to set the scheme to connect the DataCite server.
|
void |
setDisseminationCrosswalkName(java.lang.String CROSSWALK_NAME)
Set the name of the dissemination crosswalk used to convert the metadata
into DataCite Metadata Schema.
|
void |
updateMetadata(Context context,
DSpaceObject dso,
java.lang.String doi)
Sends a request to the DOI registry to update Metadata for a DOI.
|
protected java.lang.String DOI_PATH
protected java.lang.String METADATA_PATH
protected java.lang.String CROSSWALK_NAME
protected DisseminationCrosswalk xwalk
setDisseminationCrosswalk which
instantiates the crosswalk.protected ConfigurationService configurationService
protected java.lang.String USERNAME
protected java.lang.String PASSWORD
public void setDATACITE_SCHEME(java.lang.String DATACITE_SCHEME)
DATACITE_SCHEME - Probably https or http.public void setDATACITE_HOST(java.lang.String DATACITE_HOST)
DATACITE_HOST - Hostname to connect to register DOIs (f.e. test.datacite.org).public void setDATACITE_DOI_PATH(java.lang.String DATACITE_DOI_PATH)
DATACITE_DOI_PATH - Path to register DOIs, f.e. /doi.public void setDATACITE_METADATA_PATH(java.lang.String DATACITE_METADATA_PATH)
DATACITE_METADATA_PATH - Path to register metadata, f.e. /mds.@Autowired public void setConfigurationService(ConfigurationService configurationService)
public void setDisseminationCrosswalkName(java.lang.String CROSSWALK_NAME)
CROSSWALK_NAME - The name of the dissemination crosswalk to use. This
crosswalk must be configured in dspace.cfg.public boolean isDOIReserved(Context context, java.lang.String doi) throws DOIIdentifierException
isDOIReserved in interface DOIConnectorDOIIdentifierExceptionpublic boolean isDOIReserved(Context context, DSpaceObject dso, java.lang.String doi) throws DOIIdentifierException
isDOIReserved in interface DOIConnectorDOIIdentifierExceptionpublic boolean isDOIRegistered(Context context, java.lang.String doi) throws DOIIdentifierException
isDOIRegistered in interface DOIConnectorDOIIdentifierExceptionpublic boolean isDOIRegistered(Context context, DSpaceObject dso, java.lang.String doi) throws DOIIdentifierException
isDOIRegistered in interface DOIConnectorDOIIdentifierExceptionpublic void deleteDOI(Context context, java.lang.String doi) throws DOIIdentifierException
DOIConnectorThis method sends a request to "delete" a DOI. As DOIs are persistent identifiers they should never be deleted. For example, if you send a HTTP DELETE request to the DataCite Metadata API directly, it will set the DOI to inactive.
A DOIConnector does not have to check whether the DOI is reserved, registered or not. It will only send the request and return the answer in form of a boolean weather the deletion was successful or not. It may even throw an DOIIdentifierException in case you are not allowed to delete a DOI, the DOI does not exist, ... So please be sure that the deletion of a DOI is conform with the rules of the registry and that the DOI is in the appropriate state (f.e. reserved but not registered).
deleteDOI in interface DOIConnectorDOIIdentifierExceptionpublic void reserveDOI(Context context, DSpaceObject dso, java.lang.String doi) throws DOIIdentifierException
DOIConnectorisDOIRegistered and isDOIReserved for it. The
DOIConnector won't do any tests and throws an DOIIdentifierException in
case of any problems with the DOI you want to reserve.reserveDOI in interface DOIConnectorDOIIdentifierExceptionpublic void registerDOI(Context context, DSpaceObject dso, java.lang.String doi) throws DOIIdentifierException
DOIConnectorDOIConnector.isDOIRegistered(...) and
DOIConnector.isDOIReserved(...) for it. The DOIConnector won't
do any tests and throws an DOIIdentifierException in case of any problems
with the DOI you want to register.registerDOI in interface DOIConnectorDOIIdentifierExceptionpublic void updateMetadata(Context context, DSpaceObject dso, java.lang.String doi) throws DOIIdentifierException
DOIConnectorupdateMetadata in interface DOIConnectorDOIIdentifierExceptionCopyright © 2013 DuraSpace. All Rights Reserved.