In accessQuery, permission=READ or permission=ALL was added for both allow rule and deny rule.
Create a shortcut for the query to get user's onwer doc lists. Create a private method named getOwnerQuery. If the coming query equals the owner query, the access permission checking would NOT append to the comming query. Because the owner has all permission.
Add three private method: createOwnerQuery, createAllowRuleQuery and createDenyRuleQuery. And three public methods: setUserName, setGroup and getAccessQuery.
Add the checking permission query into orignal query.
Add code to make sure that a DBConnection checked out is auto commit.
Add some debug message for displaying search time.
Delete the code for permission checking in execute extened query. It was redundant. Add some debug message for displaying search time.
This script file will add columns to xml_replication table in production metacat.
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.
Add a new method shrinkConnectionPoolSize .
Add a new method to shrink DBConnection pool size.
Merge DBConnection branch to head.
Merger DBConnect branch to head.
Merge branch to head.
Change back to Connection. DBConnection will store in cvs branch..
Change back to Connection. DBConnection will store in a cvs branch.
Change back to using Connection. The DBConnection will be store in a cvs branch.
Change to using Connection back rather than DBConnection. DBConnection will be store in a cvs branch.
Add a new method commit.
Change the API for dbAdopter.
Change back to pass Connection a parameter.
Change back to pass connection as parameter.
Change back to pass connection as a parameter. Because new connection will cause an error.
Change back to pass connection as paramter in getUniqueID, otherwise new connection will cause a error: sequence XML_NODES_ID_SEQ.CURRVAL is not yet defined in this session
Add a new method - createStatement.
Correct the parameter of getDBConnection - methodName in code.
Change for every method to use getDBConnection and returnDBConnection to manage DBConnection.
Using getDBConenction rather than pass connection as parameter.
Using getDBConnection rather than pass connection as a parameter.
Using getDBConnection method rather than a parameter.
Change the prototype of method getUniqeID
Add DBConnectionPool object in servlet's init method and DBConnectionPool's release method in servlet's destory method.
Delete connection as a class field and make every method to check in and check out connection if it need.
Make a every method check in and check out DBConnection if this method need a connection.
In returnDBConnection method, a new parameter named serialNumber was added. It will compare to the checkOutSerialNumber in DBConnection.
Add a new attribute named checkOutSerialNumber, which to make sure when DBConnection would not be check in mutiple times.
Add the code to handle error in the respone for a update request.
Add test ssl work or not in handleUpdateRequest method too.
Change code to handle the error message.
Add error message to outPut in catch clause in handleGetDocument Request.
In update method, add code to handle if a user couldn't pass a trusting test.
Add a test action in replication. Before handle read and read data file action. Metacat will take a test to see if the trust key in key store. If not, wouldn't replicate documents.This is security issue.
Add debugMessage level in this class
Add a method getDBConnection. In this method, method name of method which checked out the connection can be passed to DBConnection object. In run() method, if a connection is checked out for too long (30 seconds), the method name and connection name will be print out.
Add a attribute named checkOutMethodName and relative method. This variable can keep track which mehod check out the DBConnection.
Add some new methods into this class.
Add some new methods in this class.
Add some new methods in it. Remove openDBconnection part to DBConnection class.
Add some new attributes and methods in it.
Add a new class named DBConnectionPool. This class will create DBConnection pool and other user can get or return connection to it.
Add this new class into meta package. DBConnection class repsent a conncetion and its information.
Add setCookie method in this class. Junit test class need this method.
Add a access control for MetaCatServlet to update a document which home server is not local metacat.
Add a control to accept data or not
Add two controls to send or accept data.
Add control to send data or not
Add two control for send or accept data file
In writeDocumentToDB method, during insert action, rev value can be assigned too. It is useful for replication.
Revised update method.
Add a control to get data file granted in handleUploadMethod.
Revised the method writeDataFile, writeReplication and writeToDB
Revise Update method.
Apply DocumentImp.writeReplication and DocumentImp.writeDataFile in deltaT replication
Fixed some db connection problem
Fixed some db connection bug.
Delete a some useless code for connection pool
Fixed some DB connection bug.
Assign debug level to parser. (it level is 50)
Use DocumentImpl.getDocHomeServer method to get home server in method handleGetDocumentInfo
Change the method getLocalReplicationServerName to be static
Add the feature to get doc home server into method getDocumentInfo.Add a method to return docHomeServer.
Fixed a bug in method getHomeServer
Revise the method getDocumentInfo. Home server of documnet is added in it.
Revised handleUploadRequet.
Add three methods into this class. One is named getServerCode, to given a server name, it return server code in xml_replication table.One named insertServerIntoReplicationTable, if a server is not in the server list, it will insert it.One is named WriteReplication, this method will be used in forceReplication. It delete the replication code in it.
Delete the control that when action="insert", rev should be 1
Overload a method debugMessage(String msg, int debugLevel)User can set a debugLevel for this message. If debugLevel is less than the default a value in build.xml, this message will be printed.If user set a value less than or equals 0, debugLevel will be set automatically to 1. So we can set default value to 0 in build.xml file and close all debug message.
Add two methods getHomeServer and getServerLocation. Given a docid, getHomeServer can get the information of its home host. Given a docid, getServerLocation can return server code for it.
In handleUpdateRequest method, if a metacat was configured to be hub super, it can provide any documents in its database. If the metacat is notsuper, it only provide the documents list which home host is itself.
Adding a hub control to data file in handleUpLoad method. Data file was changed can be replicate to all server or only home host.
Add a hashtable - server list as a class variable. So programmer have a control to the server list which will be forced to replicate.
Add a hub control in write and writeData method. If hub==super, metacat can replicate any document in its database to any server in server list. If it is not super, metacat only replicate local documents to any server in server list. If a document' home host is not itself, metacat only force replicate the document to the document's home host.
In update method, adding some code to handle replicate data file. Fixed the bug in deleting documents.
Making parser to handle datafile attribute in parsing updated doclist.
Add a new attribute in updated doc list: data file. So from this attribute, we can tell which document is a data file.
In writeDataFile method, using getDataFileLockGrant(docid) replace getDataFileLockGrant(docid, serverCode). The latter will cause a problem
Add two controls for handle replication server list is empty and updated document list is empty
Using DocumentImpl.writeDataFile method in handleReplicateDataFileRequest. Make code simple.
Add a control to handle if the server list is empty.
Add a method named writeDataFile. This method will register data file into xml_documents table and save a input stream to a file.
Adding a new feature that in uploaddatafile that the datafile can be replicated.
Adding a control which can turn on or off replcation data file.
Add method getDataFileLockGrant(). This method will check if xml-document of data file can be store into database.
Add two method: handleGetDataFileRequest and handleForceReplicateDataFile. The two methods will handle data file replication.
Adding handle force replication data file part.
Add a new method named unRegisterDocument. This method will delete the record in xml_document table which is for a data file
Figure out the configuration issue about replication. If metacat was configured to set replication off in build.xml, it will reject replication.
Adding a method named handleGetDataFileRequest. User can download data file from replcication now.