org.fcrepo.server.management
Class GetNextPIDServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by org.fcrepo.server.management.GetNextPIDServlet
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig, Constants

public class GetNextPIDServlet
extends javax.servlet.http.HttpServlet
implements Constants

Implements the "getNextPID" functionality of the Fedora Management LITE (API-M-LITE) interface using a java servlet front end. The syntax defined by API-M-LITE for getting a list of the next available PIDs has the following binding:

  1. getNextPID URL syntax: protocol://hostname:port/fedora/management/getNextPID[?numPIDs=NUMPIDS&namespace=NAMESPACE&xml=BOOLEAN] This syntax requests a list of next available PIDS. The parameter numPIDs determines the number of requested PIDS to generate. If omitted, numPIDs defaults to 1. The namespace parameter determines the namespace to be used in generating the PIDs. If omitted, namespace defaults to the namespace defined in the fedora.fcfg configuration file for the parameter pidNamespace. The xml parameter determines the type of output returned. If the parameter is omitted or has a value of "false", a MIME-typed stream consisting of an html table is returned providing a browser-savvy means of viewing the object profile. If the value specified is "true", then a MIME-typed stream consisting of XML is returned.
  2. Author:
    Ross Wayland
    See Also:
    Serialized Form

    Nested Class Summary
     class GetNextPIDServlet.GetNextPIDSerializerThread
               A Thread to serialize an array of PIDs into XML.
     
    Nested classes/interfaces inherited from interface org.fcrepo.common.Constants
    Constants.FedoraHome
     
    Field Summary
    static String ACTION_LABEL
               
     
    Fields inherited from interface org.fcrepo.common.Constants
    ACCESS, ACTION, API, ATOM_APIM1_0, ATOM_ZIP1_1, ATOM1_1, AUDIT, AUDIT1_0, BATCH_MODIFY, BATCH_MODIFY1_1, BE_SECURITY, BE_SECURITY1_0, BINDING_SPEC, DATASTREAM, DC, DISSEMINATOR, DS_COMPOSITE_MODEL, DS_COMPOSITE_MODEL1_0, DS_INPUT_SPEC1_0, DS_INPUT_SPEC1_1, ENVIRONMENT, FCFG, FEDORA, FEDORA_APP_CONTEXT_NAME, FEDORA_DEFAULT_APP_CONTEXT, FEDORA_HOME, FOXML, FOXML1_0, FOXML1_0_LEGACY, FOXML1_1, HTTP_REQUEST, MANAGEMENT, METHOD_MAP, METS, METS_EXT, METS_EXT1_0, METS_EXT1_0_LEGACY, METS_EXT1_1, MODEL, MULGARA, OAI_DC, OAI_DC2_0, OAI_FRIENDS, OAI_FRIENDS2_0, OAI_IDENTIFIER, OAI_IDENTIFIER2_0, OAI_PMH, OAI_PMH2_0, OAI_PROV, OAI_PROV2_0, OBJ_DATASTREAMS1_0, OBJ_HISTORY1_0, OBJ_ITEMS1_0, OBJ_METHODS1_0, OBJ_PROFILE1_0, OBJ_VALIDATION1_0, OBJECT, OLD_XLINK, PID_LIST1_0, RDF, RDF_XSD, RECOVERY, RELS_EXT, RELS_EXT1_0, RELS_INT1_0, REPO_DESC1_0, RESOURCE, SDEF, SDEF_METHOD_MAP1_0, SDEP, SDEP_METHOD_MAP1_0, SDEP_METHOD_MAP1_1, SERVICE_PROFILE, SOAP, SOAP_ENC, SUBJECT, TYPES, VIEW, WSDL, WSDL_HTTP, WSDL_MIME, XACML_POLICY, XACML_POLICY1_0, XLINK, XML_XSD, XMLNS, XSI
     
    Constructor Summary
    GetNextPIDServlet()
               
     
    Method Summary
     void destroy()
               Cleans up servlet resources.
     void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
               Process the Fedora API-M-LITE request to generate a list of next available PIDs.
     void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
               For now, treat a HTTP POST request just like a GET request.
     void getNextPID(Context context, int numPIDs, String namespace, boolean xml, javax.servlet.http.HttpServletResponse response)
               Get the requested list of next Available PIDs by invoking the approriate method from the Management subsystem.
     void init()
               Initialize servlet.
     
    Methods inherited from class javax.servlet.http.HttpServlet
    doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
     
    Methods inherited from class javax.servlet.GenericServlet
    getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Field Detail

    ACTION_LABEL

    public static final String ACTION_LABEL
    See Also:
    Constant Field Values
    Constructor Detail

    GetNextPIDServlet

    public GetNextPIDServlet()
    Method Detail

    doGet

    public void doGet(javax.servlet.http.HttpServletRequest request,
                      javax.servlet.http.HttpServletResponse response)
               throws javax.servlet.ServletException,
                      IOException

    Process the Fedora API-M-LITE request to generate a list of next available PIDs. Parse and validate the servlet input parameters and then execute the specified request.

    Overrides:
    doGet in class javax.servlet.http.HttpServlet
    Parameters:
    request - The servlet request.
    response - servlet The servlet response.
    Throws:
    javax.servlet.ServletException - If an error occurs that effects the servlet's basic operation.
    IOException - If an error occurrs with an input or output operation.

    getNextPID

    public void getNextPID(Context context,
                           int numPIDs,
                           String namespace,
                           boolean xml,
                           javax.servlet.http.HttpServletResponse response)
                    throws ServerException

    Get the requested list of next Available PIDs by invoking the approriate method from the Management subsystem.

    Parameters:
    context - The context of this request.
    numPIDs - The number of PIDs requested.
    namespace - The namespace of the requested PIDs.
    xml - Boolean that determines format of response; true indicates response format is xml; false indicates response format is html.
    response - The servlet response.
    Throws:
    ServerException - If an error occurred while accessing the Fedora Management subsystem.

    doPost

    public void doPost(javax.servlet.http.HttpServletRequest request,
                       javax.servlet.http.HttpServletResponse response)
                throws javax.servlet.ServletException,
                       IOException

    For now, treat a HTTP POST request just like a GET request.

    Overrides:
    doPost in class javax.servlet.http.HttpServlet
    Parameters:
    request - The servet request.
    response - The servlet response.
    Throws:
    javax.servlet.ServletException - If thrown by doGet.
    IOException - If thrown by doGet.

    init

    public void init()
              throws javax.servlet.ServletException

    Initialize servlet.

    Overrides:
    init in class javax.servlet.GenericServlet
    Throws:
    javax.servlet.ServletException - If the servet cannot be initialized.

    destroy

    public void destroy()

    Cleans up servlet resources.

    Specified by:
    destroy in interface javax.servlet.Servlet
    Overrides:
    destroy in class javax.servlet.GenericServlet


    Copyright © 2011 DuraSpace. All Rights Reserved.