Originally, when parsing through documents in a Lotus Domino agent, we obtained a view of all the documents and parsed through them one by one to see if the document met certain criteria. Our new solution is to use DocumentCollections instead and to perform a search statement on the DocumentCollection. This results in a more concise list of documents that meet the desired criteria. Performance is considerably increased because the Lotus Domino search function parses through the data much faster than any parsing code using 'if', 'while', and 'for' loops.
Here is an example of how documents were parsed through in the past (assume that the database has already been declared):
View productView = db.getView("Products");
Document productDoc = productView.getFirstDocument();
//Parse through the productDoc using if, while, and for loops to
//see if it meets the desired criteria......
//After finding a matching productDoc, alter or retrieve information
productDoc.getNextDocument();
Here is an example of how a DocumentCollection and the search function can be used to speed up performance:
DocumentCollection dc = db.search("SELECT (Form = ""Product Form"") &
(NumRoomsAvailable = " + 0 + ")");
Document productDoc = dc.getFirstDocument();
//No need to parse documents, since all documents meet criteria
//Alter or retrieve information
productDoc.getNextDocument();
Dan Boyum is a Software Engineer on the Business Solution Test team located at the Rochester, Minnesota, laboratory. He has 2.5 years of experience in the software testing field. His areas of expertise include Lotus Domino and Windows servers on iSeries. Dan can be reached at
Marilyn Dukart is an Advisory Software Engineer on the Business Solution Test team located at the Rochester, Minnesota, laboratory. She has over 15 years of experience in the software testing field. Her areas of expertise include Lotus Domino and WebSphere. Marilyn can be reached at
LATEST COMMENTS
MC Press Online