[kepler-dev] extending Ptolemy's moml filters

Christopher Brooks cxh at eecs.berkeley.edu
Mon Jun 2 14:02:19 PDT 2008


Hi Daniel
alljtests.tcl is created by make.  I've included
moml/filter/test/alljtests.tcl below.

--start--
# CAUTION: automatically generated file by a rule in ptcommon.mk
# This file will source all the Tcl files that use Java. 
# This file will source the tcl files list in the
# makefile SIMPLE_JTESTS and GRAPHICAL_JTESTS variables
# This file is different from all.itcl in that all.itcl
# will source all the .itcl files in the current directory
#
# Set the following to avoid endless calls to exit
if {![info exists reallyExit]} {set reallyExit 0}
# Exiting when there are no more windows is wrong
#::tycho::TopLevel::exitWhenNoMoreWindows 0
# If there is no update command, define a dummy proc.  Jacl needs this
if {[info command update] == ""} then { 
    proc update {} {}
}
#Do an update so that we are sure tycho is done displaying
update
set savedir "[pwd]"
if {"BackwardCompatibility.tcl GRColorChanges.tcl ActorIndex.tcl MultiportToSinglePort.tcl RemoveGraphicalClasses.tcl" != ""} {foreach i [list BackwardCompatibility.tcl GRColorChanges.tcl ActorIndex.tcl MultiportToSinglePort.tcl RemoveGraphicalClasses.tcl] {puts $i; cd "$savedir"; if [ file exists $i ] { if [ catch {source $i} msg] {puts "
WARNING: Sourcing $i resulted in an error,
so we are incrementing the error count.
The error was: $msg
"; incr FAILED}}}}
puts stderr dummy.tcl
cd "$savedir"
if [ file exists dummy.tcl ] { if [catch {source dummy.tcl} msg] {puts "
WARNING: Sourcing dummy.tcl resulted in an error,
so we are incrementing the error count
The error was $msg
"; incr FAILED}}
catch {doneTests}
exit
--end--

Basically, alljtests.tcl contains the .tcl files that have tests in
them and that should be sourced.  At the end, it runs "donetests"
which shows us how many tests failed.

To run the tests, try 
  cd $PTII/ptolemy/moml/filter/test
  make

To run them by hand:
  cd $PTII/ptolemy/moml/filter/test
  make alljtests.tcl
  $PTII/bin/ptjacl
  source alljtests.tcl


More info about the tests can be found in $PTII/test/testDefs.tcl

Ptjacl is based on an earlier version of Jacl.  The sources are
in a cvs repository on bennett.  I can see about moving them to
source.

I have not run ptjacl on a Mac, but this problem seems to be a path
problem.  It could be related to the path separators.  However, make
sure that ../../../../util/testsuite/auto.tcl
exists from the directory where you are running the tests.


cxh at carson 81% cd ~/ptII/ptolemy/moml/filter/test
cxh at carson 82% ls -l ../../../../util/testsuite/auto.tcl
-rw-r--r--   1 cxh      labstaff    3509 Mar 26 02:23 ../../../../util/testsuite/auto.tcl
cxh at carson 83% 

_Christopher


--------

    This is a multi-part message in MIME format.
    --------------030708080700040800030204
    Content-Type: text/plain; charset=ISO-8859-1; format=flowed
    Content-Transfer-Encoding: 7bit
    
    
    Hi Christopher,
    
    I am interested in creating these tests, but there appears
    to be problems with ptjacl.jar. Attached is the output from
    'make tests'. I believe the relevant messages are:
    
    CLASSPATH="../../../..:/Users/crawl/k/ptII/vendors/jython/jython.jar:/Users
   /crawl/k/ptII/lib/ptjacl.jar" 
    "/usr/bin/java" -Xmx500M  "-Dptolemy.ptII.dir=/Users/crawl/k/ptII"  
    tcl.lang.Shell alljtests.tcl
    couldn't read file "alljtests.tcl"
    CLASSPATH="../../../..:/Users/crawl/k/ptII/vendors/jython/jython.jar:/Users
   /crawl/k/ptII/lib/ptjacl.jar" 
    "/usr/bin/java" -Xmx500M  "-Dptolemy.ptII.dir=/Users/crawl/k/ptII"  
    tcl.lang.Shell ../../../../util/testsuite/auto.tcl
    couldn't read file "../../../../util/testsuite/auto.tcl"
    
    What version of jacl does ptjacl.jar use? (Is the source for
    ptjacl available?) If I replace ptjacl.jar with one I built
    from jacl 1.4.1, the tests run, but several fail (see attachment).
    This could be due to not having the Ptolemy localizations.
    Have you used ptjacl on a Mac?
    
      --dan
    
    
    Christopher Brooks wrote:
    > Hi Daniel,
    >
    > Thanks, your changes look good!  Many thanks for following the Ptolemy
    > coding style.  The only change I made was that in
    > PropertyClassChanges, the remove and put methods were not
    > alphabetical.  This could have been a pre-existing condition, I did
    > not check.
    >
    > I considered adding a interface called MappedMoMLFilter, that would
    > extend the MoMLFilter interface and add these methods:
    >
    >   public static void clear();
    >   public void put(String className, HashMap portNameMap);
    >   public void remove(String className);
    >
    > However the filter seemed odd, since the put() methods are a putting a
    > classname and HashMap, which seems very filter specific and might be
    > hard to explain in documentation for the MappedMoMLFilter.  If we get
    > more MoMLFilters like PortNameChanges and PropertyClassChanges, then
    > maybe we should add an interface.
    >
    > It looks like there are no tests for these new methods, see
    > http://chess.eecs.berkeley.edu/ptexternal/nightly/coverage.html#ptolemy.m
   oml.filter
    > If you are feeling daring, you could add tests by adding 
    > moml/filter/test/PortNameChanges.tcl and PropertyClassChanges.tcl
    > and creating Unit tests.  If you do this, you would also need to
    > edit moml/filter/test/makefile and add the new .tcl files.
    >
    > How I would test these is by looking at BackwardCompatibility.tcl and 
    > creating a small piece of MoML that gets filtered with and without
    > put(), remove() and clear() called.
    >
    > Thanks again for adding these methods.
    >
    > _Christopher
    >
    >
    > --------
    >
    >     
    >     Developers,
    >     
    >     There are now Kepler-specific moml filters that rely on these
    >     new accessor methods. You will probably need to update your
    >     Ptolemy CVS.
    >     
    >     Thanks,
    >     
    >       --dan
    >     
    >     
    >     Christopher Brooks wrote:
    >     > Hi Daniel,
    >     >
    >     > I'd prefer to see accessor methods added instead of making the Hash
   Map
    >     > public.  The reason is that information hiding is, in general, good
   .
    >     >
    >     > RemoveGraphicalClasses has
    >     >
    >     > public static void clear()
    >     > public void remove(String className)
    >     > public void put(String className, String replacement)
    >     >
    >     > I've used these methods for some time and it has worked out.
    >     > I might be good to have an accessor method that would return 
    >     > probably a copy of the HashMap, but I have not needed it.
    >     >
    >     > If you want, you could add similar methods to the filters in which 
   you
    >     > are interested.  It might make sense to add these methods to the
    >     > MoMLFilter baseclass.  However, I don't think all MoMLFilters have
    >     > HashMaps, so it might not make sense.  Though we could add an
    >     > interface that had these methods defined
    >     >
    >     > If you are willing to make the changes in the Ptolemy style, then I
    >     > could give you write access to the Ptolemy II tree and you could ad
   d
    >     > them.  To do this, go to
    >     > http://chess.eecs.berkeley.edu/options
    >     > and request a  CVS account.
    >     >
    >     > If you go the route of updating the Ptolemy II tree, then you could
    do
    >     > what Chad usually does, which is drop me a line before and after he
    >     > makes changes.  This is somewhat optional, but it helps me keep tra
   ck
    >     > of what is going in and I tend to sometimes review the changes and 
   see
    >     > if there are other places similar changes should go.
    >     >
    >     > _Christopher
    >     >
    >     >     
    >     >     Hi Christopher,
    >     >     
    >     >     I would like to use Ptolemy's backwards-compatibility moml filt
   ers
    >     >     to provide the same functionality for Kepler. However, the Hash
   Maps
    >     >     that contain the changes for each filter are private. What do y
   ou
    >     >     think of making these protected or adding a public method to up
   date
    >     >     them?
    >     >     
    >     >       --dan
    >     > --------
    >     >   
    >     
    >     _______________________________________________
    >     Kepler-dev mailing list
    >     Kepler-dev at ecoinformatics.org
    >     http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-
   dev
    > --------
    >   
    
    
    --------------030708080700040800030204
    Content-Type: text/plain;
     name="tests-jacl1.4.1.txt"
    Content-Transfer-Encoding: 7bit
    Content-Disposition: attachment;
     filename="tests-jacl1.4.1.txt"
    
    making tests in ptolemy/moml/filter/test
    ../../../../adm/dists/ptII1.0.1 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII1.0.1 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII2.0.1 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII2.0.1 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII3.0.2 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII3.0.2 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII4.0.1 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII4.0.1 does not exist
    skipping compatibility tests
    Removing the following HDE demos:
    grep: compat*/*.xml: No such file or directory
    rm -f `grep HDEDirector compat*/*.xml | awk '{split($1, f, ":"); print f[1]
   }'`
    grep: compat*/*.xml: No such file or directory
    CLASSPATH="../../../..:/Users/crawl/k/ptII/vendors/jython/jython.jar:/Users
   /crawl/k/ptII/lib/ptjacl.jar" "/usr/bin/java" -Xmx500M  "-Dptolemy.ptII.dir=
   /Users/crawl/k/ptII"  tcl.lang.Shell alljtests.tcl 
    BackwardCompatibility.tcl
    testDefs.tcl: setting time out to 6000 seconds at Mon Jun 02 11:41:14 PDT 2
   008
    
    
    ==== BackwardCompatibility-1.1 Const: added an _icon
    ==== Contents of test case:
     
        # This test is sort of pointless, since we add the Const _icon
        # and then remove it.  If we don't remove, this test will not run under
        # the nightly build
        
        set parser [java::new ptolemy.moml.MoMLParser]
    
        # The list of filters is static, so we reset it in case there
        # filters were already added.
        $parser setMoMLFilters [java::null]
        $parser addMoMLFilters  [java::call ptolemy.moml.filter.BackwardCompati
   bility allFilters]
    
        $parser addMoMLFilter [java::new  ptolemy.moml.filter.RemoveGraphicalCl
   asses]
    
        set toplevel [$parser parse $constMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Test generated error:
    no accessible method "setMoMLFilters" in class ptolemy.moml.MoMLParser
        while executing
    "$parser setMoMLFilters [java::null]"
        ("uplevel" body line 10)
        invoked from within
    "uplevel $contents_of_test"
    
    
    ==== BackwardCompatibility-3.1 MathFunction
    ==== Contents of test case:
     
        # This test is sort of pointless, since we add the _icon
        # and then remove it.  If we don't remove, this test will not run under
        # the nightly build
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        set toplevel [$parser parse $mathFunctionMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Result was:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="BackwardCompatibilityMathFunction" class="ptolemy.actor.Typed
   CompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="7.1.devel">
        </property>
        <entity name="MathFunction" class="ptolemy.actor.lib.MathFunction">
        </entity>
    </entity>
    }
    ---- Result should have been:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="BackwardCompatibilityMathFunction" class="ptolemy.actor.Typed
   CompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="2.1-devel-2">
        </property>
        <entity name="MathFunction" class="ptolemy.actor.lib.MathFunction">
        </entity>
    </entity>
    }
    @@@@@ known results is more than 7 lines long, so we run diff
    5c5
    <     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="2.1-devel-2">
    ---
    >     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="7.1.devel">
    child process exited abnormally
    @@@@@ Done running diffText
    ---- BackwardCompatibility-3.1 FAILED
    
    
    ==== BackwardCompatibility-4.1 Scale
    ==== Contents of test case:
     
        # This test is sort of pointless, since we add the _icon
        # and then remove it.  If we don't remove, this test will not run under
        # the nightly build
    
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        set toplevel [$parser parse $scaleMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Result was:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="BackwardCompatibilityScale" class="ptolemy.actor.TypedComposi
   teActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="7.1.devel">
        </property>
        <entity name="Scale" class="ptolemy.actor.lib.Scale">
        </entity>
    </entity>
    }
    ---- Result should have been:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="BackwardCompatibilityScale" class="ptolemy.actor.TypedComposi
   teActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="2.1-devel-2">
        </property>
        <entity name="Scale" class="ptolemy.actor.lib.Scale">
        </entity>
    </entity>
    }
    @@@@@ known results is more than 7 lines long, so we run diff
    5c5
    <     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="2.1-devel-2">
    ---
    >     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="7.1.devel">
    child process exited abnormally
    @@@@@ Done running diffText
    ---- BackwardCompatibility-4.1 FAILED
    
    
    ==== BackwardCompatibility-5.1 TrigFunction
    ==== Contents of test case:
     
        # This test is sort of pointless, since we add the _icon
        # and then remove it.  If we don't remove, this test will not run under
        # the nightly build
    
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        set toplevel [$parser parse $trigFunctionMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Result was:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="BackwardCompatibilityTrigFunction" class="ptolemy.actor.Typed
   CompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="7.1.devel">
        </property>
        <entity name="TrigFunction" class="ptolemy.actor.lib.TrigFunction">
        </entity>
    </entity>
    }
    ---- Result should have been:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="BackwardCompatibilityTrigFunction" class="ptolemy.actor.Typed
   CompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="2.1-devel-2">
        </property>
        <entity name="TrigFunction" class="ptolemy.actor.lib.TrigFunction">
        </entity>
    </entity>
    }
    @@@@@ known results is more than 7 lines long, so we run diff
    5c5
    <     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="2.1-devel-2">
    ---
    >     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="7.1.devel">
    child process exited abnormally
    @@@@@ Done running diffText
    ---- BackwardCompatibility-5.1 FAILED
    
    
    ==== BackwardCompatibility-6.1 ComplexToCartesian: port name change
    ==== Contents of test case:
     
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        set toplevel [$parser parse $complexToCartesianMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Result was:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="BackwardCompatibilityComplextToCartesian" class="ptolemy.acto
   r.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="7.1.devel">
        </property>
        <entity name="ComplexToCartesian1" class="ptolemy.actor.lib.conversions
   .ComplexToCartesian">
            <port name="real" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
            </port>
            <port name="imag" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
            </port>
        </entity>
        <entity name="CartesianToComplex2" class="ptolemy.actor.lib.conversions
   .CartesianToComplex">
            <port name="real" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
            </port>
            <port name="imag" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
            </port>
        </entity>
    </entity>
    }
    ---- Result should have been:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="BackwardCompatibilityComplextToCartesian" class="ptolemy.acto
   r.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="2.1-devel-2">
        </property>
        <entity name="ComplexToCartesian1" class="ptolemy.actor.lib.conversions
   .ComplexToCartesian">
        </entity>
        <entity name="CartesianToComplex2" class="ptolemy.actor.lib.conversions
   .CartesianToComplex">
        </entity>
    </entity>
    }
    @@@@@ known results is more than 7 lines long, so we run diff
    5c5
    <     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="2.1-devel-2">
    ---
    >     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="7.1.devel">
    7a8,13
    >         <port name="real" class="ptolemy.actor.TypedIOPort">
    >             <property name="output"/>
    >         </port>
    >         <port name="imag" class="ptolemy.actor.TypedIOPort">
    >             <property name="output"/>
    >         </port>
    9a16,21
    >         <port name="real" class="ptolemy.actor.TypedIOPort">
    >             <property name="input"/>
    >         </port>
    >         <port name="imag" class="ptolemy.actor.TypedIOPort">
    >             <property name="input"/>
    >         </port>
    child process exited abnormally
    @@@@@ Done running diffText
    ---- BackwardCompatibility-6.1 FAILED
    
    
    ==== BackwardCompatibility-7.1 HTVQEncode: Property Class Change
    ==== Contents of test case:
     
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        set toplevel [$parser parse $htvqEncodeMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Test generated error:
        while executing
    com.microstar.xml.XmlException: XML element "property" triggers exception. 
   in file:/Users/crawl/repos/kepler/k/ptII/ptolemy/moml/filter/test/ at line 1
   4 and column 70
    Caused by:
     java.lang.ClassNotFoundException: ptolemy.moml.Location
    	at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:3293)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:921)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseDocument(XmlParser.java:481)
    	at com.microstar.xml.XmlParser.doParse(XmlParser.java:159)
    	at com.microstar.xml.XmlParser.parse(XmlParser.java:132)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1336)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1435)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
   .java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
   ssorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at tcl.lang.reflect.PkgInvoker.invokeMethod(PkgInvoker.java:128)
    	at tcl.lang.JavaInvoke.call(JavaInvoke.java:304)
    	at tcl.lang.JavaInvoke.callMethod(JavaInvoke.java:161)
    	at tcl.lang.ReflectObject.cmdProc(ReflectObject.java:916)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.UplevelCmd.cmdProc(UplevelCmd.java:92)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Procedure.cmdProc(Procedure.java:174)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.SourceCmd.cmdProc(SourceCmd.java:73)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.ForeachCmd.cmdProc(ForeachCmd.java:98)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.Shell.main(Shell.java:103)
    Caused by: java.lang.ClassNotFoundException: ptolemy.moml.Location
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:242)
    	at ptolemy.moml.MoMLParser._handlePropertyElement(MoMLParser.java:4983)
    	at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:2786)
    	... 69 more
    Caused by: java.lang.ClassNotFoundException: ptolemy.moml.Location
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:242)
    	at ptolemy.moml.MoMLParser._handlePropertyElement(MoMLParser.java:4983)
    	at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:2786)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:921)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseDocument(XmlParser.java:481)
    	at com.microstar.xml.XmlParser.doParse(XmlParser.java:159)
    	at com.microstar.xml.XmlParser.parse(XmlParser.java:132)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1336)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1435)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
   .java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
   ssorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at tcl.lang.reflect.PkgInvoker.invokeMethod(PkgInvoker.java:128)
    	at tcl.lang.JavaInvoke.call(JavaInvoke.java:304)
    	at tcl.lang.JavaInvoke.callMethod(JavaInvoke.java:161)
    	at tcl.lang.ReflectObject.cmdProc(ReflectObject.java:916)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.UplevelCmd.cmdProc(UplevelCmd.java:92)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Procedure.cmdProc(Procedure.java:174)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.SourceCmd.cmdProc(SourceCmd.java:73)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.ForeachCmd.cmdProc(ForeachCmd.java:98)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.Shell.main(Shell.java:103)
    
        while executing
    com.microstar.xml.XmlException: XML element "property" triggers exception. 
   in file:/Users/crawl/repos/kepler/k/ptII/ptolemy/moml/filter/test/ at line 1
   4 and column 70
    Caused by:
     java.lang.ClassNotFoundException: ptolemy.moml.Location
        while executing
    "$parser parse $htvqEncodeMoml"
        invoked from within
    "set toplevel [$parser parse $htvqEncodeMoml]"
        ("uplevel" body line 4)
        invoked from within
    "uplevel $contents_of_test"
    
    
    ==== BackwardCompatibility-7.2 Expression: Property Class Change
    ==== Contents of test case:
     
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        set toplevel [$parser parse $expressionMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Test generated error:
        while executing
    com.microstar.xml.XmlException: XML element "property" triggers exception. 
   in file:/Users/crawl/repos/kepler/k/ptII/ptolemy/moml/filter/test/ at line 1
   0 and column 68
    Caused by:
     java.lang.ClassNotFoundException: ptolemy.moml.Location
    	at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:3293)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:921)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseDocument(XmlParser.java:481)
    	at com.microstar.xml.XmlParser.doParse(XmlParser.java:159)
    	at com.microstar.xml.XmlParser.parse(XmlParser.java:132)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1336)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1435)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
   .java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
   ssorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at tcl.lang.reflect.PkgInvoker.invokeMethod(PkgInvoker.java:128)
    	at tcl.lang.JavaInvoke.call(JavaInvoke.java:304)
    	at tcl.lang.JavaInvoke.callMethod(JavaInvoke.java:161)
    	at tcl.lang.ReflectObject.cmdProc(ReflectObject.java:916)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.UplevelCmd.cmdProc(UplevelCmd.java:92)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Procedure.cmdProc(Procedure.java:174)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.SourceCmd.cmdProc(SourceCmd.java:73)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.ForeachCmd.cmdProc(ForeachCmd.java:98)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.Shell.main(Shell.java:103)
    Caused by: java.lang.ClassNotFoundException: ptolemy.moml.Location
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:242)
    	at ptolemy.moml.MoMLParser._handlePropertyElement(MoMLParser.java:4983)
    	at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:2786)
    	... 69 more
    Caused by: java.lang.ClassNotFoundException: ptolemy.moml.Location
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:242)
    	at ptolemy.moml.MoMLParser._handlePropertyElement(MoMLParser.java:4983)
    	at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:2786)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:921)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseDocument(XmlParser.java:481)
    	at com.microstar.xml.XmlParser.doParse(XmlParser.java:159)
    	at com.microstar.xml.XmlParser.parse(XmlParser.java:132)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1336)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1435)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
   .java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
   ssorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at tcl.lang.reflect.PkgInvoker.invokeMethod(PkgInvoker.java:128)
    	at tcl.lang.JavaInvoke.call(JavaInvoke.java:304)
    	at tcl.lang.JavaInvoke.callMethod(JavaInvoke.java:161)
    	at tcl.lang.ReflectObject.cmdProc(ReflectObject.java:916)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.UplevelCmd.cmdProc(UplevelCmd.java:92)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Procedure.cmdProc(Procedure.java:174)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.SourceCmd.cmdProc(SourceCmd.java:73)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.ForeachCmd.cmdProc(ForeachCmd.java:98)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.Shell.main(Shell.java:103)
    
        while executing
    com.microstar.xml.XmlException: XML element "property" triggers exception. 
   in file:/Users/crawl/repos/kepler/k/ptII/ptolemy/moml/filter/test/ at line 1
   0 and column 68
    Caused by:
     java.lang.ClassNotFoundException: ptolemy.moml.Location
        while executing
    "$parser parse $expressionMoml"
        invoked from within
    "set toplevel [$parser parse $expressionMoml]"
        ("uplevel" body line 4)
        invoked from within
    "uplevel $contents_of_test"
    
    
    ==== BackwardCompatibility-8.1 Is a parameter, does not have _editorFactory
    ==== Contents of test case:
     
    
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        set toplevel [$parser parse $editorFactoryMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Test generated error:
        while executing
    com.microstar.xml.XmlException: XML element "property" triggers exception. 
   in file:/Users/crawl/repos/kepler/k/ptII/ptolemy/moml/filter/test/ at line 1
   7 and column 70
    Caused by:
     java.lang.ClassNotFoundException: ptolemy.moml.Location
    	at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:3293)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:921)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseDocument(XmlParser.java:481)
    	at com.microstar.xml.XmlParser.doParse(XmlParser.java:159)
    	at com.microstar.xml.XmlParser.parse(XmlParser.java:132)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1336)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1435)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
   .java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
   ssorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at tcl.lang.reflect.PkgInvoker.invokeMethod(PkgInvoker.java:128)
    	at tcl.lang.JavaInvoke.call(JavaInvoke.java:304)
    	at tcl.lang.JavaInvoke.callMethod(JavaInvoke.java:161)
    	at tcl.lang.ReflectObject.cmdProc(ReflectObject.java:916)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.UplevelCmd.cmdProc(UplevelCmd.java:92)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Procedure.cmdProc(Procedure.java:174)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.SourceCmd.cmdProc(SourceCmd.java:73)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.ForeachCmd.cmdProc(ForeachCmd.java:98)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.Shell.main(Shell.java:103)
    Caused by: java.lang.ClassNotFoundException: ptolemy.moml.Location
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:242)
    	at ptolemy.moml.MoMLParser._handlePropertyElement(MoMLParser.java:4983)
    	at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:2786)
    	... 69 more
    Caused by: java.lang.ClassNotFoundException: ptolemy.moml.Location
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:242)
    	at ptolemy.moml.MoMLParser._handlePropertyElement(MoMLParser.java:4983)
    	at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:2786)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:921)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseDocument(XmlParser.java:481)
    	at com.microstar.xml.XmlParser.doParse(XmlParser.java:159)
    	at com.microstar.xml.XmlParser.parse(XmlParser.java:132)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1336)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1435)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
   .java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
   ssorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at tcl.lang.reflect.PkgInvoker.invokeMethod(PkgInvoker.java:128)
    	at tcl.lang.JavaInvoke.call(JavaInvoke.java:304)
    	at tcl.lang.JavaInvoke.callMethod(JavaInvoke.java:161)
    	at tcl.lang.ReflectObject.cmdProc(ReflectObject.java:916)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.UplevelCmd.cmdProc(UplevelCmd.java:92)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Procedure.cmdProc(Procedure.java:174)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.SourceCmd.cmdProc(SourceCmd.java:73)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.ForeachCmd.cmdProc(ForeachCmd.java:98)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.Shell.main(Shell.java:103)
    
        while executing
    com.microstar.xml.XmlException: XML element "property" triggers exception. 
   in file:/Users/crawl/repos/kepler/k/ptII/ptolemy/moml/filter/test/ at line 1
   7 and column 70
    Caused by:
     java.lang.ClassNotFoundException: ptolemy.moml.Location
        while executing
    "$parser parse $editorFactoryMoml"
        invoked from within
    "set toplevel [$parser parse $editorFactoryMoml]"
        ("uplevel" body line 5)
        invoked from within
    "uplevel $contents_of_test"
    
    
    ==== BackwardCompatibility-9.1 annotation named annotation1 without a _hide
   Name
    ==== Contents of test case:
     
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        set toplevel [$parser parse $annotationMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Test generated error:
        while executing
    com.microstar.xml.XmlException: XML element "property" triggers exception. 
   in file:/Users/crawl/repos/kepler/k/ptII/ptolemy/moml/filter/test/ at line 6
    and column 69
    Caused by:
     java.lang.ClassNotFoundException: ptolemy.moml.Location
    	at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:3293)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:921)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseDocument(XmlParser.java:481)
    	at com.microstar.xml.XmlParser.doParse(XmlParser.java:159)
    	at com.microstar.xml.XmlParser.parse(XmlParser.java:132)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1336)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1435)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
   .java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
   ssorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at tcl.lang.reflect.PkgInvoker.invokeMethod(PkgInvoker.java:128)
    	at tcl.lang.JavaInvoke.call(JavaInvoke.java:304)
    	at tcl.lang.JavaInvoke.callMethod(JavaInvoke.java:161)
    	at tcl.lang.ReflectObject.cmdProc(ReflectObject.java:916)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.UplevelCmd.cmdProc(UplevelCmd.java:92)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Procedure.cmdProc(Procedure.java:174)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.SourceCmd.cmdProc(SourceCmd.java:73)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.ForeachCmd.cmdProc(ForeachCmd.java:98)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.Shell.main(Shell.java:103)
    Caused by: java.lang.ClassNotFoundException: ptolemy.moml.Location
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:242)
    	at ptolemy.moml.MoMLParser._handlePropertyElement(MoMLParser.java:4983)
    	at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:2786)
    	... 69 more
    Caused by: java.lang.ClassNotFoundException: ptolemy.moml.Location
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:242)
    	at ptolemy.moml.MoMLParser._handlePropertyElement(MoMLParser.java:4983)
    	at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:2786)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:921)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseContent(XmlParser.java:1104)
    	at com.microstar.xml.XmlParser.parseElement(XmlParser.java:924)
    	at com.microstar.xml.XmlParser.parseDocument(XmlParser.java:481)
    	at com.microstar.xml.XmlParser.doParse(XmlParser.java:159)
    	at com.microstar.xml.XmlParser.parse(XmlParser.java:132)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1336)
    	at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1435)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
   .java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
   ssorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at tcl.lang.reflect.PkgInvoker.invokeMethod(PkgInvoker.java:128)
    	at tcl.lang.JavaInvoke.call(JavaInvoke.java:304)
    	at tcl.lang.JavaInvoke.callMethod(JavaInvoke.java:161)
    	at tcl.lang.ReflectObject.cmdProc(ReflectObject.java:916)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.UplevelCmd.cmdProc(UplevelCmd.java:92)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Procedure.cmdProc(Procedure.java:174)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.SourceCmd.cmdProc(SourceCmd.java:73)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.ForeachCmd.cmdProc(ForeachCmd.java:98)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.Shell.main(Shell.java:103)
    
        while executing
    com.microstar.xml.XmlException: XML element "property" triggers exception. 
   in file:/Users/crawl/repos/kepler/k/ptII/ptolemy/moml/filter/test/ at line 6
    and column 69
    Caused by:
     java.lang.ClassNotFoundException: ptolemy.moml.Location
        while executing
    "$parser parse $annotationMoml"
        invoked from within
    "set toplevel [$parser parse $annotationMoml]"
        ("uplevel" body line 4)
        invoked from within
    "uplevel $contents_of_test"
    
    
    ==== BackwardCompatibility-10.1 PNDirectory parameter named Initial_queue_c
   apacity
    ==== Contents of test case:
     
        set parser [java::new ptolemy.moml.MoMLParser]
        set toplevel [$parser parse $pnDirectorMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Result was:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="PnDirectoryMoML" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="7.1.devel">
        </property>
        <property name="Process Network Director" class="ptolemy.domains.pn.ker
   nel.PNDirector">
            <property name="Initial_queue_capacity" class="ptolemy.data.expr.Pa
   rameter" value="1">
            </property>
        </property>
    </entity>
    }
    ---- Result should have been:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="PnDirectoryMoML" class="ptolemy.actor.TypedCompositeActor">
        <property name="Process Network Director" class="ptolemy.domains.pn.ker
   nel.PNDirector">
            <property name="initialQueueCapacity" class="ptolemy.data.expr.Para
   meter" value="1">
            </property>
        </property>
    </entity>
    }
    @@@@@ known results is more than 7 lines long, so we run diff
    4a5,6
    >     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="7.1.devel">
    >     </property>
    6c8
    <         <property name="initialQueueCapacity" class="ptolemy.data.expr.Pa
   rameter" value="1">
    ---
    >         <property name="Initial_queue_capacity" class="ptolemy.data.expr.
   Parameter" value="1">
    child process exited abnormally
    @@@@@ Done running diffText
    ---- BackwardCompatibility-10.1 FAILED
    
    
    ==== BackwardCompatiblity-11.1 Call toString on all the filters
    ==== Contents of test case:
    
        set filters [$parser getMoMLFilters]
        # listToStrings is defined in  util/testsuite/enums.tcl
        # The toString output is rather voluminous, so we just check that
        # it is more than 1000 chars.
        expr {[string length [listToStrings $filters]] > 1000}
    
    ==== Test generated error:
    no accessible method "getMoMLFilters" in class ptolemy.moml.MoMLParser
        while executing
    "$parser getMoMLFilters"
        invoked from within
    "set filters [$parser getMoMLFilters]"
        ("uplevel" body line 2)
        invoked from within
    "uplevel $contents_of_test"
    
    
    ==== BackwardCompatibility-12.1 Setting a multiport can result in a null co
   ntainer
    ==== Contents of test case:
    
        # The MoML fragment above came from actor/lib/test/Test.tcl,
        # where we created a model that had a Ramp connected to a Test actor
        # exporting the MoML and then importing it resulted in a null pointer
        # exception in GRColorChanges.  
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        set toplevel [$parser parse $testMoML]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Result was:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="testMoML" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="7.1.devel">
        </property>
        <entity name="test" class="ptolemy.actor.lib.Test">
        </entity>
    </entity>
    }
    ---- Result should have been:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="testMoML" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="4.1">
        </property>
        <entity name="test" class="ptolemy.actor.lib.Test">
        </entity>
    </entity>
    }
    @@@@@ known results is more than 7 lines long, so we run diff
    5c5
    <     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="4.1">
    ---
    >     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="7.1.devel">
    child process exited abnormally
    @@@@@ Done running diffText
    ---- BackwardCompatibility-12.1 FAILED
    
    
    ==== BackwardCompatibility-13.1 DirectoryListing
    ==== Contents of test case:
    
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        set toplevel [$parser parse $testMoML]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Result was:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="testMoML" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="7.1.devel">
        </property>
        <entity name="test" class="ptolemy.actor.lib.io.DirectoryListing">
            <port name="directoryOrURL" class="ptolemy.actor.parameters.Paramet
   erPort">
                <property name="input"/>
                <property name="_showName" class="ptolemy.kernel.util.Singleton
   Attribute">
                </property>
            </port>
        </entity>
    </entity>
    }
    ---- Result should have been:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="testMoML" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="5.0-alpha">
        </property>
        <entity name="test" class="ptolemy.actor.lib.io.DirectoryListing">
            <port name="directoryOrURL" class="ptolemy.actor.parameters.Paramet
   erPort">
                <property name="input"/>
                <property name="_showName" class="ptolemy.kernel.util.Singleton
   Attribute">
                </property>
            </port>
        </entity>
    </entity>
    }
    @@@@@ known results is more than 7 lines long, so we run diff
    5c5
    <     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="5.0-alpha">
    ---
    >     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="7.1.devel">
    child process exited abnormally
    @@@@@ Done running diffText
    ---- BackwardCompatibility-13.1 FAILED
    
    
    ==== BackwardCompatibility-13.2 ModelReference modelFileOrURL parameter cha
   nge and an Icon: check that the modified flag is set
    ==== Contents of test case:
    
    
        # The problem here is that loading an Icon calls setContext() which
        # calls reset() which sets the modified flag to false.
        # Thus, loading a model that has a compatibility change and
        # an icon results in the model not being marked as modified
    
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
    
        # Test out the modified flag
        $parser reset
        set modified [$parser isModified]
    
        set toplevel [$parser parse $testMoML]
        set newMoML [$toplevel exportMoML]
    
        list $modified [$parser isModified] $newMoML
    
    ==== Test generated error:
    no accessible method "isModified" in class ptolemy.moml.MoMLParser
        while executing
    "$parser isModified"
        invoked from within
    "set modified [$parser isModified]"
        ("uplevel" body line 13)
        invoked from within
    "uplevel $contents_of_test"
    
    
    ==== BackwardCompatibility-13.3 The input directive also calls setContext()
    which overwrites the modified flag
    ==== Contents of test case:
    
    
        # The problem here is that the input line calls setContext() which
        # calls reset() which sets the modified flag to false.
        # Thus, loading a model that has a compatibility change and
        # an icon results in the model not being marked as modified
    
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
    
        # Test out the modified flag
        $parser reset
        set modified [$parser isModified]
    
        set toplevel [$parser parse $testMoML]
        set newMoML [$toplevel exportMoML]
    
        list $modified [$parser isModified] $newMoML
    
    ==== Test generated error:
    no accessible method "isModified" in class ptolemy.moml.MoMLParser
        while executing
    "$parser isModified"
        invoked from within
    "set modified [$parser isModified]"
        ("uplevel" body line 13)
        invoked from within
    "uplevel $contents_of_test"
    
    
    ==== BackwardCompatibility-14.1 ModalModel _tableauFactory changed
    ==== Contents of test case:
    
        # This test is sort of pointless, since we add ModalModel in 
        # in PropertyClassChanges and then remove it in RemoveGraphical
        # classes.
        # However, the parser will be marked as modified even though
        # the result is unchanged.  This is right, since we are running
        # two filters back to back, one of which changes the results,
        # the other which changes it back.
    
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
    
        # Test out the modified flag
        $parser reset
        set modified [$parser isModified]
    
        set toplevel [$parser parse $testMoML]
        set newMoML [$toplevel exportMoML]
    
        list $modified [$parser isModified] $newMoML
    
    ==== Test generated error:
    no accessible method "isModified" in class ptolemy.moml.MoMLParser
        while executing
    "$parser isModified"
        invoked from within
    "set modified [$parser isModified]"
        ("uplevel" body line 15)
        invoked from within
    "uplevel $contents_of_test"
    
    
    ==== BackwardCompatiblity-20.1 Try running old models, first check that the
    makefile created the compat/ directory
    .... Test generated KNOWN error:
    To see the results, start up ptjacl, do  'set showKnownFailures true'
           and then resource the .tcl file
    GRColorChanges.tcl
    
    WARNING: Sourcing GRColorChanges.tcl resulted in an error,
    so we are incrementing the error count.
    The error was: no accessible method "setMoMLFilters" in class ptolemy.moml.
   MoMLParser
    
    ActorIndex.tcl
    Going to index ptolemy.actor.lib.Sinewave
    Going to index ptolemy.actor.lib.MultiplyDivide
    Going to index ptolemy.actor.lib.gui.SequencePlotter
    Parsing: file:/Users/crawl/repos/kepler/k/ptII/ptolemy/moml/demo/Networked/
   Networked.xml
    Failed to process ptolemy.actor.lib.Sinewave
    java.lang.ClassNotFoundException: ptolemy.actor.lib.Sinewave
    Security concern:
    About to look for MoML from the net at address:
    http://ptolemy.eecs.berkeley.edu/xml/models/Waveform.xml
    OK to proceed?
    Warning, failed to parse $CLASSPATH/NotAModel.xml
    java.io.IOException: Cannot find file 'NotAModel.xml' in classpath
    	at ptolemy.util.FileUtilities.nameToURL(FileUtilities.java:295)
    	at ptolemy.moml.filter.ActorIndex.generateActorIndex(ActorIndex.java:12
   7)
    	at ptolemy.moml.filter.ActorIndex.main(ActorIndex.java:269)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
   .java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
   ssorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at tcl.lang.reflect.PkgInvoker.invokeMethod(PkgInvoker.java:128)
    	at tcl.lang.JavaInvoke.call(JavaInvoke.java:304)
    	at tcl.lang.JavaInvoke.callStaticMethod(JavaInvoke.java:217)
    	at tcl.lang.JavaCallCmd.cmdProc(JavaCallCmd.java:74)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.UplevelCmd.cmdProc(UplevelCmd.java:92)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Procedure.cmdProc(Procedure.java:174)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.SourceCmd.cmdProc(SourceCmd.java:73)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.CatchCmd.cmdProc(CatchCmd.java:42)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Parser.evalTokens(Parser.java:1008)
    	at tcl.lang.Parser.eval2(Parser.java:1215)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.ForeachCmd.cmdProc(ForeachCmd.java:98)
    	at tcl.lang.AutoloadStub.cmdProc(Extension.java:119)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.eval(Interp.java:2747)
    	at tcl.lang.IfCmd.cmdProc(IfCmd.java:64)
    	at tcl.lang.Parser.evalObjv(Parser.java:826)
    	at tcl.lang.Parser.eval2(Parser.java:1228)
    	at tcl.lang.Interp.eval(Interp.java:2679)
    	at tcl.lang.Interp.evalFile(Interp.java:2940)
    	at tcl.lang.Shell.main(Shell.java:103)
    Parsing: file:./RemoveGraphicalClasses.xml
    Creating codeDoc/ptolemy/actor/lib/gui
    Writing codeDoc/ptolemy/actor/lib/gui/SequencePlotterIdx.htm
    Writing codeDoc/ptolemy/actor/lib/MultiplyDivideIdx.htm
    MultiportToSinglePort.tcl
    
    
    ==== MultiportToSinglePort-1.1 output port should not be a multi port
    ==== Contents of test case:
     
        set parser [java::new ptolemy.moml.MoMLParser]
    
        # The list of filters is static, so we reset it in case there
        # filters were already added.
        $parser setMoMLFilters [java::null]
    
        $parser addMoMLFilters  [java::call ptolemy.moml.filter.BackwardCompati
   bility allFilters]
    
        set toplevel [$parser parse $autocorrelationMoML]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Test generated error:
    no accessible method "setMoMLFilters" in class ptolemy.moml.MoMLParser
        while executing
    "$parser setMoMLFilters [java::null]"
        ("uplevel" body line 6)
        invoked from within
    "uplevel $contents_of_test"
    
    
    ==== MultiportToSinglePort-2.1 output port is not a multiport, should not b
   e marked as modified 
    ==== Contents of test case:
     
        set parser [java::new ptolemy.moml.MoMLParser]
        # Reset the isModified flag  
        $parser reset
        # The list of filters is static, so we reset it in case there
        # filters were already added.
        $parser setMoMLFilters [java::null]
    
        # We do not add the backward compatibility filter and then
        # the remove graphical classes filter because they will modify
        # the Const actor, thus making this test pointless	
    	
        $parser addMoMLFilter  [java::new ptolemy.moml.filter.MultiportToSingle
   Port]
    
        set toplevel [$parser parse $chainedTransitionMoML]
        set newMoML [$toplevel exportMoML]
        list [$parser isModified]
    
    ==== Test generated error:
    no accessible method "setMoMLFilters" in class ptolemy.moml.MoMLParser
        while executing
    "$parser setMoMLFilters [java::null]"
        ("uplevel" body line 7)
        invoked from within
    "uplevel $contents_of_test"
    RemoveGraphicalClasses.tcl
    
    
    ==== RemoveGraphicalClasses-1.1 This annotation already has a _hideName
    ==== Contents of test case:
     
        set parser [java::new ptolemy.moml.MoMLParser]
    
        # The list of filters is static, so we reset it in case there
        # filters were already added.
        $parser setMoMLFilters [java::null]
    
        $parser addMoMLFilters  [java::call ptolemy.moml.filter.BackwardCompati
   bility allFilters]
    
        set filter [java::new ptolemy.moml.filter.RemoveGraphicalClasses]
    
        # ptolemy.copernicus.kernel.KernelMain does this
        $filter put "ptolemy.copernicus.kernel.GeneratorAttribute" [java::null]
    
        # Test out the remove method by adding a class and then removing it
        $filter put "ptolemy.actor.TypedCompositeActor" [java::null]
        $filter remove "ptolemy.actor.TypedCompositeActor"
    
        $parser addMoMLFilter $filter
        $parser addMoMLFilter [java::new ptolemy.moml.filter.HideAnnotationName
   s]
        set toplevel [$parser parse $hideMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Test generated error:
    no accessible method "setMoMLFilters" in class ptolemy.moml.MoMLParser
        while executing
    "$parser setMoMLFilters [java::null]"
        ("uplevel" body line 6)
        invoked from within
    "uplevel $contents_of_test"
    
    
    ==== RemoveGraphicalClasses-1.2 filterAttributeValue
    ==== Contents of test case:
     
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        set toplevel [$parser parseFile "./RemoveGraphicalClasses.xml"]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Result was:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="MoMLFilter" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="7.1.devel">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" va
   lue="[600, 400]">
        </property>
        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttri
   bute" value="[104, 127]">
        </property>
        <property name="annotation1" class="ptolemy.kernel.util.Attribute">
            <property name="_iconDescription" class="ptolemy.kernel.util.Single
   tonConfigurableAttribute">
                <configure><svg><text x="20" y="20" style="font-size:14; font-f
   amily:SansSerif; fill:blue">A simple example that has an annotation
    and some actors with icons.
    This example is used to test
    out MoMLFilter and
    RemoveGraphicalClasses.</text></svg></configure>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.S
   ingletonConfigurableAttribute">
                <configure>
          <svg>
            <text x="20" style="font-size:14; font-family:SansSerif; fill:blue"
    y="20">-A-</text>
          </svg>
        </configure>
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParame
   ter" value="true">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="190.0, 5.0">
            </property>
        </property>
        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDire
   ctor">
            <property name="iterations" class="ptolemy.data.expr.Parameter" val
   ue="5">
            </property>
            <property name="vectorizationFactor" class="ptolemy.data.expr.Param
   eter" value="1">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="100.0, 45.0">
            </property>
        </property>
        <entity name="Const" class="ptolemy.actor.lib.Const">
            <property name="value" class="ptolemy.data.expr.Parameter" value="P
   I/2">
            </property>
            <doc>Create a constant sequence</doc>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="100.0, 165.0">
            </property>
        </entity>
        <entity name="TrigFunction" class="ptolemy.actor.lib.TrigFunction">
            <property name="function" class="ptolemy.data.expr.StringParameter"
    value="sin">
                <property name="style" class="ptolemy.actor.gui.style.ChoiceSty
   le">
                    <property name="acos" class="ptolemy.kernel.util.StringAttr
   ibute" value="acos">
                    </property>
                    <property name="asin" class="ptolemy.kernel.util.StringAttr
   ibute" value="asin">
                    </property>
                    <property name="atan" class="ptolemy.kernel.util.StringAttr
   ibute" value="atan">
                    </property>
                    <property name="cos" class="ptolemy.kernel.util.StringAttri
   bute" value="cos">
                    </property>
                    <property name="sin" class="ptolemy.kernel.util.StringAttri
   bute" value="sin">
                    </property>
                    <property name="tan" class="ptolemy.kernel.util.StringAttri
   bute" value="tan">
                    </property>
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="235.0, 165.0">
            </property>
        </entity>
        <entity name="Test" class="ptolemy.actor.lib.Test">
            <property name="correctValues" class="ptolemy.data.expr.Parameter" 
   value="{1.0,1.0,1.0,1.0,1.0}">
            </property>
            <property name="tolerance" class="ptolemy.data.expr.Parameter" valu
   e="1.0E-9">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="355.0, 165.0">
            </property>
        </entity>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="Const.output" relation="relation"/>
        <link port="TrigFunction.input" relation="relation"/>
        <link port="TrigFunction.output" relation="relation2"/>
        <link port="Test.input" relation="relation2"/>
    </entity>
    }
    ---- Result should have been:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="MoMLFilter" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="6.0-devel">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" va
   lue="[600, 400]">
        </property>
        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttri
   bute" value="[104, 127]">
        </property>
        <property name="annotation1" class="ptolemy.kernel.util.Attribute">
            <property name="_iconDescription" class="ptolemy.kernel.util.Single
   tonConfigurableAttribute">
                <configure><svg><text x="20" y="20" style="font-size:14; font-f
   amily:SansSerif; fill:blue">A simple example that has an annotation
    and some actors with icons.
    This example is used to test
    out MoMLFilter and
    RemoveGraphicalClasses.</text></svg></configure>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.S
   ingletonConfigurableAttribute">
                <configure>
          <svg>
            <text x="20" style="font-size:14; font-family:SansSerif; fill:blue"
    y="20">-A-</text>
          </svg>
        </configure>
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParame
   ter" value="true">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="190.0, 5.0">
            </property>
        </property>
        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDire
   ctor">
            <property name="iterations" class="ptolemy.data.expr.Parameter" val
   ue="5">
            </property>
            <property name="vectorizationFactor" class="ptolemy.data.expr.Param
   eter" value="1">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="100.0, 45.0">
            </property>
        </property>
        <entity name="Const" class="ptolemy.actor.lib.Const">
            <property name="value" class="ptolemy.data.expr.Parameter" value="P
   I/2">
            </property>
            <doc>Create a constant sequence</doc>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="100.0, 165.0">
            </property>
        </entity>
        <entity name="TrigFunction" class="ptolemy.actor.lib.TrigFunction">
            <property name="function" class="ptolemy.data.expr.StringParameter"
    value="sin">
                <property name="style" class="ptolemy.actor.gui.style.ChoiceSty
   le">
                    <property name="acos" class="ptolemy.kernel.util.StringAttr
   ibute" value="acos">
                    </property>
                    <property name="asin" class="ptolemy.kernel.util.StringAttr
   ibute" value="asin">
                    </property>
                    <property name="atan" class="ptolemy.kernel.util.StringAttr
   ibute" value="atan">
                    </property>
                    <property name="cos" class="ptolemy.kernel.util.StringAttri
   bute" value="cos">
                    </property>
                    <property name="sin" class="ptolemy.kernel.util.StringAttri
   bute" value="sin">
                    </property>
                    <property name="tan" class="ptolemy.kernel.util.StringAttri
   bute" value="tan">
                    </property>
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="235.0, 165.0">
            </property>
        </entity>
        <entity name="Test" class="ptolemy.actor.lib.Test">
            <property name="correctValues" class="ptolemy.data.expr.Parameter" 
   value="{1.0,1.0,1.0,1.0,1.0}">
            </property>
            <property name="tolerance" class="ptolemy.data.expr.Parameter" valu
   e="1.0E-9">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="355.0, 165.0">
            </property>
        </entity>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="Const.output" relation="relation"/>
        <link port="TrigFunction.input" relation="relation"/>
        <link port="TrigFunction.output" relation="relation2"/>
        <link port="Test.input" relation="relation2"/>
    </entity>
    }
    @@@@@ known results is more than 7 lines long, so we run diff
    5c5
    <     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="6.0-devel">
    ---
    >     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="7.1.devel">
    child process exited abnormally
    @@@@@ Done running diffText
    ---- RemoveGraphicalClasses-1.2 FAILED
        If you get a 'X connection to xxx:11.0 broken' message, then
        see $PTII/ptolemy/moml/filter/RemoveGraphicalClasses.java
        Or, under Solaris, run java -verbose -classpath 
               ${PTII}/lib/ptjacl.jar:${PTII}/lib/diva.jar:${PTII}
               tcl.lang.Shell xxx.tcl
    
    
    ==== RemoveGraphicalClasses-1.3 Try a configuration has a class that we are
    going to remove but is <entity name= class=\> instead of <entity name= clas
   s=>...</entity>
    ==== Contents of test case:
     
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        removeGraphicalClasses $parser
        set toplevel [$parser parse $hideMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Test generated error:
    no accessible method "addMoMLFilter" in class ptolemy.moml.MoMLParser
        while executing
    "$parser addMoMLFilter $filter"
        (procedure "removeGraphicalClasses" line 43)
        invoked from within
    "removeGraphicalClasses $parser"
        ("uplevel" body line 4)
        invoked from within
    "uplevel $contents_of_test"
        If you get a 'X connection to xxx:11.0 broken' message, then
        see $PTII/ptolemy/moml/filter/RemoveGraphicalClasses.java
        Or, under Solaris, run java -verbose -classpath 
               ${PTII}/lib/ptjacl.jar:${PTII}/lib/diva.jar:${PTII}
               tcl.lang.Shell xxx.tcl
    
    
    ==== RemoveGraphicalClasses-1.4 Try a configuration has a class that we are
    going to remove but is <entity name= class=\> instead of <entity name= clas
   s=>...</entity>
    ==== Contents of test case:
     
        set parser [java::new ptolemy.moml.MoMLParser]
        # Note that 1.1 added the filter for all the parsers
        removeGraphicalClasses $parser
        set toplevel [$parser parse $hideMoml]
        set newMoML [$toplevel exportMoML]
        list $newMoML
    
    ==== Test generated error:
    no accessible method "addMoMLFilter" in class ptolemy.moml.MoMLParser
        while executing
    "$parser addMoMLFilter $filter"
        (procedure "removeGraphicalClasses" line 43)
        invoked from within
    "removeGraphicalClasses $parser"
        ("uplevel" body line 4)
        invoked from within
    "uplevel $contents_of_test"
    
    
    ==== RemoveGraphicalClasses-1.6 main
    ==== Contents of test case:
     
        set args [java::new {String[]} 1  [list "RemoveGraphicalClasses.xml"]]
    
        jdkCapture {
    	java::call ptolemy.moml.filter.RemoveGraphicalClasses main $args
        } newMoML
        list $newMoML
    
    ==== Result was:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="MoMLFilter" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="7.1.devel">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" va
   lue="[600, 400]">
        </property>
        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttri
   bute" value="[104, 127]">
        </property>
        <property name="annotation1" class="ptolemy.kernel.util.Attribute">
            <property name="_iconDescription" class="ptolemy.kernel.util.Single
   tonConfigurableAttribute">
                <configure><svg><text x="20" y="20" style="font-size:14; font-f
   amily:SansSerif; fill:blue">A simple example that has an annotation
    and some actors with icons.
    This example is used to test
    out MoMLFilter and
    RemoveGraphicalClasses.</text></svg></configure>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.S
   ingletonConfigurableAttribute">
                <configure>
          <svg>
            <text x="20" style="font-size:14; font-family:SansSerif; fill:blue"
    y="20">-A-</text>
          </svg>
        </configure>
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParame
   ter" value="true">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="190.0, 5.0">
            </property>
        </property>
        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDire
   ctor">
            <property name="iterations" class="ptolemy.data.expr.Parameter" val
   ue="5">
            </property>
            <property name="vectorizationFactor" class="ptolemy.data.expr.Param
   eter" value="1">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="100.0, 45.0">
            </property>
        </property>
        <entity name="Const" class="ptolemy.actor.lib.Const">
            <property name="value" class="ptolemy.data.expr.Parameter" value="P
   I/2">
            </property>
            <doc>Create a constant sequence</doc>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="100.0, 165.0">
            </property>
        </entity>
        <entity name="TrigFunction" class="ptolemy.actor.lib.TrigFunction">
            <property name="function" class="ptolemy.data.expr.StringParameter"
    value="sin">
                <property name="style" class="ptolemy.actor.gui.style.ChoiceSty
   le">
                    <property name="acos" class="ptolemy.kernel.util.StringAttr
   ibute" value="acos">
                    </property>
                    <property name="asin" class="ptolemy.kernel.util.StringAttr
   ibute" value="asin">
                    </property>
                    <property name="atan" class="ptolemy.kernel.util.StringAttr
   ibute" value="atan">
                    </property>
                    <property name="cos" class="ptolemy.kernel.util.StringAttri
   bute" value="cos">
                    </property>
                    <property name="sin" class="ptolemy.kernel.util.StringAttri
   bute" value="sin">
                    </property>
                    <property name="tan" class="ptolemy.kernel.util.StringAttri
   bute" value="tan">
                    </property>
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="235.0, 165.0">
            </property>
        </entity>
        <entity name="Test" class="ptolemy.actor.lib.Test">
            <property name="correctValues" class="ptolemy.data.expr.Parameter" 
   value="{1.0,1.0,1.0,1.0,1.0}">
            </property>
            <property name="tolerance" class="ptolemy.data.expr.Parameter" valu
   e="1.0E-9">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="355.0, 165.0">
            </property>
        </entity>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="Const.output" relation="relation"/>
        <link port="TrigFunction.input" relation="relation"/>
        <link port="TrigFunction.output" relation="relation2"/>
        <link port="Test.input" relation="relation2"/>
    </entity>
    
    }
    ---- Result should have been:
    {<?xml version="1.0" standalone="no"?>
    <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
        "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
    <entity name="MoMLFilter" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAtt
   ribute" value="6.1.devel">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" va
   lue="[600, 400]">
        </property>
        <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttri
   bute" value="[104, 127]">
        </property>
        <property name="annotation1" class="ptolemy.kernel.util.Attribute">
            <property name="_iconDescription" class="ptolemy.kernel.util.Single
   tonConfigurableAttribute">
                <configure><svg><text x="20" y="20" style="font-size:14; font-f
   amily:SansSerif; fill:blue">A simple example that has an annotation
    and some actors with icons.
    This example is used to test
    out MoMLFilter and
    RemoveGraphicalClasses.</text></svg></configure>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.S
   ingletonConfigurableAttribute">
                <configure>
          <svg>
            <text x="20" style="font-size:14; font-family:SansSerif; fill:blue"
    y="20">-A-</text>
          </svg>
        </configure>
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParame
   ter" value="true">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="190.0, 5.0">
            </property>
        </property>
        <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDire
   ctor">
            <property name="iterations" class="ptolemy.data.expr.Parameter" val
   ue="5">
            </property>
            <property name="vectorizationFactor" class="ptolemy.data.expr.Param
   eter" value="1">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="100.0, 45.0">
            </property>
        </property>
        <entity name="Const" class="ptolemy.actor.lib.Const">
            <property name="value" class="ptolemy.data.expr.Parameter" value="P
   I/2">
            </property>
            <doc>Create a constant sequence</doc>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="100.0, 165.0">
            </property>
        </entity>
        <entity name="TrigFunction" class="ptolemy.actor.lib.TrigFunction">
            <property name="function" class="ptolemy.data.expr.StringParameter"
    value="sin">
                <property name="style" class="ptolemy.actor.gui.style.ChoiceSty
   le">
                    <property name="acos" class="ptolemy.kernel.util.StringAttr
   ibute" value="acos">
                    </property>
                    <property name="asin" class="ptolemy.kernel.util.StringAttr
   ibute" value="asin">
                    </property>
                    <property name="atan" class="ptolemy.kernel.util.StringAttr
   ibute" value="atan">
                    </property>
                    <property name="cos" class="ptolemy.kernel.util.StringAttri
   bute" value="cos">
                    </property>
                    <property name="sin" class="ptolemy.kernel.util.StringAttri
   bute" value="sin">
                    </property>
                    <property name="tan" class="ptolemy.kernel.util.StringAttri
   bute" value="tan">
                    </property>
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="235.0, 165.0">
            </property>
        </entity>
        <entity name="Test" class="ptolemy.actor.lib.Test">
            <property name="correctValues" class="ptolemy.data.expr.Parameter" 
   value="{1.0,1.0,1.0,1.0,1.0}">
            </property>
            <property name="tolerance" class="ptolemy.data.expr.Parameter" valu
   e="1.0E-9">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" val
   ue="355.0, 165.0">
            </property>
        </entity>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="Const.output" relation="relation"/>
        <link port="TrigFunction.input" relation="relation"/>
        <link port="TrigFunction.output" relation="relation2"/>
        <link port="Test.input" relation="relation2"/>
    </entity>
    
    }
    @@@@@ known results is more than 7 lines long, so we run diff
    5c5
    <     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="6.1.devel">
    ---
    >     <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
   ttribute" value="7.1.devel">
    child process exited abnormally
    @@@@@ Done running diffText
    ---- RemoveGraphicalClasses-1.6 FAILED
    
    
    ==== RemoveGraphicalClasses-1.5 clear
    ==== Contents of test case:
    
        # This removes the graphical classes for all subsequent runs
        set filter [java::new ptolemy.moml.filter.RemoveGraphicalClasses]
        $filter clear
        $filter toString
    
    ==== Test generated error:
    no accessible method "clear" in class ptolemy.moml.filter.RemoveGraphicalCl
   asses
        while executing
    "$filter clear"
        ("uplevel" body line 4)
        invoked from within
    "uplevel $contents_of_test"
    dummy.tcl
    Failed: 25  Total Tests: 29  ((Passed: 3, Newly Passed: 0)  Known Failed: 1
   ) /Users/crawl/repos/kepler/k/ptII/ptolemy/moml/filter/test
    CLASSPATH="../../../..:/Users/crawl/k/ptII/vendors/jython/jython.jar:/Users
   /crawl/k/ptII/lib/ptjacl.jar" "/usr/bin/java" -Xmx500M  "-Dptolemy.ptII.dir=
   /Users/crawl/k/ptII"  tcl.lang.Shell ../../../../util/testsuite/auto.tcl
    ------------------ testing $PTII/ptolemy/moml/filter/test/auto/TimeGap.xml
    auto.tcl: Setting watchdog for 200 seconds at Mon Jun 02 11:41:16 PDT 2008
    22 ms. Memory: 1984K Free: 559K (28%)
    util.testsuite.WatchDog.cancel(): canceling Mon Jun 02 11:41:17 PDT 2008
    auto.tcl: Setting watchdog for 200 seconds at Mon Jun 02 11:41:17 PDT 2008
    7 ms. Memory: 1984K Free: 823K (41%)
    util.testsuite.WatchDog.cancel(): canceling Mon Jun 02 11:41:17 PDT 2008
    ------------------ testing $PTII/ptolemy/moml/filter/test/auto/VariableDela
   y.xml
    auto.tcl: Setting watchdog for 200 seconds at Mon Jun 02 11:41:17 PDT 2008
    2 ms. Memory: 1984K Free: 483K (24%)
    util.testsuite.WatchDog.cancel(): canceling Mon Jun 02 11:41:17 PDT 2008
    auto.tcl: Setting watchdog for 200 seconds at Mon Jun 02 11:41:17 PDT 2008
    1 ms. Memory: 1984K Free: 426K (21%)
    util.testsuite.WatchDog.cancel(): canceling Mon Jun 02 11:41:17 PDT 2008
    ------------------ testing $PTII/ptolemy/moml/filter/test/auto/expression.x
   ml
    auto.tcl: Setting watchdog for 200 seconds at Mon Jun 02 11:41:17 PDT 2008
    2 ms. Memory: 1984K Free: 386K (19%)
    util.testsuite.WatchDog.cancel(): canceling Mon Jun 02 11:41:17 PDT 2008
    auto.tcl: Setting watchdog for 200 seconds at Mon Jun 02 11:41:17 PDT 2008
    1 ms. Memory: 1984K Free: 332K (17%)
    util.testsuite.WatchDog.cancel(): canceling Mon Jun 02 11:41:17 PDT 2008
    ------------------ testing $PTII/ptolemy/moml/filter/test/auto/modulation2.
   xml
    auto.tcl: Setting watchdog for 200 seconds at Mon Jun 02 11:41:17 PDT 2008
    51 ms. Memory: 2112K Free: 509K (24%)
    util.testsuite.WatchDog.cancel(): canceling Mon Jun 02 11:41:17 PDT 2008
    auto.tcl: Setting watchdog for 200 seconds at Mon Jun 02 11:41:17 PDT 2008
    34 ms. Memory: 2112K Free: 568K (27%)
    util.testsuite.WatchDog.cancel(): canceling Mon Jun 02 11:41:17 PDT 2008
    Failed: 0  Total Tests: 8  ((Passed: 8, Newly Passed: 0)  Known Failed: 0) 
   /Users/crawl/repos/kepler/k/ptII/ptolemy/moml/filter/test
    
    --------------030708080700040800030204
    Content-Type: text/plain;
     name="tests-ptjacl.txt"
    Content-Transfer-Encoding: 7bit
    Content-Disposition: attachment;
     filename="tests-ptjacl.txt"
    
    making tests in ptolemy/moml/filter/test
    ../../../../adm/dists/ptII1.0.1 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII1.0.1 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII2.0.1 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII2.0.1 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII3.0.2 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII3.0.2 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII4.0.1 does not exist
    skipping compatibility tests
    ../../../../adm/dists/ptII4.0.1 does not exist
    skipping compatibility tests
    Removing the following HDE demos:
    grep: compat*/*.xml: No such file or directory
    rm -f `grep HDEDirector compat*/*.xml | awk '{split($1, f, ":"); print f[1]
   }'`
    grep: compat*/*.xml: No such file or directory
    CLASSPATH="../../../..:/Users/crawl/k/ptII/vendors/jython/jython.jar:/Users
   /crawl/k/ptII/lib/ptjacl.jar" "/usr/bin/java" -Xmx500M  "-Dptolemy.ptII.dir=
   /Users/crawl/k/ptII"  tcl.lang.Shell alljtests.tcl 
    couldn't read file "alljtests.tcl"
    CLASSPATH="../../../..:/Users/crawl/k/ptII/vendors/jython/jython.jar:/Users
   /crawl/k/ptII/lib/ptjacl.jar" "/usr/bin/java" -Xmx500M  "-Dptolemy.ptII.dir=
   /Users/crawl/k/ptII"  tcl.lang.Shell ../../../../util/testsuite/auto.tcl
    couldn't read file "../../../../util/testsuite/auto.tcl"
    
    --------------030708080700040800030204--
--------


More information about the Kepler-dev mailing list