1. Modified buildIndex() so that only one connection is used for both indexing nodes and indexing paths.2. Modified the indexing algo so that indexing of paths is done while nodes are being indexed. Results in a much faster indexing algo3. Replaced access to NodeRecord.<variable> with NodeRecord.<getVariable>
Fixed the bug that replicate data file failed that the documents records wouldn't be deleted.
Changes in calls made to IndexingQueue class
Removed the call to indexing function in DBSAXHandler and added a call to indexing function IndexingQueue
Modified the debug levels of debug statements
Add code to handle catalog is null when inserting xml_revisions table.
Add code to handle write record into xml_documents when catalog id is null.
Bugfix to the code which sets parentnodeid in xml_path_index. (Use setInt instead of setFloat)
Changes in log levels of some commands mentioned in the previos commit.
Replacing MetaCatUtil.debugMessage or MetaCatUtil.logMetacat call with logMetacat (private Logger object) call
Fixed bug which can cause eml beta6 couldn't run access control.
Fixed bug couldn't delete xml_nodes when moving to xml_nodes_revision in replication.
Change the code to make sure DocumentImpl class's constructor should have rev attached.
Add code to transfer string to date type.
Add function transfer string to date.
Rewrite replication for revision document.
Fixed some bug in replication.
Add code to handle replicate the deleted document.
Add default constructor and change some viriable to protected.
Added code to start threads which initiate indexing once insertion to xml_nodes is complete.
Fix for bug 2060.
Moved the call to starting of indexing thread from endDocument to DocumentImpl after commit has been done. This way when ever a document is indexed it has already been entered in xml_nodes and xml_documents
Added new methods to MetaCatUtil: isAdministrator and isModerator.
These methods are used to check if a given username is part of the admin and moderator list specified in metacat.properties
Modified DocumentImpl and MetaCatServlet to use these functions.
Bugfix to the previous commit.
Also made changes so that while indexing the path in buildIndex(), instead of seperate database calls to the database for each path, one call is made with all the paths in it.
Modified code to enter/remove data from xml_path_index and enter data into xml_nodes_revision when action=insert, update and delete are performed.
Added code to delete all entries in xml_queryresult table when buildIndex for a docid is called.
Adding the call to normalize function for now -- too many calls to normalize function are made and this needs to be looked into. Removing call to normalize function caused trouble in text like this "A&B"
Removing call to normalize from getNodeRecordList()
Removed irrelevant code from previous commit
Removed code which entered value for nodedata in xml_index
Added code so that metacat administrator can delete any document.
Added code for updating xml_queryresult for action=delete and action=update
For both actions, the entries in xml_queryresult are deleted.This works for action=update because deletion of entry is simple and the entries will be created again when the docid is part of a search result next time.
Modifying code so that nodedata is stored in xml_index table next to the paths.This helps in making the search faster.
Modified code to fix bug # 1850
Modified buildIndex() to now include an '@' sign in the path for ATTRIBUTEnodes. Removed a bunch of debugging information. Fixed the BuildIndexTestso that it would work on any machine (removed hardcoded paths).
Whitespace changes that fix a few formatting problems after Jing's commit.
Add new feature that delete can be broadcasted by force replication.
The new buildIndex() function now can write allof the appropriate index paths to the database for any given document. Next need to create a function to rebuild on demand, and modify DBSAXHandler.run() to use the new buildIndex() function.
Added changes to buildIndex() function. Now it is finding the right set ofpaths, just have to save these in a hash and then add them to the DB xml_indextable.
changed function parameters in accordance with changes in PermissionController
Beginning new method for building the xml_index table. This uses theJDBC resultset directly rather than DBSaxNode, and recurses through therecords of the table. The new function 'buildIndex()' would be called, butcurrently is not linked in to any code, so it shouldn't get in the way....
Fixed a bug in upload function. For online data updates, access was not checked.
Fixed handling of various docid formats.
Reformatted code for readability. It was crazy. Still has problems, but itsbetter. Will be working on some new methods on monday.
Added eml-2.0.1 tags for eml processing.
Also fixed a bug. The error returned in case of no revision number specified was just null. Now it says that revision number is required.
Merging in changes made in branch 'dataaccess' by Jing Tao.
Added code to read EML2.0.1 into source code.
Made initial changes for accepting EML version 2.1.0 in Metacat
Change eml2 to eml200
Change the code when Eml parser name changed.
Fixed a bug if a document already has index, but now metacat doesn't use index. If you try to delete this one, will cause error.
Excluded the update of the xml_index table in insert,update, and delete if the usexmlindex option is set to false.
Fixed the bug for sessionid storing, revision couldn't be zero and Ldap DN is case sensitive.
Fixed bug that version could not be zero in replication.
in toxml method, add new code to handle dtd.
If xml document uploading failed, the inline data file will be deleted either.
Change a array size from 4*10(testing) to 4*1024.
Using reader to replace string to read inline data.
Change the year from YY to YYYY
Revise inital value for insert a new server. Change some debug level.
Fixed a bug in registryDataFile.
Get rid of to_date function.
Add some debug message.
Add delete access subtree in delete method.
Move the code that writes triple to db to DBSAXHandler class.
Change a method from private to public and it can be shared by other class.
Add relation handler and access handler here.
Change eml2namespace variable from private to public.
Get eml2 name space from peroperty file.
Move a methods
Add code handle if put inline data into xml document or not.
Fixed a bug in reading data file.
Fixed a bug that when reading a inline file, there is null at the end.
Add code to put back inline data from file system.
Fixed bug the no matter the xml is base on schema or dtd, the output will add a line for doctype. This will cause eml document invalidate.
Add code to handle read part of tree. Now the subtree access control for reading works.
Fixed a bug that access control couldn't write into db.
Add the code to handle subtree control for reading(but finished yet).
Does not setting namepaces-prefix feature true for sax parser. If set it true, namespace will be treat as both namespace and attribute.
Change the code to handle permission checking.
Set up an eml parser.
Add code to call SchemaLocationResolver.
Set mutiple external schema locations for parser.
Make the paser knew namespace and schema validation.
Merge cvs branch replication to cvs head.
Merge DBConnection branch to head.
Add a access control for MetaCatServlet to update a document which home server is not local metacat.
In writeDocumentToDB method, during insert action, rev value can be assigned too. It is useful for replication.
Revised the method writeDataFile, writeReplication and writeToDB
Fixed some DB connection bug.
Add the feature to get doc home server into method getDocumentInfo.Add a method to return docHomeServer.
Add three methods into this class. One is named getServerCode, to given a server name, it return server code in xml_replication table.One named insertServerIntoReplicationTable, if a server is not in the server list, it will insert it.One is named WriteReplication, this method will be used in forceReplication. It delete the replication code in it.
Add a hub control in write and writeData method. If hub==super, metacat can replicate any document in its database to any server in server list. If it is not super, metacat only replicate local documents to any server in server list. If a document' home host is not itself, metacat only force replicate the document to the document's home host.
In writeDataFile method, using getDataFileLockGrant(docid) replace getDataFileLockGrant(docid, serverCode). The latter will cause a problem
Add a method named writeDataFile. This method will register data file into xml_documents table and save a input stream to a file.
Add method getDataFileLockGrant(). This method will check if xml-document of data file can be store into database.
Add a new method named unRegisterDocument. This method will delete the record in xml_document table which is for a data file
Fixed the bug metacat will set server location to 1, no matter it is.
In order to increase data file docid, method registerDocument was revised. Now it not only insert a new data file record to xml_documents table, but also can update the data file documents. Moreover, it can archieve the old version to xml_revisions table. Two other private methods were added to handl these futures: deleteXMLDocuments and getLatestRevisionNumber.
Add a throwing exception in hasPermission and hasReadPermission methods.
A constructor for this class was added. In the new constructor, user can specify the revision number he want to update. In method writeDocumentToDB, when a update action happend, the rev number would not automatictlly to add one, but it can go to specified number. This is for bug 417.