<html>
<head>
<style>
body {
  font-family: Verdana, sans-serif;
  font-size: 0.8em;
  color:#484848;
}
h1, h2, h3 { font-family: "Trebuchet MS", Verdana, sans-serif; margin: 0px; }
h1 { font-size: 1.2em; }
h2, h3 { font-size: 1.1em; }
a, a:link, a:visited { color: #2A5685;}
a:hover, a:active { color: #c61a1a; }
a.wiki-anchor { display: none; }
hr {
  width: 100%;
  height: 1px;
  background: #ccc;
  border: 0;
}
.footer {
  font-size: 0.8em;
  font-style: italic;
}
</style>
</head>
<body>
<span class="header"></span>
Issue #6000 has been updated by Christopher Brooks.

<ul>
  <li><strong>Assignee</strong> changed from <i>Derik Barseghian</i> to <i>Christopher Brooks</i></li>
  <li><strong>% Done</strong> changed from <i>0</i> to <i>10</i></li>
</ul>

<p>That's a warning, not an exception.</p>


        <p>Take a look at the source.</p>


        <p>Line 1789 of ptolemy/data/expr/Variable.java</p>


        <pre><code>if (!handleModelError(this, ex)) {<br />      // FIXME: In the short term, warn about errors opening models.  <br />      // There are a bunch of things that need to be fixed, but there are also<br />      // legitimate models such as ptolemy/actor/parameters/test/auto/ParameterSetTest.xml   <br />      // that refer to parameter not present when the model is parsed.<br />      new IllegalActionException(this, ex,<br />             "Warning:, there was a problem propagating \"" <br />             + getName() + "\".")<br />          .printStackTrace();</code></pre>


        <p>The above code prints a warning, it is not throwing an exception.</p>


        <p>Edward discovered a problem with variables, so we are printing a warning while we figure out what to do.</p>
<hr />
<h1><a href="https://projects.ecoinformatics.org/ecoinfo/issues/6000#change-20457">Bug #6000: parameter copy-paste exception on console.</a></h1>

<ul>
<li>Author: jianwu jianwu</li>
<li>Status: New</li>
<li>Priority: Normal</li>
<li>Assignee: Christopher Brooks</li>
<li>Category: general</li>
<li>Target version: </li>
  <li>Bugzilla-Id: </li>
</ul>

<p>This workflow (see attachment) has two parameters. The first one, called datadir, is Parameter type and the second one, called outputdir, is StringParameter type. The second one use the first one's as part of its value: $datadir/output. When I copy and paste parameter outputdir on the canvas, no error dialog pop up. But the console has an exception messages.</p>


        <p>ptolemy.kernel.util.IllegalActionException: Warning:, there was a problem propagating "outputdir".<br />      [run]   in .auto.outputdir<br />      [run] Because:<br />      [run] Error evaluating expression: $datadir/output<br />      [run]   in .auto.outputdir<br />      [run] Because:<br />      [run] The ID datadir is undefined.<br />      [run]     at ptolemy.data.expr.Variable._propagate(Variable.java:1789)<br />      [run]     at ptolemy.data.expr.Variable.validate(Variable.java:1460)<br />      [run]     at ptolemy.moml.MoMLParser.endDocument(MoMLParser.java:802)<br />      [run]     at com.microstar.xml.XmlParser.doParse(XmlParser.java:162)<br />      [run]     at com.microstar.xml.XmlParser.parse(XmlParser.java:132)<br />      [run]     at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1556)<br />      [run]     at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1512)<br />      [run]     at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1655)<br />      [run]     a
 t ptolemy.moml.MoMLVariableChecker.checkCopy(MoMLVariableChecker.java:112)<br />      [run]     at ptolemy.moml.MoMLVariableChecker.checkCopy(MoMLVariableChecker.java:81)<br />      [run]     at ptolemy.vergil.basic.BasicGraphFrame.copy(BasicGraphFrame.java:341)<br />      [run]     at ptolemy.vergil.basic.BasicGraphFrame$CopyAction.actionPerformed(BasicGraphFrame.java:3477)<br />      [run]     at javax.swing.JComponent$ActionStandin.actionPerformed(JComponent.java:3376)<br />      [run]     at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1645)<br />      [run]     at javax.swing.JComponent.processKeyBinding(JComponent.java:2859)<br />      [run]     at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:267)<br />      [run]     at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:216)<br />      [run]     at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2936)<br />      [run]     at javax.swing.JCompone
 nt.processKeyBindings(JComponent.java:2928)<br />      [run]     at javax.swing.JComponent.processKeyEvent(JComponent.java:2822)<br />      [run]     at java.awt.Component.processEvent(Component.java:6159)<br />      [run]     at java.awt.Container.processEvent(Container.java:2083)<br />      [run]     at java.awt.Component.dispatchEventImpl(Component.java:4744)<br />      [run]     at java.awt.Container.dispatchEventImpl(Container.java:2141)<br />      [run]     at java.awt.Component.dispatchEvent(Component.java:4572)<br />      [run]     at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1856)<br />      [run]     at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:722)<br />      [run]     at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1000)<br />      [run]     at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:865)<br />  
     [run]     at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:686)<br />      [run]     at java.awt.Component.dispatchEventImpl(Component.java:4616)<br />      [run]     at java.awt.Container.dispatchEventImpl(Container.java:2141)<br />      [run]     at java.awt.Window.dispatchEventImpl(Window.java:2489)<br />      [run]     at java.awt.Component.dispatchEvent(Component.java:4572)<br />      [run]     at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:710)<br />      [run]     at java.awt.EventQueue.access$400(EventQueue.java:82)<br />      [run]     at java.awt.EventQueue$2.run(EventQueue.java:669)<br />      [run]     at java.awt.EventQueue$2.run(EventQueue.java:667)<br />      [run]     at java.security.AccessController.doPrivileged(Native Method)<br />      [run]     at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)<br />      [run]     at java.security.AccessControlContext$1.doInte
 rsectionPrivilege(AccessControlContext.java:98)<br />      [run]     at java.awt.EventQueue$3.run(EventQueue.java:683)<br />      [run]     at java.awt.EventQueue$3.run(EventQueue.java:681)<br />      [run]     at java.security.AccessController.doPrivileged(Native Method)<br />      [run]     at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)<br />      [run]     at java.awt.EventQueue.dispatchEvent(EventQueue.java:680)<br />      [run]     at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)<br />      [run]     at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)<br />      [run]     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)<br />      [run]     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)<br />      [run]     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)<br />      [run]   
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)<br />      [run] Caused by: ptolemy.kernel.util.IllegalActionException: Error evaluating expression: $datadir/output<br />      [run]   in .auto.outputdir<br />      [run] Because:<br />      [run] The ID datadir is undefined.<br />      [run]     at ptolemy.data.expr.Variable._evaluate(Variable.java:1691)<br />      [run]     at ptolemy.data.expr.Variable._propagate(Variable.java:1767)<br />      [run]     ... 51 more<br />      [run] Caused by: ptolemy.data.expr.UndefinedConstantOrIdentifierException: The ID datadir is undefined.<br />      [run]     at ptolemy.data.expr.ParseTreeEvaluator.visitLeafNode(ParseTreeEvaluator.java:723)<br />      [run]     at ptolemy.data.expr.ASTPtLeafNode.visit(ASTPtLeafNode.java:125)<br />      [run]     at ptolemy.data.expr.ParseTreeEvaluator._evaluateChild(ParseTreeEvaluator.java:1360)<br />      [run]     at ptolemy.data.expr.ParseTreeEvaluator._evaluateAllChildren(Parse
 TreeEvaluator.java:1314)</p>


<hr />
<span class="footer"><p>You have received this notification because you have either subscribed to it, or are involved in it.<br />To change your notification preferences, please click here: <a class="external" href="https://projects.ecoinformatics.org/ecoinfo/my/account">https://projects.ecoinformatics.org/ecoinfo/my/account</a></p></span>
</body>
</html>