[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