[kepler-dev] about the libraryModels variable in org.kepler.objectmanager.library.LibraryManager class.

Jianwu Wang jianwu at sdsc.edu
Thu Oct 7 15:44:27 PDT 2010


  Hi Sean,

     I have a question about the libraryModels variable you added in 
org.kepler.objectmanager.library.LibraryManager class.

     It saves EntityTreeModel objects with key as filterKeyword, and the 
EntityTreeModel objects will be reused for the same filterKeyword. When 
a new Kepler window is open, the function EntityTreeModel 
getTreeModel(String filterKeyword) will be called with 'null' for 
filterKeyword. So the same EntityTreeModel object is used by multiple 
Kepler windows and can not be released after closing some windows. It 
brings memory leaks.

     I simply removed the libraryModels variable and created a new 
EntityTreeModel object in the function EntityTreeModel 
getTreeModel(String filterKeyword). My tests so far haven't show the 
differences for Kepler functionality and the memory leak is gone. You 
can find my changes from the attachment.

     I don't know the reason of your initial design. So your feedback on 
my changes are welcome. Thanks.

-- 

Best wishes

Sincerely yours

Jianwu Wang
jianwu at sdsc.edu

Assistant Project Scientist
Scientific Workflow Automation Technologies (SWAT) Laboratory
San Diego Supercomputer Center
University of California, San Diego
San Diego, U.S.A.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: LibraryManager.java
URL: <http://mercury.nceas.ucsb.edu/kepler/pipermail/kepler-dev/attachments/20101007/ee4fc1d8/attachment-0001.ksh>


More information about the Kepler-dev mailing list