allow "docid override" queries to include the results of a "normal" query - if the operator is left null, it acts as the usual override, otherwise UNION and INTERSECT modes can be used to either augment or refine the results.this is for incorporating semantic+spatial+keyword queries into one query operation/result
use detected document encoding or Metacat's default encoding (UTF-8)
use UTF-8 encoding when getting bytes from the DB and converting them into a string.http://bugzilla.ecoinformatics.org/show_bug.cgi?id=2495
use detected XML encoding when reading/writing filesuse UTF-8 as default when performing queries in the DB (assume DB is using UTF-8)remove as many PrintWriters (uses system default character encoding only) as possible and construct OutputStreamWriters where explicit encoding can be given....
re-added some code inadvertently removed
merged with version from 1.9.3 branch to fix bug with character encodings
fixed bug in metacat that allowed attribute data to be appended to element data in returnfields
implementing getObjects in CrudService.
listObjects is almost working. need to get the result set parsed when returned to CrudService.
add method name to log messages and create configured thresholds for warning messages
Move access control source to it's own directory.
Change location of PropertyService to properties directory
Move document specific utilities to DocumentUtil from MetacatUtil. This makes it easier to define a layer between the core metacat services and the rest of the code.
Create database and shared directories for database management code and shared code respectively.
Renamed MetaCatUtil to MetacatUtil
Rename LDAPUtil to AuthUtil
change some info and warn statements to debug
qualify xml and eml properties with an xml. prefix
Continue to qualify property names
Use qualified properties
fixed bug where the searchmode param was put into the search fields
Merge 1.9 changes into Head
Changes to remove ANT tokens for the turnkey install project
Remove the relation query.
changes for fix to bug #2999 (only one attribute of an element is returned in resultset doc)-added merging for large TEXT nodes when they have been broken up.-allow multiple attributes to be returned in the resultset doc (uses newly-available field type to determine text vs attribute node).
Fixed bug that if user choose to many documents in spatial query, the result set will be 0.
Add code to handle the docid list is too long to be run in extended query.
Add return doctype and return field into the key of query cache.
Add a try-catch to handle if a query result is too long.
Removed a code to check if there is a docid in a vector since every docid should exist once.
Add a cache mechanism for public user.
Add a result set cache
Change a method to private
Remove offset in findResultDoclist
Change some log.
Merge the getting return fields for both elements and attributes.
Get rid of back tracing part
Add more statement to output performance info in a file in delimitere format
Add formated output for time measurement.
Change the debug level for some statement
Fixed bug that search "soil" will cause an exception.
paging now works in a more normal manner. also fixed a bug where the last page would display too many results.
Recovered some overwitten code.
updated the kepler skin to use paging. need to do a bit more work on this to make it behave more like other web applications
Changed a wrong debug information.
Fixed bug that search will get a error in adding relationship.
Add time debug information for query.
Remove the access query for return field since we remove the partial tree access control in eml.
removed a bunch of commented out code
got a better version of paging working. still needs to be cleaned up and debugged more.
checking in timing print statments
paging now works well. sped up the caching by using SAX instead of DOM parsing. it seems fast. need some other people to test for me though. the two params needed are 'pagesize' and 'pagestart'. I haven't updated any of the web interfaces to use this, so if you want to try it, you'll have to type in the url the old fashioned way
Add a new overload method - createResultDocument and add a new check for null.
got paging working. metacat also now caches resultsets for users' sessions. the paging is a bit slow, due to some xpath statements. i need to get this optimized now.
adding changes to make paged query results possible
Merged the spatial web.xml.combined into the default web.xml.tomcat5
Removed the release ant token from all files in 'src'.
release
fix to docid overrides to handle an empty result set
Added docid override mechanism to DBQuery. Bypasses the queryspec.printSQL method and creates an optimized docid query in cases (like the spatial query) where you know the docids a priori
initial import of changes to metacat source and config files to support spatial option
check for nullpointerexception
iModified code -- the booleans werent really getting tested :(
iModified the switch to turn/off the spatial searching.:wq
Integration of the metacat servlet with the spatial option -- rubberbanding is implemented too.
Modified code to that isModerator param is passed to the xsl which will render the results.
Metacat has had problems with threading issues when accessed from ecogrid. These problems may stem from the use of shared global variables within the servlet that are not protected against threading problems. We used a lot of these, which I am eliminating in this commit. Besides final variables used as constants (which are not a problem), now there are only three unprotected variables (sessionHash, logMetacat, and conn) which are harder to eliminate. I will be discussiong this with Sid tomorrow to see how to eliminate them.
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
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.