Class MNResourceHandler
java.lang.Object
edu.ucsb.nceas.metacat.restservice.D1ResourceHandler
edu.ucsb.nceas.metacat.restservice.v2.MNResourceHandler
MN REST service implementation handler
******************
MNCore
ping() - GET /d1/mn/monitor/ping
log() - GET /d1/mn/log
**getObjectStatistics() - GET /d1/mn/monitor/object
getOperationsStatistics - GET /d1/mn/monitor/event
**getStatus - GET /d1/mn/monitor/status
getCapabilities() - GET /d1/mn/ and /d1/mn/node
MNRead
get() - GET /d1/mn/object/PID
getSystemMetadata() - GET /d1/mn/meta/PID
describe() - HEAD /d1/mn/object/PID
getChecksum() - GET /d1/mn/checksum/PID
listObjects() - GET /d1/mn/object
synchronizationFailed() - POST /d1/mn/error
MNAuthorization
isAuthorized() - GET /d1/mn/isAuthorized/PID
setAccessPolicy() - PUT /d1/mn/accessRules/PID
MNStorage
create() - POST /d1/mn/object/PID
update() - PUT /d1/mn/object/PID
delete() - DELETE /d1/mn/object/PID
archive() - PUT /d1/mn/archive/PID
updateSystemMetadata() - PUT /d1/mn/meta
systemMetadataChanged() - POST /dirtySystemMetadata/PID
MNReplication
replicate() - POST /d1/mn/replicate
getReplica() - GET /d1/mn/replica
MNAdmin
reindex() - PUT /d1/mn/index
updateIdMetadata() - PUT /d1/mn/identifiers
******************
- Author:
- leinfelder
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
Fields inherited from class edu.ucsb.nceas.metacat.restservice.D1ResourceHandler
auth, authCacheSzie, DELETE, enableAppendLdapGroups, enableSessionFromHeader, FUNCTION_NAME_INSERT, FUNCTION_NAME_UPDATE, GET, HEAD, logMetacat, MAX_UPLOAD_SIZE, multipartparams, params, POST, proxyKey, PUT, request, RESOURCE_ACCESS_RULES, RESOURCE_BASE_URL, RESOURCE_IS_AUTHORIZED, RESOURCE_LOG, RESOURCE_META, RESOURCE_OBJECTS, RESOURCE_QUERY, RESOURCE_VIEWS, response, servletContext, session
-
Constructor Summary
ConstructorDescriptionMNResourceHandler
(javax.servlet.ServletContext servletContext, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) Initializes new instance by setting servlet context,request and response -
Method Summary
Modifier and TypeMethodDescriptionprotected org.dataone.service.exceptions.SynchronizationFailed
protected void
Implements REST version of DataONE CRUD API --> getprotected void
getPackage
(String format, String pid) Retrieve data package as Bagit zipprotected void
Retrieve System Metadatavoid
handle
(byte httpVerb) This function is called from REST API servlet and handles each request to the servletprotected boolean
subclasses should provide a more useful implementationprotected void
protected void
publishIdentifier
(String identifier) Make the status of the identifier publicprotected void
Inserts or updates the objectprotected void
Handle the reindex requestprotected void
updateIdMetadata
(String pid) Handle the request to update identifiers' (such as DOI) metadata on the third party serviceprotected void
Update the system metadata for a specified identifierMethods inherited from class edu.ucsb.nceas.metacat.restservice.D1ResourceHandler
collectMultipartFiles, collectMultipartParams, collectObjectFiles, decode, findBoundaryString, getSessionFromHeader, getTempDirectory, initMultipartParams, initParams, parseTrailing, printError, serializeException
-
Field Details
-
RESOURCE_MONITOR
- See Also:
-
RESOURCE_REPLICATE
- See Also:
-
RESOURCE_REPLICAS
- See Also:
-
RESOURCE_NODE
- See Also:
-
RESOURCE_ERROR
- See Also:
-
RESOURCE_META_CHANGED
- See Also:
-
RESOURCE_GENERATE_ID
- See Also:
-
RESOURCE_PUBLISH
- See Also:
-
RESOURCE_PACKAGE
- See Also:
-
RESOURCE_TOKEN
- See Also:
-
RESOURCE_WHOAMI
- See Also:
-
RESOURCE_PUBLISH_IDENTIFIER
- See Also:
-
RESOURCE_INDEX
- See Also:
-
RESOURCE_IDENTIFIERS
- See Also:
-
-
Constructor Details
-
MNResourceHandler
public MNResourceHandler(javax.servlet.ServletContext servletContext, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) Initializes new instance by setting servlet context,request and response
-
-
Method Details
-
isD1Enabled
protected boolean isD1Enabled()Description copied from class:D1ResourceHandler
subclasses should provide a more useful implementation- Overrides:
isD1Enabled
in classD1ResourceHandler
- Returns:
-
handle
public void handle(byte httpVerb) This function is called from REST API servlet and handles each request to the servlet- Overrides:
handle
in classD1ResourceHandler
- Parameters:
httpVerb
- (GET, POST, PUT or DELETE)
-
getObject
protected void getObject(String pid) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.NotImplemented, IOException, org.dataone.exceptions.MarshallingException Implements REST version of DataONE CRUD API --> get- Parameters:
pid
- ID of data object to be read- Throws:
org.dataone.service.exceptions.NotImplemented
org.dataone.service.exceptions.InvalidRequest
org.dataone.service.exceptions.NotFound
org.dataone.service.exceptions.NotAuthorized
org.dataone.service.exceptions.ServiceFailure
org.dataone.service.exceptions.InvalidToken
IOException
org.dataone.exceptions.MarshallingException
-
getPackage
protected void getPackage(String format, String pid) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotImplemented, IOException, org.dataone.service.exceptions.InvalidRequest Retrieve data package as Bagit zip- Parameters:
pid
-- Throws:
org.dataone.service.exceptions.NotImplemented
org.dataone.service.exceptions.NotFound
org.dataone.service.exceptions.NotAuthorized
org.dataone.service.exceptions.ServiceFailure
org.dataone.service.exceptions.InvalidToken
IOException
org.dataone.service.exceptions.InvalidRequest
-
publish
protected void publish(String pid) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotImplemented, IOException, org.dataone.exceptions.MarshallingException, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.IdentifierNotUnique, org.dataone.service.exceptions.UnsupportedType, org.dataone.service.exceptions.InsufficientResources, org.dataone.service.exceptions.InvalidSystemMetadata - Throws:
org.dataone.service.exceptions.InvalidToken
org.dataone.service.exceptions.ServiceFailure
org.dataone.service.exceptions.NotAuthorized
org.dataone.service.exceptions.NotFound
org.dataone.service.exceptions.NotImplemented
IOException
org.dataone.exceptions.MarshallingException
org.dataone.service.exceptions.InvalidRequest
org.dataone.service.exceptions.IdentifierNotUnique
org.dataone.service.exceptions.UnsupportedType
org.dataone.service.exceptions.InsufficientResources
org.dataone.service.exceptions.InvalidSystemMetadata
-
publishIdentifier
protected void publishIdentifier(String identifier) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.IdentifierNotUnique, org.dataone.service.exceptions.UnsupportedType, org.dataone.service.exceptions.InsufficientResources, org.dataone.service.exceptions.InvalidSystemMetadata, DOIException, IOException, org.dataone.exceptions.MarshallingException Make the status of the identifier public- Parameters:
identifier
-- Throws:
org.dataone.service.exceptions.InvalidToken
org.dataone.service.exceptions.ServiceFailure
org.dataone.service.exceptions.NotAuthorized
org.dataone.service.exceptions.NotImplemented
org.dataone.service.exceptions.InvalidRequest
org.dataone.service.exceptions.NotFound
org.dataone.service.exceptions.IdentifierNotUnique
org.dataone.service.exceptions.UnsupportedType
org.dataone.service.exceptions.InsufficientResources
org.dataone.service.exceptions.InvalidSystemMetadata
DOIException
IOException
org.dataone.exceptions.MarshallingException
-
getSystemMetadataObject
protected void getSystemMetadataObject(String pid) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.NotImplemented, IOException, org.dataone.exceptions.MarshallingException Retrieve System Metadata- Parameters:
pid
-- Throws:
org.dataone.service.exceptions.InvalidToken
org.dataone.service.exceptions.ServiceFailure
org.dataone.service.exceptions.NotAuthorized
org.dataone.service.exceptions.NotFound
org.dataone.service.exceptions.InvalidRequest
org.dataone.service.exceptions.NotImplemented
IOException
org.dataone.exceptions.MarshallingException
-
putObject
protected void putObject(String trailingPid, String action) throws org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.InvalidRequest, org.dataone.exceptions.MarshallingException, org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.IdentifierNotUnique, org.dataone.service.exceptions.UnsupportedType, org.dataone.service.exceptions.InsufficientResources, org.dataone.service.exceptions.InvalidSystemMetadata, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.NotFound, IOException, InstantiationException, IllegalAccessException, NoSuchAlgorithmException, org.apache.commons.fileupload.FileUploadException Inserts or updates the object- Parameters:
pid
- - ID of data object to be inserted or updated. If action is update, the pid is the existing pid. If insert, the pid is the new one- Throws:
org.dataone.service.exceptions.InvalidRequest
org.dataone.service.exceptions.ServiceFailure
org.dataone.exceptions.MarshallingException
org.dataone.service.exceptions.NotImplemented
org.dataone.service.exceptions.InvalidSystemMetadata
org.dataone.service.exceptions.InsufficientResources
org.dataone.service.exceptions.UnsupportedType
org.dataone.service.exceptions.IdentifierNotUnique
org.dataone.service.exceptions.NotAuthorized
org.dataone.service.exceptions.InvalidToken
org.dataone.service.exceptions.NotFound
IOException
IllegalAccessException
InstantiationException
org.apache.commons.fileupload.FileUploadException
NoSuchAlgorithmException
-
collectSynchronizationFailed
protected org.dataone.service.exceptions.SynchronizationFailed collectSynchronizationFailed() throws IOException, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.InvalidRequest, org.dataone.exceptions.MarshallingException, InstantiationException, IllegalAccessException, ParserConfigurationException, SAXException- Throws:
IOException
org.dataone.service.exceptions.ServiceFailure
org.dataone.service.exceptions.InvalidRequest
org.dataone.exceptions.MarshallingException
InstantiationException
IllegalAccessException
ParserConfigurationException
SAXException
-
updateSystemMetadata
protected void updateSystemMetadata() throws org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.InvalidRequest, InstantiationException, IllegalAccessException, IOException, org.dataone.exceptions.MarshallingException, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidSystemMetadata, org.dataone.service.exceptions.InvalidTokenUpdate the system metadata for a specified identifier- Throws:
org.dataone.service.exceptions.ServiceFailure
org.dataone.service.exceptions.InvalidRequest
InstantiationException
IllegalAccessException
IOException
org.dataone.exceptions.MarshallingException
org.dataone.service.exceptions.NotImplemented
org.dataone.service.exceptions.NotAuthorized
org.dataone.service.exceptions.InvalidSystemMetadata
org.dataone.service.exceptions.InvalidToken
-
reindex
protected void reindex(String pid) throws org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotImplemented, IOException Handle the reindex request- Parameters:
pid
- the pid which will be indexed. It can be null, which means we will do a batch reindex based on the query part- Throws:
org.dataone.service.exceptions.InvalidRequest
org.dataone.service.exceptions.ServiceFailure
org.dataone.service.exceptions.NotAuthorized
org.dataone.service.exceptions.NotImplemented
IOException
-
updateIdMetadata
protected void updateIdMetadata(String pid) throws org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.NotImplemented, IOException Handle the request to update identifiers' (such as DOI) metadata on the third party service- Parameters:
pid
- the pid which will be updated. It can be null, which means we will do a batch of update based on the query part.- Throws:
org.dataone.service.exceptions.ServiceFailure
org.dataone.service.exceptions.NotAuthorized
org.dataone.service.exceptions.InvalidRequest
org.dataone.service.exceptions.NotImplemented
IOException
-