<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 reported by jianwu jianwu.
<hr />
<h1><a href="https://projects.ecoinformatics.org/ecoinfo/issues/6000">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: Derik Barseghian</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>