Hi Kianwee,
Usually the classpath is set when the Java process is started up.
Consult the web for more information about the Java classpath.
Basically, the classpath is a set of directories, jar files and zip
files that Java searches to find Java class files and resources. I've
found that referring to resources using $CLASSPATH is necessary when
models are delivered as Java Web Start applications or as applets. The
problem is somewhat complex, but has to do with jar urls and caching.
The xxxxxxCLASSPATHxxxxxxx is a hack and should not appear. If you send
me a model that shows xxxxxxxCLASSPATHxxxxx, I'll take a look.
Kepler uses kar files that contain Ptolemy models that are xml files.
I'm not that familiar with kar files, but I believe you could use the
jar command to unjar a kar file and then use a file editor to edit the
.xml file.
You can also export a .xml file from Kepler and then edit that using a
file editor and then open the .xml file from within Kepler.
_Christopher
On 10/24/11 8:22 PM, kianwee chen wrote:
Thanks for the quick reply
I often end up using $CLASSPATH, which looks inthe classpath for the
resource.
I type in the $CLASSPATH and this is what is return "
xxxxxxCLASSPATHxxxxxx " is there a way to set the classpath ?
For a CompositeActor, you would probably need to edit the MoML by hand
and add a Parameter:
How do you edit the MoML of a composite actor by hand ? I right click
and try all the options but did not get any options that allow me to
edit the MoML
thanks
ckw
I typed in the $CLASSPATH and I only get this
On Tue, Oct 25, 2011 at 12:46 AM, Christopher Brooks
<[email protected] <mailto:[email protected]>> wrote:
Hi Kianwee,
My comments are interspersed with your text below.
On 10/24/11 8:39 AM, Edward A. Lee wrote:
The documentation for FileParameter says:
"If this attribute contains a parameter named allowFiles with
value false, then when a file browser is used to select a file,
that file browser will be set to not show files (only directories
will be shown). If this attribute contains a parameter named
allowDirectories with value true, then the file browser will
permit the user to select directories (the default behavior is
that when a directory is selected, that directory is opened and
its contained files and directories are listed)."
(I'm not sure about Kepler, but in Ptolemy, just drag in a
FileParameter
from the Utilities menu, right click on it, and select
Documentation.)
I'm not sure what you mean by "list parameter." Can you cite a
specific
example?
Edward
On 10/24/11 3:22 AM, kianwee chen wrote:
Hi everyone, I am trying to create a composite actor and trying
to setup
the parameters for the composite actor. Thus I have some
question on
adding parameters in composite actors.
1.) Directory parameter:
-I would like to let the users specify a directory on the composite
actor parameters interface, I know there is a file parameter but
I need
a directory parameter. How can I customise a directory parameter ?
See Edward's explanation above.
-I have a problem with relative path too, when I setup a file
parameter
it returns the string of the path relative to my current kepler
file
that is open. Is there a way to get the base file path ?
Something like
$CWD, but instead the file path of my currently open file ?
The FileParameter documentation says:
<p>If the model containing this
attribute has been saved to a MoML file, then the file name can be
given relative to the directory containing that MoML file.
If the model has not been saved to a file,
then the classpath is used for identifying relative file names.</p>
<p>Files can be given relative to a <i>base</i>, where the baseis
the URI of the first container above this one that has a
URIAttribute.
Normally, this URI specifies the file or URL containing the model
definition. Thus, files that are referred to here can be kept in the
same directory as the model, or in a related directory, and can
moved together with the model.</p>
So, if you type in a relative path, then the file should be
relative to the model.
There is a Ptolemy test at
ptolemy/actor/lib/io/test/auto/FileReader.xml
that illustrates the various possibilities. If this test is run
in the ptolemy/actor/lib/io/test
directory, then it will work. If the test is run elsewhere, then
the "FileReader Relative to CWD"
actor will fail because that actor uses $CWD, which is expected to
be ptolemy/actor/lib/io/test
in that test.
In Java, the value of the user.dir property is the " User's
current working directory".
However, when a Java program is opened in a graphical windowing
system by clicking on
a menu choice, then the value of user.dir is not clearly defined.
It should probably be
the same value as the user's home directory, but I've seen various
values.
For a FileParameter, the value of $CWD is set to the value of the
user.dir property,
which is probably not what you want. I often end up using
$CLASSPATH, which looks in
the classpath for the resource. The file chooser does not have a
way to add $CLASSPATH,
you have to type it in manually.
2.) List Parameter:
- I have seen some actor have List parameters how do I customise
one for
my composite actor too ?
For atomic actors, the ptolemy/actor/lib/MathFunction.java uses
the addChoice() method:
// Parameters
function = new StringParameter(this, "function");
function.setExpression("exp");
function.addChoice("exp");
function.addChoice("log");
function.addChoice("modulo");
function.addChoice("sign");
function.addChoice("square");
function.addChoice("sqrt");
_function = _EXP;
I believe that addChoice() is defined in ptolemy/gui/Query.java
For a CompositeActor, you would probably need to edit the MoML by
hand and add a Parameter:
<property name="function"
class="ptolemy.data.expr.StringParameter" value="square">
<property name="style" class="ptolemy.actor.gui.style.ChoiceStyle">
<property name="exp" class="ptolemy.kernel.util.StringAttribute"
value="exp">
</property>
<property name="log" class="ptolemy.kernel.util.StringAttribute"
value="log">
</property>
<property name="modulo"
class="ptolemy.kernel.util.StringAttribute" value="modulo">
</property>
<property name="sign" class="ptolemy.kernel.util.StringAttribute"
value="sign">
</property>
<property name="square"
class="ptolemy.kernel.util.StringAttribute" value="square">
</property>
<property name="sqrt" class="ptolemy.kernel.util.StringAttribute"
value="sqrt">
</property>
</property>
</property>
_Christopher
Thanks alot !!
ckw
_______________________________________________
Kepler-users mailing list
[email protected]
<mailto:[email protected]>
http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
_______________________________________________
Kepler-users mailing list
[email protected] <mailto:[email protected]>
http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
--
Christopher Brooks, PMP University of California
CHESS Executive Director US Mail: 337 Cory Hall
Programmer/Analyst CHESS/Ptolemy/Trust Berkeley, CA 94720-1774
ph:510.643.9841 <tel:510.643.9841>
(Office: 545Q Cory)
home: (F-Tu)707.665.0131 <tel:707.665.0131> cell:707.332.0670 <tel:707.332.0670>
--
Christopher Brooks, PMP University of California
CHESS Executive Director US Mail: 337 Cory Hall
Programmer/Analyst CHESS/Ptolemy/Trust Berkeley, CA 94720-1774
ph: 510.643.9841 (Office: 545Q Cory)
home: (F-Tu) 707.665.0131 cell: 707.332.0670
_______________________________________________
Kepler-users mailing list
[email protected]
http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users