changed some values for the release
updated data directory note
When Metacat installed, it can automatically create data directory for data file.
updated build file. fixed the dist target so it doesn't copy the build directory into the distro.
fixed auth bug
Adding a note for user. The user should make a directory under 'webapps/context/'.The user should have write permission for this directory.
updated for 1.1.0
Update the install instruction.
changed version number from 1.1 to 1.1.0
fixed some things for release 1.1
Change description for access control in readme file from "aplly" to "not aplly".
changed some minor points in the readme.
Update README for 1.1 release.
updated authldap to get the groups to work (king of)
Change every "http://server to "systemidserver". It will look like:INSERT INTO xml_catalog (entry_type, public_id, system_id) VALUES ('DTD', '-//ecoinformatics.org//eml-software-eml-version//EN', 'systemidserver@html-path@/dtd/eml-software-eml-version.dtd')
server
systemidserver
eml-version
Change every "http://server" in target to "systemidserver". It will looklike that:<targetpublicid="-//W3C//HTML//EN">systemidserver@style-path@/resultset.xsl</target>
Add a property named systemidserver, its value="http://host.domainname:8080" Add a token named systemidserver too.
Method getGourps was revised. Attributes variables were set there. Other wise, when it caught a referral exception and started a thread, this will caused a exception problem. When string array groups were returned by method getGroups in getPrincipals method, we should check if the groups is null or not. Otherwise it will cause a exception problem. This revise is for bug 445.
In hasPermission method, a situation was considered: if no user and group, the permssion will be true. This is for the command line invocation.
This is sample JUnit test file for MetacatURL class. In this file, getProtocol, toString and getParam methods are tested.
This script file can run serials queries and print out the running time.
In order to test query performance. We need add lots of documents to database. This script file can add couple documents to database by for loop.
Add a target - test in the file. Now user can type "ant test" to run the test class extends from JUnit.
Method endElement in AccessControList was revised. A feature that put access document itset into xml_access was added.
In hasPermission method, a rule for access document is implements. If user want to write a access document, it should hhave "all" permission.The permission for access document now is looking up in xml_access table directly, rather get same permission to data set document.
In order to increase data file docid, method registerDocument was revised. Now it not only insert a new data file record to xml_documents table, but also can update the data file documents. Moreover, it can archieve the old version to xml_revisions table. Two other private methods were added to handl these futures: deleteXMLDocuments and getLatestRevisionNumber.
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
We decided that the permission for a user to an access documents is as same as to the data set document(which contains the access document). In order to do this, we need to look-up xml-relation table. If we could find the data set document id, just check the id. If we couldn't find one, we need check if the user is owner. If it is, has permission. Otherwise, doesn't have.
Add a new method getDataSetId to the class. The permission policy for access documents is: the user will have the same permission as data set file. (There is no entry in xml_access table for access document.
Add a throwing exception in hasPermission and hasReadPermission methods.
Add a throwing exception in haspermission method.
A constructor for this class was added. In the new constructor, user can specify the revision number he want to update. In method writeDocumentToDB, when a update action happend, the rev number would not automatictlly to add one, but it can go to specified number. This is for bug 417.
A constructor was added to this class. In this constructor, user can specify the revision number he want to update. And the number can be passed into a DocumentImpl object constructor in startElement method. But the number should be greater than current number in database.
A method named getLastRevisionNumber was added. And condition for checking accession number was revised too. Now metacat wouldn't refuse a revsion number which is 2 or more greater than current revision number in the database. This is for bug 417.
Access document was added to exported data package too.
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).
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.
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.
Only delete some incorrect comment.
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.
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 method named hasReadPermission was added. The method will check if a user has permission toread a xml document.
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.
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.
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...
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.
A method named transformXmlDocument were overload. It transform an XML document to StringWriter using the stylesheet reference from the db.
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.
A property named "morpho" was added. It is the path for morpho.jar. (Now, in DBQuery class some morpho package class are used). Morpho was added to cpath too. During the "install", morpho willbe copy to the target too.
In QBQuery class some classes - Triple and TripleCollection, which come from morpho package wereused. So morpho.jar was added to metacat libray. The reseaon to use these class is xml document need to be parsed and get docids' relationship.
Adding the style sheet of html file in zip data package for morpho to metacat.So the html summary file can have the same style in morpho and metacat zip package.
Adding a new doctype and its publicid="-//NCEAS//eml-generic//EN".It connects http://server@style-path@/generic-morpho.xsl.So the html files in zip data package have the same style sheet for both morpho and metacat.
Some code format problem was fixed.
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.
Removed an obsolete filter fromthe build.xml file.
Updated installation instructions to reflect the new procedures involvedwith the changes to build.xml.
Modified the build.xml file to make it easier to set up the configuration.There is now a "config" target in which all of the properties that are usuallymodified are located. Also, now one sets the location of tomcat and thewebapps dir, and chooses a name for the tomcat context, and everything else...
Authentication bug was fixed (bug 408).However, it needs to test if referral cotaining a referral.
xerces.jar was update to 1.4.4
Please check it.
In order to fix bug 408 (authentication), some important variables' valueswere followed.
took my password out of the build file
integrated the postgres and oracle properties into one build file. now, if you want to switch between oracle and postgres, you just change the 'depends' attribute in the 'init' target. also, I fixed the path to the servlet.jar file to match up with where tomcat now stores it (lib/common/servlet.jar instead of lib/servlet.jar).
Modified the build file to point at the proper eml directory so that the"getdtd" target can find the right files to be checked out.
Committed changes to the build file so that it properly copies the Xalanjar files instead of the oracle xml parser which has been eliminated.
Added qformat parameter for switching css stylesheets.
Fixed bug in login.xsl that was preventing a successful xslt transform. Nowsuccessful logins redirect correctly, unsuccessful ones redirect to thelogin page again.
Set the qformat parameter so the stylesheets can use it for conditionalprocessing.
Added new stylesheets for displaying the eml-attribute and eml-entity modules.
Changed the link urls in the eml-dataset display stylesheet to use thedefault style-set as set in the build file rather than hard-coding thevalue 'html'. This allows more flexibility in switching styles, for examplewhen setting up the marine, nrs, and obfs sites.
fixed error with dist target so that it now copies the source correctly
updated all of the returndoctypes so that emlbeta4 and emlbeta6 will show up in the resultset.
fixed error I introduced when I got postgres working
changed dtd dir
changed the datadir again
changed datadir variable from install-dir to installdir
removed old properties
fixed minor error
made postgres db name independent from my name
we no longer need this jar file. all of its functionality was replaced by xalan.
jar files for xalan
updated metacat so that the xmlparserv2.jar file is no longer needed. replaced all of teh oracle xml processing with xalan and xerces.
fixed typo in web.xml file
updated the web.xml file. took out download servlet and marineservlet.
jar files needed for metacat.
created dummy versions of the oracle and postgres build files
readded the oracle stuff to te build file
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.
updated postgres sql script so that it creates the same table structure as the oracle script. removed a bunch of \t tabs that were messing things up
removed because this is no longer used. it was causing a compile error when using postgres because it directly imports the oracle driver.
updated for new release
fixed bug with ampersands in the returned relations in the resultset.
added a manual timeout to counteract the hideously long ldap time out that is encountered when a referred ldap server is down.
fixed a couple bugs with doctypes that I found while setting up a demo
new README for 1.0.2
new build file with updated release number