| Revision:

metacat / src / edu / ucsb / nceas @ 952

# Date Author Comment
952 03/04/2002 08:34 PM Jing Tao

The method - hasAllowRule was revised. If a action -read or update was approved, all ticket count of allow rule entries for this action will minus one if the entries have ticket count number (not null).

951 03/01/2002 06:07 PM Jing Tao

The two hasPermission methods were rewritten. Some logic bugs were fixed. Now user, public and group will not be checked speratedly, but they will be check together as string array. In order to do this, private methods isAccessDocument, containDocumentOwner, isAllowFirst, hasAllowRule, hasExplicitDenyRule, hasImplicitDenyRule, and createUsersPackage were added.

950 02/26/2002 02:02 PM Jing Tao

In method transformXMLDocument, if no style sheet registered was found for the input document, the document will be send back, rather than use util.DebugMessge to print.

949 02/26/2002 01:55 PM Jing Tao

Only delete some incorrect comment.

948 02/26/2002 01:53 PM Jing Tao

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.

947 02/26/2002 08:37 AM Jing Tao

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.

946 02/26/2002 08:30 AM Jing Tao

A method named hasReadPermission was added. The method will check if a user has permission toread a xml document.

945 02/26/2002 08:23 AM Jing Tao

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.

944 02/26/2002 08:18 AM Jing Tao

Code to handle "read" permission was changed in hasPermission method. The old code used old way to look up the public_access field in xml_documents table.

943 02/22/2002 03:02 PM Jing Tao

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...

942 02/22/2002 02:56 PM Jing Tao

Two metacat util methods were add. One is getDocIdFromString and the other is getVersionFromString. They output a docid and revision if a string like str1.str2.str3. were passed to them.

941 02/22/2002 02:53 PM Jing Tao

A method named transformXmlDocument were overload. It transform an XML document to StringWriter using the stylesheet reference from the db.

940 02/22/2002 02:50 PM Jing Tao

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.

935 02/13/2002 05:48 PM Jing Tao

Some code format problem was fixed.

934 02/13/2002 03:17 PM Jing Tao

The bug was fixed.
After a referral exception happend, we should set enviroment properties again before creating a contex. These environment properties include PROVIDER_URL, SECURITY_PRINCIPLE, SECURITY_CREDENTIALS, REFERRAL, and INITIAL_CONTEXT_FACOTRY. Otherwise, you couldn't get a naming exception.

930 02/12/2002 09:14 PM Jing Tao

Authentication bug was fixed (bug 408).
However, it needs to test if referral cotaining a referral.

928 02/11/2002 05:56 PM Jing Tao

Please check it.

927 02/11/2002 08:10 AM Jing Tao

In order to fix bug 408 (authentication), some important variables' values
were followed.

920 02/02/2002 01:14 AM Matt Jones

Set the qformat parameter so the stylesheets can use it for conditional

915 01/29/2002 10:15 AM berkley

fixed error I introduced when I got postgres working

906 01/22/2002 11:30 AM berkley

updated metacat so that the xmlparserv2.jar file is no longer needed. replaced all of teh oracle xml processing with xalan and xerces.

899 01/18/2002 10:24 AM berkley

made a ton of changes related to keeping oracle SQL code out of the main classes. fixed a bug where the timing of the index thread was off so when it went to index a document, the document was not already in xml_documents thus breaking the FK relation between xml_documents and xml_index. I think that bug might be the reason for the blank resultset screens in morpho. made the postgres implementation much more robust.

897 01/16/2002 03:24 PM berkley

removed because this is no longer used. it was causing a compile error when using postgres because it directly imports the oracle driver.

894 01/15/2002 08:46 AM berkley

fixed bug with ampersands in the returned relations in the resultset.

893 01/14/2002 03:04 PM berkley

added a manual timeout to counteract the hideously long ldap time out that is encountered when a referred ldap server is down.

888 01/03/2002 02:02 PM berkley

updated the referral mechanism so that metacat doesn't crash when a referral server is not available

887 12/20/2001 12:13 PM berkley

made it so we can now use multiple accessfilestypes and packagdfiletypes in the file. Also fixed a bug introduced when the 'http://' was removed from behind the server name in the loaddtd.sql script and the knb.xml file

873 11/26/2001 02:36 PM Matt Jones

Fixed the getUsers() and getPrincipals() methods so that they no longer
fail when large result sets are requested. The problem was that the
LDAP server was returning a "size limit exceeded" message when the resultset
from the query exceeded the default limit of 500 entries. Now we...

872 11/21/2001 06:10 PM Matt Jones

Re-enabled referrals which I had turned off for debugging purposes.

871 11/21/2001 06:09 PM Matt Jones

Modified AuthLdap to fix the may problems associated with group and user
queries. Now the getGroups() and getUsers() methods work as advertised,
and there is a test of each of the methods in "main" for testing purposes.
Simplified the class substantially. Fixed the getAttributes method as...

870 11/20/2001 08:10 AM berkley

fixed error where person with 'all' permission could not update the access file.

869 11/20/2001 08:10 AM berkley

fixed error where person with 'all' permission could not update the access file.

868 11/14/2001 01:33 PM berkley

fixed referral catching mechanism in authLdap.ldapAuthenticate() so that it will refer through a bunch of linked servers instead of just one....I still haven't figured out why the getGroups method wont work.

867 11/01/2001 02:29 PM berkley

fixed the error where the ldap authenticate took 15 seconds to execute

866 10/31/2001 11:06 AM berkley

I think i have fixed the ldap referral bug. the test lter account that david made for me works, however I would like matt or someone more knowedgeable with ldap to please check my code. the changes I made are around line 200 of AuthLdap. I put a comment in the source where the code needs to be checked.

865 10/25/2001 05:18 PM Matt Jones

Fix for bug #309 so that Metacat will now follow LDAP referrals. Previously
the default was to ignore referrals. Now we explictly set the JNDI
Context.REFERRAL value to the value in the metacat.propert "referral".
The file has been modified to add the "referral" property,...

862 10/24/2001 10:53 AM berkley

added new permission 'changepermission' and made 'all' inclusive for all permissions

859 10/22/2001 04:06 PM berkley

fixed access control bug. the character data in the sax parser was not getting trimmed and causing problems. also fixed hard coded eml-dataset public id in the web index file

852 10/21/2001 05:51 PM Matt Jones

Updated metacat login semantics. Now, metacat assumes the username passed
in is the 'full' distinguished name of the user. If that fails, then
instead it tries looking up the string and seeing if it can determine
what the DN is, then uses it. The preferred method of logging in via...

847 10/19/2001 02:50 PM Matt Jones

Fixed the function to return the max id for a given scope. Now the function
takes a parameter named 'scope' and returns the largest docid that has been
used under that scope in this metacat instance (it used to return the most
recently created docid, which is clearly different). For compatibility with...

846 10/19/2001 10:34 AM berkley

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

845 10/18/2001 04:57 PM Matt Jones

Fixed problem with metacat handleReadAction where the OutputStream from the
response object was closed and an attempt to reopen a PrintWriter was made
on the same response, which is illegal. Now the OutputStream is converted
to a PrintWriter in order to write the XML error message back to the client....

842 10/02/2001 11:51 AM bojilova

fixed to get groupnames for a user using any identifying name

840 09/24/2001 10:55 AM bojilova

for action=servercontrol&subaction=add
added function for downloading of the certificate file
from the specified URL of the source server
and uploading it onto this server

837 09/20/2001 01:14 PM bojilova

changes in replication to use https

836 09/17/2001 12:51 PM bojilova

fix around one way replication:
when server A sends document to the servers in its list of replication servers with replicate=1 in xml_replication table,
the server B received the document does NOT need the opposite check on its end.

835 09/17/2001 10:57 AM bojilova

fixed error:
writing on the replication server required the whole acc# (including the rev#)

834 09/17/2001 10:01 AM Matt Jones

Fixed bug in metacat where an Exception was thrown when a search returned
an empty resultset. Now we avoid the function call that threw the exeption.

832 09/14/2001 04:00 PM Matt Jones

Added support for multiple user interfaces by enabling style sheet
transformations to be configured from within metacat rather than
from in the database. Now, metacat uses the qformat parameter to determine
a "style set", which is mapped to an xml configuration file that...

831 09/14/2001 11:59 AM bojilova

small fix to enable resolving external entities included in the DTD;
external entities are now resolved successfully by DBEntityResolver using the specified system ids
and thus there no need of registering the relative system ids,
This is because EntityResolver uses its internal implementation to map the relative system ids to the...

830 09/13/2001 10:28 PM Matt Jones

Removed the requirement that the relationship for ACL associations be
"isRelatedTo". Now the relationship in the triple can be anything, like
"describes access control rules for". This doesn't affect the ACL
processing because it is based on the ACL document type, not the...

826 09/12/2001 02:49 PM bojilova

changes to store namespace prefixes separately from the local names of nodes (elements and attributes)
in xml_nodes.nodeprefix column

822 08/16/2001 10:48 AM Matt Jones

Revised build.xml and to make it easier to
install alternative stylesheets for metacat. In the process,
replaced the deprecated copydir and copyfile commands in build.xml
with appropriate "copy" commands.

821 08/15/2001 01:38 PM bojilova

added support for Namespaces.
Metacat now can store and retrieve XML documents with Namespaces.
Namespace is stored as separate record in xml_nodes table with type "NAMESPACE"
where nodename is the prefix and nodedata is the uri of the namespace.

820 08/08/2001 05:07 PM bojilova

fixed an error of NullPointerException

819 08/08/2001 12:56 PM bojilova

- when the Access file goes first before the Package file (eml-dataset-2.0)
relations are not available in xml_relation, thus updated the code
to check and run ACL also after the Package file is saved.
- cut out the rev# from subject and object in xml_relation as needed by ACL...

818 08/02/2001 10:29 AM berkley

fixed error with out of cursors error because pstmts were not getting closed in DBQuery

815 07/31/2001 07:34 PM bojilova

look for relationship "isRelatedTo" b' that is the word that is used in the triples

804 07/23/2001 09:28 AM bojilova

fixed the compilation bug about the change of group parameter in DocumentImpl.write()

802 07/20/2001 09:03 PM bojilova

added support for multiple group membership

801 07/20/2001 03:19 PM Matt Jones

Changed the constructors so that the nodeRecordList is automatically
retrieved by the DocumentImpl(Connection,String) constructor. this
restores its earlier behavior, but the implementation is totally
done by DocumentImpl(Connection,String,boolean).

800 07/20/2001 11:23 AM Matt Jones

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 be
read a t the time the cosntructor is called. if false, then...

799 07/19/2001 02:20 AM Matt Jones

Completely removed the socket-server feature that used to provide
file upload. It is now replaced by multipart/form-data over http.

798 07/19/2001 01:52 AM Matt Jones

Modified Metacat to support large data file uploads. This is accomplished
by supporting a new content type for data sent to metacat:
which allows multiple files to be sent in a standard MIME format. The
MetacatServlet.handleGetOrPost() method now checks the incoming content...

797 07/17/2001 07:58 PM bojilova

Simplified ReplicationHandler:
It is run now in the same thread started from DBSAXHandler;
thus the same connection opened in that thread is used,
i.e. no need for new connection and no complains as "Connection is closed" in ReplicationHandler;
"Connection is closed" error happens when in the current thread there are try to use connection opened in another thread,...

795 07/17/2001 09:20 AM bojilova

support for the new terms included in pathquery.dtd

793 07/16/2001 12:32 PM bojilova
Included utility function about gettig the latest docid for a user:
Metacat parameters:

792 07/13/2001 12:17 PM bojilova

don't need to override the old meta_file_id tags with docid without rev
since Morpho inserts docids before sending the docs to Metacat

790 07/06/2001 11:58 AM bojilova

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.

788 07/05/2001 09:38 AM bojilova

fixed bug - hardcoded LDAP URL

787 07/02/2001 03:06 PM bojilova

made use of the new property for ldaps url;
it is used for secure connection to LDAP server listening on second port 636 by default with SSL sockets;
it is used from Metacat for the authetication process only;
all the rest communications with LDAP server are made on the default port 389 with plain sockets

785 07/02/2001 11:24 AM bojilova

moved delete from xml_relation before delete from xml_documents
because of the parent-child relation b/w these 2 tables

780 06/12/2001 02:56 PM berkley

fixed error with exception handling in metacat servlet and added new dtds to the sql script

779 06/12/2001 10:15 AM bojilova

changes according to bug# 234 - metacat accession # handling, done

778 06/08/2001 12:10 PM bojilova

changed all mentions of DBAdapter to the new name AbstractDatabase

777 06/08/2001 12:02 PM bojilova

changed all mentions of DBAdapter to the new name AbstractDatabase

775 06/08/2001 11:42 AM bojilova

rename the DB* classes to:

774 06/06/2001 01:50 PM bojilova

use the non-null function name from db adapter

773 06/06/2001 01:49 PM bojilova

included new function that returns db specific non-null function name

771 06/04/2001 02:07 PM bojilova

excluded revisionid from the insert statement for xml_revisions.
It is identity column for SQL Server or filled by sequence for db as Oracle or Postgres

770 06/04/2001 01:47 PM bojilova

changed like with =

769 06/01/2001 04:14 PM bojilova

changed ... WHERE ... LIKE ? ...
to ... WHERE ... = ? ...

768 06/01/2001 04:12 PM bojilova

MS SQL Server stores trailing spaces in varchar fields which shouldn't be
thus added docid.trim() in the Java code

766 06/01/2001 01:26 PM bojilova

the ODBC multi-threading problem:
in DBQuery we open ResultSet in the db connection and we are trying to
open another Resultset by AccessControlList which does not work
thus open separate connection for use by AccessControlList.

765 06/01/2001 12:51 PM bojilova

SELECT ... WHERE = ? ...

It should be changed everywhere it is found

764 06/01/2001 12:14 PM bojilova

seems that there are problem in JDBC-ODBC bridge used with SQL Server
when using sql statements like:
changed to:
WHERE = ? ...
and now it works

763 06/01/2001 12:12 PM bojilova

commented out the use of oracle.jdbc.driver
this was harcoded use for batching the sql calls at once in order to speed up the insert of XML Index

758 05/31/2001 05:24 PM bojilova

Changed the order of generating and getting Unique ID for
xml_nodes.nodeid and for uniqueid part of the accession#
because of SQl Server capabilities:
first let the db to generate unique id on insert (by db trigger and sequence or by IDENTITY key),
then get that unique id for further use by the application....

757 05/31/2001 05:18 PM bojilova

- new db adapter for MS SQL Server
- changed the getUniqueID(conn, tableName) to return the last generated by the db unique ID
instead of generating unique ID first by the appl and then supplied to the insert,
because SQL Server doesn't have capabilities
unique ID to be generated on the client and then supplied to the insert.

754 05/24/2001 11:21 AM bojilova

change the call from getDateFunction() to getDateTimeFunction()

753 05/24/2001 11:07 AM harris

changed the getDate method to getDateTime and changed the return
string in the postgresql implementation to "now()" from now()::date

752 05/24/2001 10:21 AM bojilova

change the call from getDateString() to getDateFunction()

751 05/24/2001 10:20 AM bojilova

change the method name getDateString() to getDateFunction()
return "now()::date" in the DBPostgresql implementation of that method

750 05/24/2001 09:01 AM harris

The Postgres implementation of the dbadapter package, still needs testing and
the getDate... method just returns the db function to return the date; to retreive the
current time is a second function so we may want to add a second method to return the
current time.

747 05/23/2001 03:19 PM bojilova

- changed to use the DBAdapter uniform interface for all apperance of "sysdate"
and uniqueid generation from sequence
- reads from the dbadapter class implemented the interface
and creates an instance of that class (in static public variable named dbAdapter) for use....

746 05/23/2001 03:06 PM bojilova

the abstract DBAdapter class and its Oracle implementation
for the new dbadapter package

745 05/22/2001 03:24 PM Matt Jones

Fixed bug in metacat where return doctypes were not being properly
back traced. Changed DBQuery.findDocuments() so that it no longer
takes a returndoc array, but instead retrieves the returndoc array
fromthe QUERYSpecification. The QuerySpecification was augmented...

744 05/21/2001 02:30 PM Matt Jones

Added ability to process multiple "returndoc" elements in
a pathquery document. Now, any query hit will be back traced to an
associated package if that package is listed in one of the
"returndoctype" elements.

743 05/21/2001 01:51 PM Matt Jones

Modifications that change the package handling behavior of metacat. Package
membership is now determined by an identifier being used as either the subject
or object in a triple. One can not request arbitrary returndocs -- only
those types that have package information embedded can be "returndoctype"...

742 05/16/2001 09:45 AM bojilova

fix in the return of the last revisionid on UPDATE instead of the previous one