[kepler-dev] Kepler startup actions (why all the clone methods calls?)

Dan Higgins higgins at nceas.ucsb.edu
Thu Mar 15 12:24:46 PDT 2007


Hi All,

    I have been struggling with trying to modify the 
DarwinCoreDataSource actor to do searches inside a workflow rather than 
just under the Data tab on the left of the Kepler window. In doing so, I 
have found some strange effects apparently due to our building the actor 
list from the kar files.

    I added a 'System.out.println' statement to the attributeChanged 
method of the DarwinCoreDataSource actor that printed all attributes 
sent to the method. Amazingly, when Kepler is started,  the 
attributeChanged method gets called over 100 times!!! (and this is just 
with opening the default blank screen, not with a workflow that actually 
uses the DarwinCoreDataSource actor).  So what is calling this method?

    I added a clone method to the DarwinCoreDataSource actor source that 
just called super.clone and printed  a message. The result --- during 
startup the 'clone' method got called 15 times! So it appears that the 
clone() method is triggering the calls to attributeChanged.

    It seemed that the moml in the kar file for the DarwinCoreDataSource 
actor might be causing 'clone' to be called (as part of parsing this 
moml?) In that moml, there are 4 property values that set semanticType 
information; an example is

<property name="semanticType00" 
value="urn:lsid:localhost:onto:1:1#ExternalInputActor" 
class="org.kepler.sms.SemanticType"/>

If I remove those 4 property declartions (and rebuild the kar files), 
all the calls to 'clone' disappear! (as well as most calls to 
attributeChanged)

    So I conclude that something in the semantic processing is causing 
(most) of the 'clone' and 'attributeChanged' calls that occur on 
startup. Anyone understand why this occurs?  [No wonder Kepler startup 
is slow if we are getting multiple clone operations on every one of the 
actors!!]


Dan

-- 
*******************************************************************
Dan Higgins                                  higgins at nceas.ucsb.edu
http://www.nceas.ucsb.edu/    Ph: 805-893-5127
National Center for Ecological Analysis and Synthesis (NCEAS) Marine Science Building - Room 3405
Santa Barbara, CA 93195
*******************************************************************



More information about the Kepler-dev mailing list