Add to cvs headd. Add code to correct invalidated eml 201 doucments.
Enable file naming when returning a zip file of the requested documents.File names for each docid are provided as additional parameters named by the actual docid value that they are providing a name for. An example query string might look like:
action=read&docid=doc.1.1&docid=doc.2.1&qformat=zip&doc.1.1=fileName1.txt&doc.2.1=fileName2.jpg...
Using reponse.getOutputStream to replace reponse.getWriter in query and read method. So metacat can send correct special character back.
ignore commented out DOCTYPE declarations (don't force validation on them)
Modification for changes to the field "MetacatUtil.skinconfigs".
Fixed bug that should throw an exception in upload method.
Change the debug level for Metacat initialization message.
Added param to indicate if public has read access or not, in the method "readFromMetacat". It only does this if reading a metadata document, for a skin-format,and the user is not public. This is useful to the skin's metadata display/editing form, for indicating public accessiblity (or inaccessibility)....
Find out if the document is a Member of an EML package, and if that's not the case, than skip the test to see if access is set through EML metadata.
Refactored upload code to allow arbitrary POST parameter ordering, and open the door to multiple files in one HTTP request. Two new methods to MetaCatUtil to facilitate the file processing: writeTempFile and copyFile.
Backing out change, certain cases cause the file to upload as 0 bytes, which pass all tests but leave us with no data. Will re-commit after 1.8 release and more complete testing.
Updated com.oreilly.servlet (cos.jar) from 19Jun2001 to current 05Nov2002 version. Fixed uploading in MetaCatServlet.java to allow parameters after file object, was disabled for a workaround in the previous library.
Add a delay time for initial indexing
Add debug in query method.
Add statement to output search time to a delimitered file
Add new method to record the total search time to a file.
Change the debug level for timing
Modify the time debug message
Added a new class called Sitemap that is used to generate a series of XML documents representing the URLs of metacat documents following the sitemap protocol. The Sitemap class extends TimerTask so that it can be scheduled to run once a day or so. New configuration options were added to metacat.properties to control where the sitemaps are written and hw often they are updated. By default we do it once a day, as more often is overkill for search engines....
Added new feature to allow metacat documents to be retrieved from a URL that does not use the query url syntax, instead embedding the docid and qformat in the url path, as in this example: http://localhost:8180/knb/metacat/test.1.1/knbThis format allows clients to read documents without entering a query URL, which will be used in a subsequent step to allow search engines to better index metacat content.
Somehow the change went to the head rather than branch. So i rollback the change in head.
This commit is for branch. In this commit the correct ip and user name will be stored in access_log table in replication event. However, it only for Forcereplication. And the test isn't completed yet. This commit is only for future use.
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
Add exception handle code according the change in SpacialHarvest class.
As a fix to http://bugzilla.ecoinformatics.org/show_bug.cgi?id=2748, I'm applyingthe patch sent to me from Mike Frenock when he reported this bug.
This patch changes MetaCatServlet.handleUploadAction() by first settinga boolean flag on whether the file to be uploaded exists already. If it...
added a method to query metacat to see if a particular docid is registered or not
added getalldocids function to get all docids that match a certain scope.
Updated MetaCatServlet so that it supports a web-based interface for configuring its own properties the first time it is run (determined by the property "configured" being set to false). Which properties are exposed in the web interface is determined by the list of properties in the 'metacat.properties.metadata' file. This file is managed by the new OptionsMetadata class in the utilities module, and provides information that allows metacat to build a human-readable configuration page for the properties. Still need to finish filling out the information in metacat.properties.metadata for the rest of the properties that we want to be editable. This autoconfiguration process is the first step towards building a turnkey installer for metacat....
Ensure that spatial operations are only triggered when runSpatialOption is set to true.
Modified the configuration classes to allow configuration through the web interface of all of the properties set in the metacat.properties file. The layout of this form still needs work, in particular because java.util.Properties does not maintain any order for the properties, nor does it allow for metadata about each property to be set and saved in the file. We can probably overcome this by creating a shadow file that lists all of the options and their metadata (such as grouping, controlled values, etc).
Renamed method.
Began work on a web interface for configuring metacat at runtime. This systemchecks the 'configured' property when metacat starts up. If configured=false, thenit loads an HTML form containing the properties that need to be set. The user configures the properties and they are written into the metacat.properties file. Then metacat needs to be restarted. ...
Eliminated the MetacatUtil.printMessage() method in favor of using the Log4J debugging methods.
Removed the release ant token from all files in 'src'.
release
Changed the filename that is used when data files are downloaded and when XML files are downloaded in XML format. Now, data files use the format "docid-docname". See bug #2566.
Only run spatial cache regeneration once. Plus some fixes to spatial_query action api.
Changed float object handling in spatial components in order to compile on jdk 1.4.2
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
Updated spatial query to also look at point spatial cache as some documents may only be represented as a single point.
Rewrote spatial query handler to use geotools directly against the spatial cache.
initial import of changes to metacat source and config files to support spatial option
Fixed parameter order for call to createSpatialQuery and fixed bounding box intersection logic.
Fix for a bug in MetacatServlet. Metacat assumed that it is supposed to get the schema information from the second line of the document. This is basedon the assumption that xml decleration will always be present. This is good practice but not required. Hence the fix -> Metacat should ignore the...
Changes in the spatial query. The spatial query can be generated on the client side in form of an squery rather than specifically creating one on the server side.Commented out the code which creates spatial query based on the coordinates sent to Metacat. Instead of that, a temporary method was added which creates the squery...
iModified code -- the booleans werent really getting tested :(
iModified the switch to turn/off the spatial searching.:wq
Some style changes and small changes to the spatial querying system.
Patched to fix regression bug that prevented insertion of documentswithout a DOCTYPE or namespace declaration due to anArrayOutOfBoundsException. Now these documents can be inserted, whichis useful for inserting FGDC documents that frequently do not have a...
Modified the way the results page is displayed.
Fix in getNamespace function. Bug reported by Margaret in testing for cases where no namespace is specified.
Integration of new shapefile writers (r. reeves code) with MSO.
Continued integration of the spataial stuff with the metacat servlet.
Integration of the metacat servlet with the spatial option -- rubberbanding is implemented too.
Added a flag for indexing threads so that they exit once Metacat has unloaded.
Added checks for null pointers and changed the name of the config file
Using java.util.Property instead of Options. Options is a singleton class. Hence it cant be used for reading skin property files without changing it into a non-singleton class
Making changes for passing the params to the xsl for skins.
code to handle null pointer exception
Added query for indexing attribute - needed for indexing packageId
Fixed a log bug.
Using xml_path_index instead of xml_index to find documents which havnt been indexed.
Replaced hardcoded namespaces with variable defined in metacat.properties
Changed logMetacat to be a local variable in MetaCatServlet to avoid any potential threading issues.
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.
Fixed bug that data file upload failed, record couldn't be deleted.
1. Added code to start the indexing thread.2. Fixed a bug in the query on xml_nodes and xml_index3. Added more debug statements4. Fixed a bug in code which determines namespace
Modification in algo:
1. Find if the root element has prefix (e.g. <eml:eml>). If found, go to step 2, otheriwse go to step 3.
2. Look for xmlns:prefix element to find the ns (e.g.:xmlns:eml="eml://ecoinformatics.org/eml-2.0.0") 2.a If not found go to step 4...
Bugfix for 2091. Removed the function needValidation(). Added function getPrefix which returns the prefix. And use the following steps to find out the namespace
1. Find if the root element has prefix (e.g. <eml:eml>). If found, go to step2, otheriwse go to step 3....
Bugfix to the code which sets parentnodeid in xml_path_index. (Use setInt instead of setFloat)
Added warning to be displayed in the log when document is not inserted.
Added a new action - getloggedinuserinfo - which returns information about the user in the following format.
<user><username>uid=sgarg,o=NCEAS,dc=ecoinformatics,dc=org</username><name>Saurabh Garg</name><isAdministrator/><isMOderator/></user>
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
Add code to guess the docid's revision in read action.
added code to define LOG_CONFIG_NAME
Change sessionHash to static variable and add a static get method.
Modified MetaCatUtil to read metacat access control lists from metacat.properties. 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.
Formatting cleanup, fixed a missing 'private' declaration. Preparing for LSID integration work.
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.
Added the patch provided by Johnoel. Check out the following link to bugzilla for more info: http://bugzilla.ecoinformatics.org/show_bug.cgi?id=2081
Adding a new method to MetaCatServlet for getting the value of paths to be indexed from metacat.properties file and indexing those paths in xml_path_index
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.
Added in servlet action 'buildindex' for building the XML_index table entriesfor either a set of documents (if one or more docid params are provided) orfor the whole set of documents in the xml_documents table. The buildindexaction is restricted to only be accessible by users who are listed in the...
Add new feature that delete can be broadcasted by force replication.
changed function parameters in accordance with changes in PermissionController
removed errors being generated in handling of qformat when action=insert. If qformat is not specified, xml is assumed as default.
removed a bug which was pointed out by Bing and fixed by Jing.
Fixed a bug in upload function. For online data updates, access was not checked.
Fixed handling of various docid formats.
Code added to handle errors resulting from following urls: http://metacat.nceas.ucsb.edu/knb/metacat?action2 - no action specified http://metacat.nceas.ucsb.edu/knb/metacat?action=insert - no docid specified http://metacat.nceas.ucsb.edu/knb/metacat?action=login - no username specified...
Added check for null condition so that proper error text is returned to user.
Merging in changes made in branch 'dataaccess' by Jing Tao.
Removed some debugging code added in last commit
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
Added the EventLog functionality to the servlet as action=getlog. Valid parameters are ipAddress, principal, docid, event, start, end. All parameters can be repeated except start and end.
Added additional logging calls for read, upload, insert, update, delete, andother commands. Now need to get a reporting function working and thisbug 101 will be largely finished.