[kepler-dev] The best way to check in new versions of actors?

Christopher Brooks cxh at eecs.berkeley.edu
Mon Nov 8 15:53:37 PST 2004

ptolemy.moml.filter has filters that we use to provide backward
compatibility for port changes etc.

Perhaps kepler could have a set of filters as well?

ptII/ptolemy/actor/gui/MoMLSimpleApplication.java uses the filters
like so:

    public MoMLSimpleApplication(String xmlFileName) throws Exception {
        MoMLParser parser = new MoMLParser();

        // The test suite calls MoMLSimpleApplication multiple times,
        // and the list of filters is static, so we reset it each time
        // so as to avoid adding filters every time we run an auto test.

        // We set the list of MoMLFilters to handle Backward Compatibility.

        // Filter out any graphical classes.
        parser.addMoMLFilter(new RemoveGraphicalClasses());

You could add your own filters to an application class.  Probably the
best thing would be if there was an attribute in the configuration
that was checked.  If the attriabute was present, then it would
name a class that returned a list of filters to be added.
ptolemy/actor/gui/GenerateCopyrights.java does something similar.

BTW - This is where tests pay off big.  I've found that creating
non-graphical tests for the graphical demos often finds backward
compatibility problems.

In general, it is best to do changes to actors as soon as possible so 
as to get the pain over with promptly.



    I have updated the CommandLine actor to accept the command also from an 
    input port. (I made the command a PortParameter.)
    I didn't want to check it in yet as there are some workflow that use 
    this actor, and checking in this change will break all of them until 
    they are updated again.
    I was wondering what the best way to do updates like this would be? 
    Should I make a new version of the actor with a new name for a while?
    Another thing would be to search for workflows that use this actor 
    somehow, test them and update them all with the new version of the 
    Any ideas?
    kepler-dev mailing list
    kepler-dev at ecoinformatics.org

More information about the Kepler-dev mailing list