Removed code entered in previous commit as it is no longer needed
Replacing MetaCatUtil.debugMessage or MetaCatUtil.logMetacat call with logMetacat (private Logger object) call
if moderator is logged into metacat and no option for enable-editing is specified then enable editing by default
Change the code to make sure DocumentImpl class's constructor should have rev attached.
Fixed a bug - when returnfield_id is not found in xml_returnfield, records are not added to xml_queryresults
1. removed the call to QuerySpecification.printAttributeSQL() from QuerySpecification.printExtendedSQL()2. in QuerySpecification.printExtendedSQL() if ( returnFieldList.size() == 0 ) then it returns null3. DBQuery.addReturnfield() doesnt execute the element query if printExtendedSQL returns null
A minor change from containAtrributeReturnField to containsAttributeReturnField
Replaced 1.4.0 with release
release
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
Added new database upgrade script for postgres.Modified the database upgrade script for oracleAdded comment to DBquery.javaFixed a bug in xmltables.sql
Added the trailing '/' that was ommitted when XPATH queries included attributes.This is a partial bug fix for:
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=2052
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.
Added code such that an offset can be specified in metacat.properties for entering records into xml_queryresult table. The value of xml_returnfield.usage_count should be more than the value specified in metacat.properties 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
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....
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.
Modifying code so that nodedata is stored in xml_index table next to the paths.This helps in making the search faster.
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
Fixed a bug in containsKey() function.
Revised the api and ecogrid can use it easily.
Fixed the returndoctype bug in DBQuery as described in bug 1451. Now,results are returned even if returndoctype is null, which is theappropriate behavior.
Clean up some code.
Add a new transferm method for string reader.
Reformatted DBQuery.java for readability and consistency.
Changed printAttributeQuery() to no longer depend on the xml_index table. Now, if useXMLIndex is false, the method will use a recursive query on xml_nodes to match paths instead of using xml_index.
Moved decision about whether to use xml_index forquery to the metacat.properties as "usexmlindex". Defaultis now false. Still have some refactoring to do to remove afew more uses of the xml_index table.
Created new printExtendedSQL function that can get the extendedreturn fields using only xml_nodes and not xml_index. Onestep closer to eliminating the dependence ofn xml_index.
Fixed the bug for sessionid storing, revision couldn't be zero and Ldap DN is case sensitive.
Replaced Hash table with Vector of Vector datastructure in getting <param> from Query. This was done so that the results are represented in same order as they appeared in the document.
Enabled stylesheet parameters to be passed through metacat even when the'query' function is called. Previously, query would interpret allparameters except a few hardcoded ones to be pathexpressions that should bebuilt into a squery. Now, metacat.properties contains a new configuration...
Add a new method to find document from queryspecification.
Field data will be normalized.
Fixed a bug which cause infinite loop.
Add access control for return fields.
Add access control for return fields in the subtree.
Change the code to handle permission checking.
If a text node was split into two parts, now it will be combined.
Merge the code to handle export single document.
Support return field has attributes.
Change the code for percentage search.
Fixed a bug that after finding a non-dataset document, then go back to find dataset document for it in xml_relation table.
Create a shortcut for the query to get user's onwer doc lists. Create a private method named getOwnerQuery. If the coming query equals the owner query, the access permission checking would NOT append to the comming query. Because the owner has all permission.
Add the checking permission query into orignal query.
Delete the code for permission checking in execute extened query. It was redundant. Add some debug message for displaying search time.
Merge cvs branch replication to cvs head.
Merge DBConnection branch to head.
Add debugMessage level in this class
fixed my tagging error
some small changes I had to make to get the QAENGINE demo to work right. this should be committing in a branch
Add a throwing exception in haspermission method.
Access document was added to exported data package too.
When user request a data package, the old version documents would be exported. Only export the request one.
During the export function. Every document will be check if the user has the permission to read or not.
A new method named hasPermissionToExportPackage was added. So when MetaCat handle export action, it will check if user has permission to read the data package. If it has, MetaCat will export a zip output stream to it. Otherwise, MetaCat will be through a exception.
A public method named getZippedPackage() and other relative private methods were add to this class. The public method can give a zip output stream if a docid and other parameters were passed to it.
fixed bug with ampersands in the returned relations in the resultset.
Fixed bug in metacat where an Exception was thrown when a search returnedan empty resultset. Now we avoid the function call that threw the exeption.
fixed an error of NullPointerException
fixed error with out of cursors error because pstmts were not getting closed in DBQuery
added support for multiple group membership
Added fix to DocumentImpl that showed problems when the DocumentImpl(conn)constructor was called. Now there is a new constructor: DocumentImpl(Connection, String, boolean)where the boolean value is used to determine if the nodeset should beread a t the time the cosntructor is called. if false, then...
added constructor in DocumentImpl for use in DBQuery.findDocuments();this new constructor is used with getDocumentInfo() to get the doc info only;because the other constructor builds the whole xml doc which is not needed here and time consuming;this happens on backtracking only.
MS SQL Server stores trailing spaces in varchar fields which shouldn't bethus added docid.trim() in the Java code
the ODBC multi-threading problem:in DBQuery we open ResultSet in the db connection and we are trying toopen another Resultset by AccessControlList which does not workthus open separate connection for use by AccessControlList.
Fixed bug in metacat where return doctypes were not being properlyback traced. Changed DBQuery.findDocuments() so that it no longertakes a returndoc array, but instead retrieves the returndoc arrayfromthe QUERYSpecification. The QuerySpecification was augmented...
Added ability to process multiple "returndoc" elements ina pathquery document. Now, any query hit will be back traced to anassociated package if that package is listed in one of the"returndoctype" elements.
Modifications that change the package handling behavior of metacat. Packagemembership is now determined by an identifier being used as either the subjector object in a triple. One can not request arbitrary returndocs -- onlythose types that have package information embedded can be "returndoctype"...
as John were testing Metacat on postgres,he discovered that Connection needs more precise checkwhether it is open because of db timing outs.So used to be:if ( conn null ) { get new connection from db; }Now changed to:if ( conn null || conn.isClosed() ) { get new connection from db; }...
added print info and timing info
included flag in DBQuery to run pathqueries with or without the index,but for the command line only.
added timing info to main
there were more mentions of DOCTITLE attr - cleared them
added precise location information (class.method) to each catch statement so that errors are more easily traced.
removed print statements
fixed typo
fixed introduced problem with preparedStatements
Added license terms to source code files, and cleaned up some javadocdocumentation in a few places.
closed all preparedStatement variables
fixed sql error
removed package doctype filtering from the resultset.
commented out print statement
problems with passing the connection between objects
overwrite Jivka's overwrite
problem with passing the connection between objects
removed print statement
fixed bug where some relations were not returned because the sql did not take into account an sql that had a directory structure in it.
AccessControlList - methods for parsing and loading acl file - checkup method for permission for given principal on given resourceDBQuery - checkup for READ permission using AccessControlList.hasPermission()DocumentImpl - using AccessControlList object to parse and load an acl file into xml_access table...
Modified stylesheets and server code to use a single "read" action insteadof the earlier "getdocument" and "getrelateddocument" actions. In theprocess, developed and started to utilize a new suite of URL "protocolhandlers" that are in the package "edu.ucsb.nceas.protocols" and handle...
fixed bug/typo
Modified pathquery.dtd and QuerySpecification to allow some new constraintson queries submitted to Metacat. Now, queries can contain an optionalset of <owner> tags that identify the users for which documents should bereturned, and a list of <site> tags constraining the site identifiers...
changed naming scheme
added functionality to return the doctype of a relation in a relationdoctype tag. This information is now returned automatically in the resultset under the path resultset/relation/relationdoctype.
removed system.out.printlns
added support for urls of the form "metacat://server.xyz.com?docid=XXX:yy"
Added backtrack functionality. Backtracking works by passing a returndoc parameter. There can be more than one. If a document that is hit by a query is not of type returndoc then it searches the database for a related file of type returndoc. If one is found it is displayed, if no relation is found, the original is displayed....
Added functionality for package specifications. metacatservlet now contains a new action called getrelateddocument that handles retrieving related documents using the metacatURL specification (metacatURL.java). DBQuery contains new code in runQuery that embeds relation tags in the returned hashtable describing the documents related to each docid. querySpecification contains a new method which prints the sql that does the relation query.
added check from "read" permission on "query" and "squery" actionsfor connected user or for "public" connection
Added a method called getNodeContent which retrieves the content of a node in a document. If there are more than one nodes with the same name returned, it returns an array with all of the data.
changed xslf for new returnfield scheme. the returnfields are now returned as <param name="<returnfield>"> tags.hThe sql for the returnfield query was redone to fix a previous problem with slow queries
changed the field names to be case-sensitive in the returnfields