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.
Modified EventLog to eliminate the separate revision column and instead foldthat into the docid string. Log now includes read events, but need to updatethe data sent there.
Modified SQL scripts to add the new access_log table. I've partially tested this under postgres but have not yet tested under oracle.
Reformatted code for readability and consistency.
Revise the handle query and squery method, not finished yet.
Set content type properly for getversion action.
Added a simple action for finding out the current metacat version. The information is pulled from the property file, so be sure to update the version in the property file before shipping a release.
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.
Removed the "getdataguide" action as it was always experimental and is no longer used in metacat or morpho.
Fixed the bug for sessionid storing, revision couldn't be zero and Ldap DN is case sensitive.
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...
Moved the metacat.properties file from the jar file to now be located inthe tomcat context directory in WEB-INF. Now the metacat configuration iseditable in place. This change depends on a new Options.java class in theutilities module, so be sure you do a "clean" build in metacat so that you...
If the sessionid is null and user will be treated as public.
Fixed the bug that if path query without xml declaration will cause a non well-formed result doc.
Change string to stringreader to save memory.
got interservlet session handling working.
fixed errors with jing and my merges
changes to make session management between monarch and metacat work.
Revise the code for read from metcat.
Add code to hanlder wirte and update funtion.
Get the file size limit from property rather than hard code.
Revise code to decide use which parser.
Add contenttypeprovider when read a data file.
Finished the implementation for action readinlinedata. The prototype is action=readinlinedata&inlinedataid=eml.23.1.1
Set default content type for data file.
Add a new action readilninedata for metacat. By this action, user can read inline data only.
Add a flag in read action that the user want inline data in xml document or not.
Add eml parser checking here.
Add code to handle validate xml instance by noNamespaceSchemaLocation.
Just now made a wrong sumbit and revise it.
Add access query for control the return fields.
Change the calling method.
Chane a info for output.
Set a condition to for setting eml2 parser.
Change schemalocationkeywords constant from private to public and it can be reused.
Add schema validation parameter here.
Change some output for inser documents.
Create a action setaccess for assign access rule to single file.
Merge code from branch monarch.
Change the code for validation.
Add some debug message for displaying search time.
Add a control for readForRemoteServer is only for data file.
Merge cvs branch replication to cvs head.
Add code to shrink connection pool size. If all connections are free.
Merge DBConnection branch to head.
Change back to Connection. DBConnection will store in cvs branch..
Add DBConnectionPool object in servlet's init method and DBConnectionPool's release method in servlet's destory method.
Add control to send data or not
Add a control to get data file granted in handleUploadMethod.
Delete a some useless code for connection pool
Revised handleUploadRequet.
Adding a hub control to data file in handleUpLoad method. Data file was changed can be replicate to all server or only home host.
Adding a new feature that in uploaddatafile that the datafile can be replicated.
Only delete some incorrect comment.
The feature of check permission before Metacat handle a "read" action. If user doesn't have permission, its request will be rejected.After creating a DocumentImpl object. A method named hasReadPermission in that class will be called to make sure the user has permission to read it.
A new action named export was add to it. This action will export a zip output stream for a data package. In the zip output stream, meta data documents, data files and a html summary file are include. The stucture will looks like:package----/metadata/metadata docments...
updated metacat so that the xmlparserv2.jar file is no longer needed. replaced all of teh oracle xml processing with xalan and xerces.
fixed the error where the ldap authenticate took 15 seconds to execute
Fixed the function to return the max id for a given scope. Now the functiontakes a parameter named 'scope' and returns the largest docid that has beenused under that scope in this metacat instance (it used to return the mostrecently created docid, which is clearly different). For compatibility with...
fixed bug where the whole filename of a data file was not appended to the file input stream so metacat just returned a null document
Fixed problem with metacat handleReadAction where the OutputStream from theresponse object was closed and an attempt to reopen a PrintWriter was madeon the same response, which is illegal. Now the OutputStream is convertedto a PrintWriter in order to write the XML error message back to the client....
Added support for multiple user interfaces by enabling style sheettransformations to be configured from within metacat rather thanfrom in the database. Now, metacat uses the qformat parameter to determinea "style set", which is mapped to an xml configuration file that...
Revised build.xml and metacat.properties to make it easier toinstall alternative stylesheets for metacat. In the process,replaced the deprecated copydir and copyfile commands in build.xmlwith appropriate "copy" commands.