edu.ucsb.nceas.metacat
Class MetaCatServlet

java.lang.Object
  extended byjavax.servlet.GenericServlet
      extended byjavax.servlet.http.HttpServlet
          extended byedu.ucsb.nceas.metacat.MetaCatServlet
All Implemented Interfaces:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class MetaCatServlet
extends javax.servlet.http.HttpServlet

A metadata catalog server implemented as a Java Servlet

Valid parameters are:
action=query -- query the values of all elements and attributes and return a result set of nodes
action=squery -- structured query (see pathquery.dtd)
action= -- export a zip format for data packadge
action=read -- read any metadata/data file from Metacat and from Internet
action=insert -- insert an XML document into the database store
action=update -- update an XML document that is in the database store
action=delete -- delete an XML document from the database store
action=validate -- vallidate the xml contained in valtext
doctype -- document type list returned by the query (publicID)
qformat=xml -- display resultset from query in XML
qformat=html -- display resultset from query in HTML
qformat=zip -- zip resultset from query
docid=34 -- display the document with the document ID number 34
doctext -- XML text of the document to load into the database
acltext -- XML access text for a document to load into the database
dtdtext -- XML DTD text for a new DTD to load into Metacat XML Catalog
query -- actual query text (to go with 'action=query' or 'action=squery')
valtext -- XML text to be validated
action=getaccesscontrol -- retrieve acl info for Metacat document
action=getdoctypes -- retrieve all doctypes (publicID)
action=getdtdschema -- retrieve a DTD or Schema file
action=getdataguide -- retrieve a Data Guide
action=getprincipals -- retrieve a list of principals in XML
datadoc -- data document name (id)
action=getlog -- get a report of events that have occurred in the system
ipAddress -- filter on one or more IP addresses
principal -- filter on one or more principals (LDAP DN syntax)
docid -- filter on one or more document identifiers (with revision)
event -- filter on event type (e.g., read, insert, update, delete)
start -- filter out events before the start date-time
end -- filter out events before the end date-time

The particular combination of parameters that are valid for each particular action value is quite specific. This documentation will be reorganized to reflect this information.

See Also:
Serialized Form

Field Summary
static java.lang.String EML2KEYWORD
           
static java.lang.String NONAMESPACELOCATION
           
static java.lang.String SCHEMALOCATIONKEYWORD
           
static java.lang.String XMLFORMAT
           
 
Constructor Summary
MetaCatServlet()
           
 
Method Summary
 void destroy()
          Close all db connections from the pool
 void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Handle "GET" method requests from HTTP clients
 void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Handle "POST" method requests from HTTP clients
protected  void handleQuery(java.io.PrintWriter out, java.util.Hashtable params, javax.servlet.http.HttpServletResponse response, java.lang.String user, java.lang.String[] groups, java.lang.String sessionid)
          Create the xml query, execute it and display the results.
protected  void handleSQuery(java.io.PrintWriter out, java.util.Hashtable params, javax.servlet.http.HttpServletResponse response, java.lang.String user, java.lang.String[] groups, java.lang.String sessionid)
          Retreive the squery xml, execute it and display it
 void init(javax.servlet.ServletConfig config)
          Initialize the servlet by creating appropriate database connections
 
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

SCHEMALOCATIONKEYWORD

public static final java.lang.String SCHEMALOCATIONKEYWORD
See Also:
Constant Field Values

NONAMESPACELOCATION

public static final java.lang.String NONAMESPACELOCATION
See Also:
Constant Field Values

EML2KEYWORD

public static final java.lang.String EML2KEYWORD
See Also:
Constant Field Values

XMLFORMAT

public static final java.lang.String XMLFORMAT
See Also:
Constant Field Values
Constructor Detail

MetaCatServlet

public MetaCatServlet()
Method Detail

init

public void init(javax.servlet.ServletConfig config)
          throws javax.servlet.ServletException
Initialize the servlet by creating appropriate database connections

Throws:
javax.servlet.ServletException

destroy

public void destroy()
Close all db connections from the pool


doGet

public void doGet(javax.servlet.http.HttpServletRequest request,
                  javax.servlet.http.HttpServletResponse response)
           throws javax.servlet.ServletException,
                  java.io.IOException
Handle "GET" method requests from HTTP clients

Throws:
javax.servlet.ServletException
java.io.IOException

doPost

public void doPost(javax.servlet.http.HttpServletRequest request,
                   javax.servlet.http.HttpServletResponse response)
            throws javax.servlet.ServletException,
                   java.io.IOException
Handle "POST" method requests from HTTP clients

Throws:
javax.servlet.ServletException
java.io.IOException

handleSQuery

protected void handleSQuery(java.io.PrintWriter out,
                            java.util.Hashtable params,
                            javax.servlet.http.HttpServletResponse response,
                            java.lang.String user,
                            java.lang.String[] groups,
                            java.lang.String sessionid)
Retreive the squery xml, execute it and display it

Parameters:
out - the output stream to the client
params - the Hashtable of parameters that should be included in the squery.
response - the response object linked to the client

handleQuery

protected void handleQuery(java.io.PrintWriter out,
                           java.util.Hashtable params,
                           javax.servlet.http.HttpServletResponse response,
                           java.lang.String user,
                           java.lang.String[] groups,
                           java.lang.String sessionid)
Create the xml query, execute it and display the results.

Parameters:
out - the output stream to the client
params - the Hashtable of parameters that should be included in the squery.
response - the response object linked to the client


Copyright © 2000 National Center for Ecological Analysis and Synthesis. All Rights Reserved.