| Revision:

# Date Author Comment
2594 09/15/2005 03:24 PM sgarg

added code to define LOG_CONFIG_NAME

2593 09/14/2005 11:50 AM sgarg

Added code to start threads which initiate indexing once insertion to xml_nodes is complete.

2592 09/14/2005 11:45 AM sgarg

Removing the code that calls the indexing thread. This call will be made from once document insertion and update is finished.

2591 09/14/2005 10:50 AM sgarg

Added support for log4j to MetaCatUtil so that it can be used by Metacat code for logging.

2590 09/13/2005 03:08 PM Jing Tao

Add a new indicator - is revision document.

2589 09/09/2005 01:59 PM sgarg

Replacing debugMessage in metacat code with log4j methods for logging

2588 09/09/2005 01:51 PM sgarg

Replacing debugMessage with log4j methods for logging

2586 09/09/2005 01:10 PM Jing Tao

Add code to check the if the user has permission to start or stop timed replication.

2585 09/09/2005 01:08 PM Jing Tao

Add some null checking code in onList method.

2582 09/09/2005 10:42 AM Jing Tao

Change sessionHash to static variable and add a static get method.

2581 09/08/2005 04:40 PM Jing Tao

Use a util function to get replication server.

2580 09/08/2005 04:07 PM sgarg

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

2579 09/08/2005 04:03 PM Jing Tao

Use a util class to get local replication url.

2578 09/08/2005 04:02 PM Jing Tao

Add code to trim server name white space.

2576 09/08/2005 01:41 PM sgarg

Modified MetaCatUtil to read metacat access control lists from Also coded various methods which can be used to find out if a user is an admin, moderator or on allowed/denied submitter list.

Modified MetaCatServlet to check if a user is allowed to insert/update before insert and update is done.

2574 09/08/2005 01:19 PM Jing Tao

Add code to trim white space in server name.

2573 09/08/2005 10:49 AM Jing Tao

Remove output stream from the constructor.

2572 09/08/2005 10:48 AM Jing Tao

Persistant timed replication parameter.

2570 09/08/2005 10:04 AM Matt Jones

Formatting cleanup, fixed a missing 'private' declaration. Preparing for LSID integration work.

2566 09/07/2005 04:47 PM Jing Tao

Add code to check if adminstor list is null.

2561 09/07/2005 01:07 PM sgarg

Removing support for 'site' from pathquery

2560 09/07/2005 01:05 PM sgarg

Replaced SQL queries in getMaxDocid() which used INSTR with queries which dont use INSTR. Now the INSTR related computation is done in Java code

2559 09/07/2005 09:44 AM sgarg

Modified the code so that users show up outside the groups also in the tree constructed by action=getPrincipals.

2558 09/06/2005 11:29 AM sgarg

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

Modified DocumentImpl and MetaCatServlet to use these functions.

2557 09/06/2005 08:45 AM sgarg

Added fix for

normalize method now checks for & in the text passed to the method

2556 09/06/2005 08:42 AM sgarg

Added the patch provided by Johnoel. Check out the following link to bugzilla for more info:

2555 08/30/2005 05:04 PM Jing Tao

Add some method to setting replication start time.

2554 08/30/2005 05:03 PM Jing Tao

Add new method to set options.

2526 07/26/2005 09:17 AM sgarg

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.

2524 07/25/2005 11:57 AM sgarg

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.

2523 07/25/2005 11:54 AM sgarg

Check if all the paths in returnfield are indexed. If yes, then you xml_path_index for getting values of returnfields instead of using xml_nodes + xml_index

2522 07/25/2005 11:52 AM sgarg

Adding code to check if all the paths being searched for indexed are not. If all paths are indexed, the code will use xml_path_index instead of using xml_nodes and xml_index

2521 07/25/2005 11:49 AM sgarg

Adding a new method to MetaCatServlet for getting the value of paths to be indexed from file and indexing those paths in xml_path_index

2517 07/21/2005 04:54 PM sgarg

Changed the name of the function

2512 07/21/2005 04:08 PM sgarg

Added a new function which can used to control the carriage return at the end of the debug message and 'Metacat' in front of the message...

2503 04/22/2005 02:18 PM sgarg

Fixed a bug in printSQL function. The bug came into the picture for queries which involve multiple query groups and one of the query groups does a % search.

2491 04/14/2005 07:44 PM sgarg

Added code to delete all entries in xml_queryresult table when buildIndex for a docid is called.

2489 04/14/2005 01:51 PM sgarg

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"

2487 04/13/2005 06:22 PM sgarg

Fixed a bug in last commit. Doing a search like
pathquery version="1.2">
<returndoctype>eml://</returndoctype><returnfield>originator/individualName/surName</returnfield><querygroup operator="INTERSECT"><queryterm casesensitive="false" searchmode="contains"><value>%</value></queryterm><queryterm casesensitive="false" searchmode="contains"><value>National Center for Ecological Analysis and Synthesis</value><pathexpr>organizationName</pathexpr></queryterm></querygroup></pathquery>...

2486 04/13/2005 11:38 AM sgarg

Fixed a bug - when returnfield_id is not found in xml_returnfield, records are not added to xml_queryresults

2474 04/07/2005 05:04 PM sgarg

1. removed the call to QuerySpecification.printAttributeSQL() from QuerySpecification.printExtendedSQL()
2. in QuerySpecification.printExtendedSQL() if ( returnFieldList.size() == 0 ) then it returns null
3. DBQuery.addReturnfield() doesnt execute the element query if printExtendedSQL returns null

2473 04/07/2005 04:08 PM Chris Jones

A minor change from containAtrributeReturnField to

2472 04/07/2005 04:06 PM Chris Jones

I've added in a test in QuerySpecification.printExtendedSQL that checks
to see if attributes, and sometimes only attributes, are in the original
returnfield request. If so, the printAttributeQuery is called.

2467 04/07/2005 10:53 AM Chris Jones

Changed the handleReturnField() method so that it handles path expressions with
only attributes in the path.

2466 04/06/2005 07:04 PM sgarg

Added a check if printAttributeQuery() for returnPath to see that it is not null so that that this doesnt happen

xml_index.path like 'null' AND xml_nodes.nodename like 'id'

2465 04/06/2005 06:46 PM sgarg

Fixed a bug in previous commit

2464 04/06/2005 06:25 PM sgarg

Modified code for computing the returnfield string - earlier only elements were used to construct the string. e.g. /dataset/title
Now attributes are also added to the returnfield. e.g. title/@id

2462 04/06/2005 02:21 PM sgarg

Replaced 1.4.0 with release

2459 04/06/2005 02:23 AM Chris Jones

When a path expression includes element content and attribute content, then
the SQL generated needs to search for attribute nodetypes with parent
nodenames equal to the path expression element content. However, when
only searching for attribute content (such as just @packageId), then...

2458 04/06/2005 02:13 AM Chris Jones

When searching for attributes in the XPATH expression, an 'index out of bounds'
exception was thrown when only an attribute was included in the path string.

This fix changes the pathexpr.indexOf comparison to 0 rather than 1, since
the index starts at 0....

2450 04/04/2005 04:50 PM sgarg

Removing call to normalize from getNodeRecordList()

2449 04/04/2005 04:45 PM sgarg

Changing the normalize function. Adding changes submitted by Johnoel. Removing code for converting " as " can be stored as it on Oracle. Removing code which strips out \n and \r

2447 04/04/2005 04:17 PM sgarg

Removed occurence of enum which is a keyword in Java 1.5

2446 04/04/2005 04:15 PM sgarg

Removed occurence of enum which is a keyword in Java 1.5

Changed the queries so that PreparedStatement.setString() and .setInt() are used instead of write the string directly into the sql statements

2437 03/31/2005 06:00 PM sgarg

Fixed a bug from previous commit which removed whitespaces from documents.

2436 03/31/2005 05:29 PM sgarg

Removed irrelevant code from previous commit

2435 03/29/2005 08:18 PM sgarg

Removed code which entered value for nodedata in xml_index

2434 03/29/2005 07:57 PM sgarg

Modified code such that nodedata column in xml_index is not created and used. So now we are using the same logic for using xml_index which was used for metacat release 1.4

2430 03/29/2005 08:06 AM sgarg

Added new database upgrade script for postgres.
Modified the database upgrade script for oracle
Added comment to
Fixed a bug in xmltables.sql

2429 03/25/2005 09:59 AM sgarg

Added code so that metacat administrator can delete any document.

2428 03/23/2005 01:30 PM Chris Jones

Added the trailing '/' that was ommitted when XPATH queries included attributes.
This is a partial bug fix for:

2426 03/22/2005 09:53 AM Duane Costa

Fixed bug in command-line mode which caused array index out of bounds exception.

Changed default maxHarvests value to 0. Added logic to ignore maxHarvests value when it is set to 0 or a negative number. This allows Harvester to run indefinitely without shutting down after reaching a maximum number of harvests. The previous default value of 30 would cause Harvester to terminate after 30 harvests.

2425 03/18/2005 11:19 AM sgarg

Added code to check if the document is indexed yet! So entry into xml_queryresult is only made if the doc is in xml_index.

2424 03/18/2005 08:51 AM sgarg

Added code such that an offset can be specified in for entering records into xml_queryresult table. The value of xml_returnfield.usage_count should be more than the value specified in for records to be entered into xml_queryresult. so if you want results for any combination of returnfields should be stored in xml_queryresult only after that combination has been requested 50 times, set this value to 50

2421 03/17/2005 05:26 PM sgarg

Changes for entering new records into xml_queryresult:

1. Added a function which checks if there is a record exsists in xml_returnfield table for a given combination of return fields. If a record is found, the id for the record is returned. otherwise a new record is created in the xml_returnfield table and the id of the new record is returned....

2420 03/17/2005 04:48 PM sgarg

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.

2419 03/17/2005 04:42 PM sgarg

Added a function which gives back a string which is generated by sorting the returnfields requested for given query specifications

2406 03/10/2005 11:47 AM sgarg

Modified the offset which is used for creating the resultset. This helps in fixing the 'more than 1000 enteries in IN query' bug on Oracle.

2399 03/04/2005 11:51 AM sgarg

Added a check for eml2.0.1 documents in

2397 03/03/2005 03:02 PM Jing Tao

Using a variable to replace the hard code for namesapce in inserting record to xml_relation table.

2396 03/03/2005 01:50 PM sgarg

Fixed a bug in the format of query result.

2386 01/25/2005 03:14 PM Duane Costa

Formatting improvements.

2385 01/25/2005 03:01 PM Duane Costa

Formatting improvements.

2384 01/25/2005 01:57 PM Duane Costa

Implement a new HarvesterServlet for running Harvester as a servlet. This eliminates the need to run Harvester in a terminal window. By default, the HarvesterServlet is commented out in lib/web.xml.tomcat(3,4,5). The user documentation will be modified to instruct Harvester administrators to uncomment the HarvesterServlet entry.

2381 01/20/2005 01:42 PM Duane Costa

Re-implement logic to prune old log entries from the HARVEST_LOG and HARVEST_DETAIL_LOG tables. The old logic caused integrity constraint violations in the database because it tried to delete parent records from HARVEST_LOG prior to deleting child records from HARVEST_DETAIL_LOG....

2380 01/20/2005 01:37 PM Duane Costa

Formatting improvements.

2376 01/18/2005 12:11 PM sgarg

Modifying code so that nodedata is stored in xml_index table next to the paths.
This helps in making the search faster.

2375 01/14/2005 12:41 PM Duane Costa

Increase number of rows in harvest list from 300 to 1200.

2374 01/14/2005 08:08 AM sgarg

Fixed a bug from previous commit

2373 01/13/2005 07:04 PM sgarg

Some more modifications so that % search doesnt run a select on xml_nodes.

2372 01/13/2005 05:26 PM sgarg

Modified code to fix bug # 1850

2368 01/13/2005 04:54 PM Duane Costa

Change default document type in Harvest List Editor to eml-2.0.1.

2367 01/13/2005 04:49 PM Duane Costa

Remove DOS end-of-line carriage returns.
Other minor formatting improvements to the code.

2366 01/13/2005 04:39 PM sgarg

Modified code so that when a % search is done, a xml_nodes search is not done. This search is not required and hence saves time in doing a % search

2364 01/13/2005 04:27 PM sgarg

Added code to check for NaN valuse which converting string to double.

2360 01/06/2005 12:47 PM sgarg

Fixed a bug in containsKey() function.

2358 12/30/2004 03:31 PM sgarg

Modified 'insert xml_nodes...' so that numerical data is added into numericalnodedata also.

2357 12/30/2004 03:29 PM sgarg

Modified handling of greater-than and less-than so that comparison is done against nodedatanumerical column.

2352 12/22/2004 11:46 AM sgarg

Fixed a bug in previous commit. Moved normalization function before the string size is counted so that size change due to normalization is taken into account.

2347 12/21/2004 03:00 PM sgarg

Added code to check id document is passed as part of the params. This is done toprevent NullPointerException which results in sending null to the user.

2339 12/20/2004 03:12 PM sgarg

Made changes to fix bug# 1538. Changed the code of the normalize function in Earlier code was not taking care of characters above 123.

In, added call to normalize function before text is written to db.

2337 12/16/2004 04:34 PM Jing Tao

Add a new method to get newest version of a given document.

2336 12/16/2004 04:33 PM Jing Tao

Add a new method to get newest version for a given document.

2332 11/15/2004 10:39 AM Duane Costa

Modify value of redirect to match the servlet-mapping URL values in web.xml. The old value used the servlet class name. This worked in Tomcat 4 but seems to break in Tomcat 5 on Windows. The new value uses the servlet-mapping URL value. This should work in both Tomcat 4 and Tomcat 5.

2330 11/09/2004 03:34 PM Duane Costa

Minor enhancement to support multiple email addresses for harvester administrator and site contact. Each address is separated by a comma or semicolon.

2327 09/24/2004 01:13 PM harris

Thanks Jing, Fixed those code comments.

2326 09/24/2004 12:02 PM harris

Adde a function to the metacat client to set access on an xml document in a
metacat repository.

2315 09/21/2004 03:36 PM Matt Jones

Modified buildIndex() to now include an '@' sign in the path for ATTRIBUTE
nodes. Removed a bunch of debugging information. Fixed the BuildIndexTest
so that it would work on any machine (removed hardcoded paths).

2312 09/21/2004 03:13 AM Matt Jones

Added in servlet action 'buildindex' for building the XML_index table entries
for either a set of documents (if one or more docid params are provided) or
for the whole set of documents in the xml_documents table. The buildindex
action is restricted to only be accessible by users who are listed in the...

2307 09/20/2004 04:25 PM Matt Jones

Changed to now use the new DocumentImpl.buildIndex() method
for populating the xml_index table. The new method uses a jdbc ResultSet
for populating the index rather than doing it with the DBSAXNode, so it is
faster and can be run at any time on any document. This will allow us to...