[kepler-dev] [Bug 4244] - Dragging ImageAttribute into Kepler results in not finding the gif

bugzilla-daemon at ecoinformatics.org bugzilla-daemon at ecoinformatics.org
Mon Jul 13 15:49:17 PDT 2009


http://bugzilla.ecoinformatics.org/show_bug.cgi?id=4244





------- Comment #1 from cxh at eecs.berkeley.edu  2009-07-13 15:49 -------
Below are some of the actors that call setExpression on $CLASSPATH
or $PTII and presumably include a resource in the actor.

I generated the list with:
adm/bin/ptIItxtfiles >& /tmp/f
cat /tmp/j | xargs grep setExpression > /tmp/e
egrep  '(\$CLASSPATH|\$PTII)' /tmp/e


./ptolemy/actor/lib/jai/JAIImageReader.java:       
fileOrURL.setExpression("$CLASSPATH/doc/img/PtolemyII.jpg");
./ptolemy/actor/lib/javasound/AudioReader.java:               
.setExpression("$CLASSPATH/ptolemy/actor/lib/javasound/voice.wav");
./ptolemy/actor/lib/javasound/ClipPlayer.java:       
fileOrURL.setExpression("$PTII/ptolemy/actor/lib/javasound/voice.wav");
./ptolemy/actor/lib/jmf/MovieReader.java:               
.setExpression("$CLASSPATH/ptolemy/actor/lib/jmf/MrPtolemy.mov");
./ptolemy/actor/lib/security/KeyStoreActor.java:       
fileOrURL.setExpression("$PTII/ptKeystore");
./ptolemy/data/properties/lattice/PropertyConstraintSolver.java:               
.setExpression("$CLASSPATH\\trainedConstraints");
./ptolemy/domains/giotto/cgc/CActorBase.java:               
.setExpression("$PTII/ptolemy/domains/giotto/cgc/demo/task_code.c");
./ptolemy/domains/ptinyos/kernel/PtinyOSDirector.java:               
tosRoot.setExpression("$PTII/vendors/ptinyos/tinyos-1.x");
./ptolemy/domains/ptinyos/kernel/PtinyOSDirector.java:               
tosDir.setExpression("$PTII/vendors/ptinyos/tinyos-1.x/tos");
./ptolemy/vergil/actor/lib/MonitorImage.java:               
.setExpression("$CLASSPATH/ptolemy/vergil/kernel/attributes/ptIIplanetIcon.gif");
./ptolemy/vergil/kernel/attributes/ImageAttribute.java:               
.setExpression("$PTII/ptolemy/vergil/kernel/attributes/ptIIplanetIcon.gif");
./ptolemy/vergil/pdfrenderer/PDFAttribute.java:       
source.setExpression("$PTII/ptolemy/vergil/pdfrenderer/sample.pdf");

Chad writes:
> We do handle the resources for actors, but we just make assumptions 
> about where they are located.  We treat the ptolemy/ptolemy directory as 
> a source dir so we don't look for resources there.  Since ptolemy has a 
> different organization than kepler, we need to add exclusions/inclusions 
> based on the different organization.  If the pdf file were in 
> resources/** then it would be found.  In order for it to be found where 
> it is now, I'd have to add all of the ptolemy source into the classpath, 
> which I don't really want to do because I want to be able to package 
> kepler with no source files at all.

The above list is a start, though not all the resources need to be copied.
I'd go with:

./ptolemy/vergil/actor/lib/MonitorImage.java:               
.setExpression("$CLASSPATH/ptolemy/vergil/kernel/attributes/ptIIplanetIcon.gif");
./ptolemy/actor/lib/security/KeyStoreActor.java:       
fileOrURL.setExpression("$PTII/ptKeystore");
./ptolemy/vergil/kernel/attributes/ImageAttribute.java:               
.setExpression("$PTII/ptolemy/vergil/kernel/attributes/ptIIplanetIcon.gif");
./ptolemy/vergil/pdfrenderer/PDFAttribute.java:       
source.setExpression("$PTII/ptolemy/vergil/pdfrenderer/sample.pdf");
./ptolemy/actor/lib/javasound/AudioReader.java:               
.setExpression("$CLASSPATH/ptolemy/actor/lib/javasound/voice.wav");
./ptolemy/actor/lib/javasound/ClipPlayer.java:       
fileOrURL.setExpression("$PTII/ptolemy/actor/lib/javasound/voice.wav");

If JAI and JMF are available in Kepler, then you will need these:

./ptolemy/actor/lib/jai/JAIImageReader.java:       
fileOrURL.setExpression("$CLASSPATH/doc/img/PtolemyII.jpg");
./ptolemy/actor/lib/jmf/MovieReader.java:               
.setExpression("$CLASSPATH/ptolemy/actor/lib/jmf/MrPtolemy.mov");

These can be ignored:
./ptolemy/data/properties/lattice/PropertyConstraintSolver.java:               
.setExpression("$CLASSPATH\\trainedConstraints");
./ptolemy/domains/giotto/cgc/CActorBase.java:               
.setExpression("$PTII/ptolemy/domains/giotto/cgc/demo/task_code.c");
./ptolemy/domains/ptinyos/kernel/PtinyOSDirector.java:               
tosRoot.setExpression("$PTII/vendors/ptinyos/tinyos-1.x");
./ptolemy/domains/ptinyos/kernel/PtinyOSDirector.java:               
tosDir.setExpression("$PTII/vendors/ptinyos/tinyos-1.x/tos");


A larger issue is the Ptolemy II demos that are available from within Kepler.
Some of them access data files that are in the demo directories.  These data
files will need to be copied.  One way to find out what's missing is 
to follow the Ptolemy copyright link and run all the demos. 


More information about the Kepler-dev mailing list