Created new class "DocumentImpl" which represents an XML Document. Thisdocument will eventually implment the DOM Document interface. For now,it implments all of the functionality that was present in DBReader, pluscuts down on the number of database calls required to read a document. And...
Updated documentation for NodeComparator.java.
Modified the DBReader and ElementNode classes to more efficiently readdocuments from the database. In the old implementation, a db connectionwas opened for each and every node in a document, recursively fromthe rootnode. In the new implementation, all of the data from xml_nodes is...
marineServlet now overrides the transformQuery() function to allow it to put the values back into the text boxes of the xsl stylesheet rendered form.
-fixed the bug where a pathquery document was not valid inside of the <query> tags in a resultset document.-provided override support for a new function called transformQuery() which allows specific applications to customize what is returned in the <query> tag
Fixed small bug in transforming the document to HTML. If there wasno stylesheet for a given doctype, and so the transformation couldn'toccur, the XML doc was returned, but the content-type was still set(incorrectly) to html. Now it is not set to text/html when an xml doc is...
removed extraneous protected tags and replaced them with private tags
Modified behavior of handleSQuery() to now send the resultset documentback to the client application -- this was a bug introduced by recentchanges to the servlet. Also, generally cleaned up the servlet toproduce cleaner documentation and removed some extraneous code and remarks....
changed to work with the new MetaCatServlet model. marineServlet now only overwrites one method in MetaCatServlet.
changed the prototype of overwritable functions to "protected" instead of "private".
change the resultset format for DataGuide
Changed the flow of query and SQuery. SQuery now only handles a preformatted pathquery document as input (in the "query" parameter).HandleQuery now handles all structured queries derived by CGI parameters.
Made changes to createSQuery to allow for multiple parameters of the same name. Also changed the param list to include only "Hashtable params" without a "String doctype" since the doctype is already contained in the params.
fixed bug with handleSQuery() that kept DMan from access the squery functionality
- created transformResultset() which transforms an xml resultset document and displays it to the client useing DBTransform- renamed transformDocument() to createResultDocument() and modified its functionality to only return a restultset xml document- changed handleSQuery() and handleQuery() to use the new methods
remove handleQueryAction() in favor of directly calling handleQuery() and handleSQuery() from doGetOrPost()
Cleared hardcoded paths for the location of .html files and usethe new "htmlpath" property from metacat.properties file
Added decodeMouseAction(Hashtable) to decode the mouse click action outside of handleGetOrPost to allow for easy modification of images in a different application.
added new constructor to allow the creation of a metacatutil object that uses a properties file other than edu.ucsb.nceas.metacat.metacat.
Broke up handleQueryAction into handleQuery, handleSQuery, runQuery and transformDocument. handleQueryAction is now a base function which makes calls to each of these functions to create, run and transform a query from CGI parameters.
Added createSQuery() to handle structured queries of an arbitrary number of parameters. Also modified createQuery() to handle a null query in a graceful manner.
Added "release" keyword to all metacat source files so that the releasenumber will be evident in software distributions.
Updated build process to now use a copy of the source files so that keywordsubstitution can ocur before the build. This allows for substitution ofhardcoded values into the source before the compile. Currently, I amusing this feature to do the following:...
added Logout handling
clear lib dir from paths like xmltodb/lib/something.html
on "DELETE" added delete from xml_index table for a given docidbefore delete from xml_documents, b' of foreign key in xml_index(docid)to xml_documents(docid)
Changed exception handling mechanisms for DBReader
added createSQuery
broke up handleQueryAction into handleQuery, handleSQuery, runQuery and transformDocument
changed getRootNode method from public to private
replaced some deprecated methods with the new v2.2 of Java Servlet API
changed paths, b' of new dev server
added HTTPSession.setMaxInactiveInterval(-1)for every new Session - never to expire
added "anonymous" user connection
-Reorganized xmltodb module to support new install process for the newlinux server (dev.nceas.ucsb.edu). Added "build.sh" shell script thatcalls ant withthe proper umask set for installation. Use:
./build.sh install
to post a new copy of the servlet and its supporting files to the install...
rearrange html pages for login and metacat access
no message
more precise handling of the Connection Pool
Changes related to "getdataguide" action
doctype attr in xml_index table has been addedso changed the getDataGuide routine to select for paths by given doctype
DBSAXNode constructor simplified
Call to DBSAXNode constructor simplified
Added public method to return the rootnodeid of the document
Added support for "anonymous" user
added Pool of ConnectionsDBQuery, DBReader, DBTransform, DBUtil are created on every request and use the connections from the Poolsame with DBWriter and DBValidate
Added "getdoctypes" and "getdataguide" action handlers
utility class for reading various of data from db
Added "Login Client" action for login from the Desktop Client
Added marine files to metacat package
MetaCatServlet.java
finished user auth & session tracking
changed char stream to byte stream
Fixed bug in DBEntityResolver so that it now properly delegates tothe system id found inthe database.Changed DBValidate to use DBEntityResolver, rather than the OASIScatalog, and to return validation results in XML format.
testing login
testing
Fixed bug where TEXT nodes couldn't be longer than 4000 characters, whichis the maximum length of a VARCHAR2 field in Oracle. Now, if textexceeds the field length, I break the text up into a series of TEXTnodes each of the max field length, and the remainder in the last...
Added feature to now ouput COMMENTs and PIs when the document isread from the database with DBReader.
changed toresponse.sendRedirect(response.encodeRedirectUrl("/xmltodb/lib/index.html"));
Added srbrmi classes for authentication support
changed to use username/password entered on login
changes releted to login and session tracking
New- class that encapsulates session creation and user authentication
Updated javadoc documentation.
Fixed bugs associated with the new UPDATE and DELETE functions ofDBWriter. There were problematic interactions between some staticvariables used in DBEntityResolver and the way in which theServlet objects are re-used across multiple client invocations....
Merged in substantial changes to DBWriter and associated classes and tothe MetaCatServlet in order to accomodate the new UPDATE and DELETEfunctions. The command line tools and the parameters for theservlet have changed substantially.
Fixed bug in DBWriter using the new SAX2 interface. Turned out it was a bug in xerces-1_1_1, which was fixed by Andy Clark after I reported it.
1) Simplified database connection creation by adding new utility routine in MetaCatUtil that reads configuration information from the properties file.2) Created MetaCatUtil.getOption() to retrieve options from properties file.3) Unified SAX Parser creation by specifying parser driver in the properties file and dynamically loading it using the XMLReaderFactory interface....
cleaned up code for getting options from the properties file, made the database connection inthe MetaCatUtil class use the properties file for the conneciton info
updated javadoc documentation
integrated new structured query facility (DBQuery) into the servlet demo (MetaCatServlet)
removed debugging code
fixed QuerySpecification to produce SQL that does UNION or INTERSECT set operations for query group combinations
finsihed basic functionality for structured queries based on the DBQuery and QuerySpecification classes
added code to build an index of the paths through the DOM tree to each node in the tree as the node is being inserted
for safe nodeid generation
completed work on creating structured query prototype in DBQuery and QuerySpecification classes
added missed conn.close()
continued work on structured query. Now QuerySpecification generates SQL for a given xml input, and DBQuery uses that SQL to send the query to the db
fixed string broken over two lines