Ecoinformatics Redmine: Issueshttps://projects.ecoinformatics.org/ecoinfo/https://projects.ecoinformatics.org/ecoinfo/ecoinfo/favicon.ico?14691340362016-01-04T21:21:00ZEcoinformatics Redmine
Redmine Kepler - Bug #6928 (Resolved): Check Kepler for the Apache commons deserialization problems, cons...https://projects.ecoinformatics.org/ecoinfo/issues/69282016-01-04T21:21:00ZChristopher Brookscxh@eecs.berkeley.edu
<p>I recently had a Windows machine that was successfully attacked because it was running an old version of Jenkins that was susceptible to an attack via Apache Commons Java deserialization. The email from campus stated:</p>
<blockquote>
<p>"The snort alarms concern an apparent remote attack against a "serious vulnerability in Apache Commons, a library that contains a widely used set of Java components maintained by the Apache Software Foundation, puts thousands of Java applications and servers at risk of remote code execution attacks. The library is used by default in multiple Java application servers and other products including Oracle WebLogic, IBM WebSphere, JBoss, Jenkins and OpenNMS."</p>
</blockquote>
<blockquote>
<p>"Please see"</p>
</blockquote>
<blockquote>
<p><a class="external" href="http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/">http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/</a></p>
</blockquote>
<blockquote>
<p><a class="external" href="http://www.oracle.com/technetwork/topics/security/alert-cve-2015-4852-2763333.html">http://www.oracle.com/technetwork/topics/security/alert-cve-2015-4852-2763333.html</a></p>
</blockquote>
<blockquote>
<p><a class="external" href="https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread">https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread</a></p>
</blockquote>
<p>It looks like Kepler includes the library in question:<br /><pre>
bash-3.2$ find . -name "*.jar" | xargs grep -Rl InvokerTransformer
./configuration-manager/lib/jar/commons-collections-3.2.1.jar
</pre></p>
<p>commons-collections-3.2.1.jar contains classes in packages starting with org.apache.commons.collections</p>
<p>However, I believe that the Kepler *.java files are not directly using those classes, below are classes in org.apache.commons that are imported. Note that we are not importing classes from org.apache.commons.collections:</p>
<pre>
bash-3.2$ find . -name "*.java" | xargs grep org.apache.commons | grep import | tr -d '\r' | awk '{print $NF}' | sort | uniq -c | sort -nr
235 org.apache.commons.logging.LogFactory;
235 org.apache.commons.logging.Log;
3 org.apache.commons.io.IOUtils;
3 org.apache.commons.configuration.XMLConfiguration;
2 org.apache.commons.net.ftp.FTP;
2 org.apache.commons.lang.StringEscapeUtils;
2 org.apache.commons.io.FileUtils;
2 org.apache.commons.httpclient.methods.multipart.StringPart;
2 org.apache.commons.httpclient.methods.multipart.Part;
2 org.apache.commons.httpclient.methods.multipart.FilePart;
2 org.apache.commons.httpclient.methods.MultipartPostMethod;
2 org.apache.commons.httpclient.methods.GetMethod;
2 org.apache.commons.httpclient.HttpException;
2 org.apache.commons.httpclient.HttpClient;
2 org.apache.commons.configuration.ConfigurationException;
1 org.apache.commons.lang.time.DateUtils;
1 org.apache.commons.lang.exception.ExceptionUtils;
1 org.apache.commons.io.FilenameUtils;
1 org.apache.commons.configuration.tree.ConfigurationNode;
1 org.apache.commons.configuration.PropertiesConfiguration;
1 org.apache.commons.configuration.HierarchicalConfiguration;
bash-3.2$
</pre>
<p>However, there could be dependencies between jar files used by Kepler and commons-collections-3.2.1.jar.</p>
<p><a class="external" href="https://www.kb.cert.org/vuls/id/576313">https://www.kb.cert.org/vuls/id/576313</a> suggests upgrading to Apache Commons Collections version 3.2.2</p>
<p>However, perhaps we can remove this class?</p>
<p>The log is below:<br /><pre>
bash-3.2$ svn log ./configuration-manager/lib/jar/commons-collections-3.2.1.jar
------------------------------------------------------------------------
r24000 | berkley | 2010-04-27 17:12:36 -0700 (Tue, 27 Apr 2010) | 1 line
changing keywords and eol-style on the repository
------------------------------------------------------------------------
r20925 | berkley | 2009-10-07 15:06:24 -0700 (Wed, 07 Oct 2009) | 1 line
writing tests to show the capabilities of commons and yaml and to compare them
------------------------------------------------------------------------
bash-3.2$
</pre></p> Kepler - Bug #6829 (Closed): ant change-to fails under Windows Server 2012 R2 with Cygwinhttps://projects.ecoinformatics.org/ecoinfo/issues/68292015-08-12T23:39:08ZChristopher Brookscxh@eecs.berkeley.edu
<p>Under Windows Server 2012 R2 with Cygwin, I ran<br /><pre>
mkdir kepler.modules
cd kepler.modules
svn co https://code.kepler-project.org/code/kepler/trunk/modules/build-area
cd build-area
</pre></p>
<p>and then ant change-to failed:</p>
<pre>
$ ant change-to -Dsuite=kepler
Buildfile: C:\Users\cxh\src\kepler.modules\build-area\build.xml
change-to:
[change-to] Copying 1 file to C:\Users\cxh\src\kepler.modules\build-area
[change-to] Retrieving modules....
[change-to]
[change-to] kepler:
[change-to] Downloading (if necessary) kepler...
[change-to] svn co -r head https://code.kepler-project.org/code/kepler/trunk/modules/kepler C:\Users\cxh\src\kep\
ler.modules\kepler
[change-to] svn: E000002: Can't make directory '/cygdrive/c/Users/cxh/src/kepler.modules/build-area/C:\Users\cxh\
\src\kepler.modules\kepler': No such file or directory
[change-to]
BUILD FAILED
C:\Users\cxh\src\kepler.modules\build-area\build.xml:104: ERROR: It appears that the command did not execute pro\
perly and exited with an exit code of: 1
Total time: 1 second
cxh@AMPERE ~/src/kepler.modules/build-area
$
</pre>
<p>I can give out accounts on ampere.eecs.berkele.edu if necessary.</p> Kepler - Bug #6165 (Resolved): The names of instances of the Stop actor do not display in Mac OSX.https://projects.ecoinformatics.org/ecoinfo/issues/61652013-10-22T00:48:43ZChristopher Brookscxh@eecs.berkeley.edu
<p>On Kepler-users, Kenneth Jones wrote:</p>
<blockquote>
<p>The names of instances of the Stop actor do not display in Mac OSX. Let me know if you need more info.</p>
</blockquote>
<p>Indeed, dragging in the Stop Actor results in icons without instance names</p> Kepler - Bug #5895 (Resolved): HelloWorld link is broken under Kepler-2.4rc3https://projects.ecoinformatics.org/ecoinfo/issues/58952013-03-20T16:04:20ZChristopher Brookscxh@eecs.berkeley.edu
<p>Under Linux, the links to the demos fail? It seems like $CLASSPATH is not be expanded?</p>
<p>java.io.IOException: Failed to find file:/home/cxh/src/kepler-2.4RC3/common-2.4.0/configs/ptolemy/configs/kepler/$CLASSPATH/getting-started/04-HelloWorld.xml, also tried<br /> null and<br />null<br /> at ptolemy.actor.gui.HTMLViewer.hyperlinkUpdate(HTMLViewer.java:342)<br /> at javax.swing.JEditorPane.fireHyperlinkUpdate(JEditorPane.java:345)<br /> at javax.swing.text.html.HTMLEditorKit$LinkController.activateLink(HTMLEditorKit.java:877)<br /> at javax.swing.text.html.HTMLEditorKit$LinkController.mouseClicked(HTMLEditorKit.java:676)<br /> at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)<br /> at java.awt.Component.processMouseEvent(Component.java:6507)<br /> at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)<br /> at java.awt.Component.processEvent(Component.java:6269)<br /> at java.awt.Container.processEvent(Container.java:2229)<br /> at java.awt.Component.dispatchEventImpl(Component.java:4860)<br /> at java.awt.Container.dispatchEventImpl(Container.java:2287)<br /> at java.awt.Component.dispatchEvent(Component.java:4686)<br /> at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)<br /> at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)<br /> at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)<br /> at java.awt.Container.dispatchEventImpl(Container.java:2273)<br /> at java.awt.Window.dispatchEventImpl(Window.java:2713)<br /> at java.awt.Component.dispatchEvent(Component.java:4686)<br /> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)<br /> at java.awt.EventQueue.access$000(EventQueue.java:101)<br /> at java.awt.EventQueue$3.run(EventQueue.java:666)<br /> at java.awt.EventQueue$3.run(EventQueue.java:664)<br /> at java.security.AccessController.doPrivileged(Native Method)<br /> at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)<br /> at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)<br /> at java.awt.EventQueue$4.run(EventQueue.java:680)<br /> at java.awt.EventQueue$4.run(EventQueue.java:678)<br /> at java.security.AccessController.doPrivileged(Native Method)<br /> at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)<br /> at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)<br /> at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)<br /> at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)<br /> at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)<br /> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)<br /> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)<br /> at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)<br />Caused by: java.io.FileNotFoundException: /home/cxh/src/kepler-2.4RC3/common-2.4.0/configs/ptolemy/configs/kepler/$CLASSPATH/getting-started/04-HelloWorld.xml (No such file or directory)<br /> at java.io.FileInputStream.open(Native Method)<br /> at java.io.FileInputStream.<init>(FileInputStream.java:138)<br /> at java.io.FileInputStream.<init>(FileInputStream.java:97)<br /> at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)<br /> at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)<br /> at java.net.URL.openStream(URL.java:1035)<br /> at ptolemy.actor.gui.EffigyFactory.checkForDTD(EffigyFactory.java:127)<br /> at ptolemy.actor.gui.PtolemyEffigy$Factory.createEffigy(PtolemyEffigy.java:384)<br /> at ptolemy.actor.gui.EffigyFactory.createEffigy(EffigyFactory.java:233)<br /> at ptolemy.actor.gui.Configuration.openModel(Configuration.java:1079)<br /> at ptolemy.actor.gui.Configuration.openModel(Configuration.java:1005)<br /> at ptolemy.actor.gui.HTMLViewer.hyperlinkUpdate(HTMLViewer.java:293)<br /> ... 35 more</p> Kepler - Bug #5894 (Closed): Clone problems in NamedObjIdhttps://projects.ecoinformatics.org/ecoinfo/issues/58942013-03-19T19:07:23ZChristopher Brookscxh@eecs.berkeley.edu
<p>Checking the configuration results in messages about clone problems in NamedObjId:</p>
<p>The valueListeners java.util.Vector field<br /> in the clone of "org.kepler.moml.NamedObjId" <br /> does not point to an object distinct from the master. <br /> This may cause problems with actor oriented classes.<br /> The clone(Workspace) method should have a line like:<br /> newObject.valueListeners = (Vector)newObject<br /> /* Get the object method or null? <strong>/ valueListeners;<br />The _id org.kepler.objectmanager.lsid.KeplerLSID field<br /> in the clone of "org.kepler.moml.NamedObjId" <br /> does not point to an object distinct from the master. <br /> This may cause problems with actor oriented classes.<br /> The clone(Workspace) method should have a line like:<br /> newObject._id = (KeplerLSID)newObject<br /> /</strong> Get the object method or null? */ _id;</p>
<p>To replicate:<br />1) Start Kepler<br />2) Click on the Documentation link<br />3) Click on "Background information about Ptolemy" <br />4) Click on the Copyright link<br />5) Click on the Copyright link at the bottom (Other copyrights ...)<br />6) Click on "other" information about this configuration at the bottom<br />7) Click on "about:configuration"</p>
<p>The text above will appear.</p>
<p>The issue with cloning could be causing problems with actor oriented classes.</p>
<p>This class should have a clone(Workspace) method added.</p> Kepler - Bug #5893 (Closed): During installation, Kepler takes a long time to start up under Windowshttps://projects.ecoinformatics.org/ecoinfo/issues/58932013-03-19T14:51:33ZChristopher Brookscxh@eecs.berkeley.edu
<p>With Kepler-2.4RC3 under Windows2008R2 64-bit, the user is asked if they want to start up Kepler. I chose "yes" and nothing happened, so I completed the installation.</p>
<p>Then, I started up Kepler from the menu and it took a long time (over a minute?) to start up.</p>
<p>Then, it seemed like there were two Kepler instances?</p>
<p>It seems like Kepler took a long time to start, which is why when Kepler was starting during the installation, it seemed like nothing was happening.</p> Kepler - Bug #5892 (Resolved): After running various demos like HelloWorld, the user is prompted ...https://projects.ecoinformatics.org/ecoinfo/issues/58922013-03-19T14:47:26ZChristopher Brookscxh@eecs.berkeley.edu
<p>In the 2.4RC3 Windows installer, after I run various demos, when I close the demo, the "Save changes to KAR" dialog pops up.</p>
<p>Probably the Kar files need to be updated in the svn repository.</p>
<p>HelloWorld, SimpleAddition and others are affected.</p> Kepler - Bug #5891 (Resolved): Installer acks need to be update for Ptolemyhttps://projects.ecoinformatics.org/ecoinfo/issues/58912013-03-19T14:38:29ZChristopher Brookscxh@eecs.berkeley.edu
<p>The 2.4Rc3 installer acks for Ptolemy are out of date.<br />The text should be updated to say:</p>
<p>--start--<br />Ptolemy receives support in part by the Center for Hybrid and Embedded Software Systems (CHESS) at UC Berkeley, which receives support from the National Science Foundation (NSF awards #0720882 (CSR-EHS: PRET), #1035672 (CPS: Medium: Ptides), and #0931843 (CPS: Large: ActionWebs)), the Naval Research Laboratory (#NOOI73-12-1-G015), the Multiscale Systems Center (MuSyC), one of six research centers funded under the Focus Center Research Program, a Semiconductor Research Corporation program, and the following companies: Bosch, National Instruments, and Toyota. In the past, CHESS has been sponsorted by Agilent, DGIST, General Motors, Hewlett Packard, Infineon, and Microsoft.</p>
<p>Ptolemy is also supported in part by the TerraSwarm Research Center, one of six centers supported by the STARnet phase of the Focus Center Research Program (FCRP) a Semiconductor Research Corporation program sponsored by MARCO and DARPA.</p>
<p>Ptolemy is also supported in part by the Naval Research Laboratory project, "Software Producibility for System of Systems," and was accomplished under Cooperative Agreement Number NOOI73-12-1-G015.</p>
<p>--end--</p>
<p>To close this bug, the documentation for how to build a release should<br />be update to include going to <a class="external" href="http://ptolemy.eecs.berkeley.edu/sponsors.htm">http://ptolemy.eecs.berkeley.edu/sponsors.htm</a><br />to update the list of Ptolemy sponsors.</p> Kepler - Bug #5694 (Resolved): Dragging from a port results in a NPEhttps://projects.ecoinformatics.org/ecoinfo/issues/56942012-08-23T21:45:37ZChristopher Brookscxh@eecs.berkeley.edu
<p>Dan wrote:<br />--start--</p>
<p>The problem is related to the change listener in<br />org.kepler.moml.NamedObjId. When the workflow is changed, this<br />listener fires off additional change requests in changeExecuted().<br />When I comment out the additional change requests, I don't get<br />errors or weird behavior with the grab handle. Also, if the<br />requests are made in the Swing thread, everything works. It's<br />not clear to me if this actually fixes the problem or why it's<br />necessary after r64430...Hopefully this helps you track down<br />the problem.</p>
<p>--end--</p>
<p>On 8/21/12 4:24 PM, Christopher Brooks wrote:</p>
<blockquote>
<p>The problem seems to be fairly complex.<br />There are two changes, r64418 to diva BasicGraphHandle where we check<br />for null<br />and r64430 where there are a bunch of changes to ptolemy outside of diva.</p>
<p>I agree that the change to BasicGraphHandle would seem to be a good idea.<br />However, if it is present and r64430 is present, then the blue grab<br />handles don't<br />work well in Kepler and Ptolemy. When I drag a connection around it<br />does not<br />have a blue grab handle at the end. A blue grab handle appears at the<br />upper left.<br />I do get NPEs, but the behavior seems to be better.</p>
<p>Another issue is that I believe that Kepler uses diva.jar, so the change to<br />BasicGraphHandle was not present until I updated diva.jar.</p>
<p>I'm not sure about a fix to this, the bug is fairly mysterious. I can take<br />a look, but it may take a day or two.</p>
<p>_Christopher</p>
<p>Edward writes:</p>
<blockquote>
<p>Rolling back this change will cause more null pointer exceptions.<br />If the "return" below is not executed, you <em>will</em> get a NPE.</p>
<p>if (_site.getFigure() null || _site.getFigure().getParent() null) {<br />// Cannot relocate.<br />return;<br />}</p>
<p>Edward</p>
</blockquote>
<p>On 8/21/12 12:42 AM, Christopher Brooks wrote:</p>
<blockquote>
<p>Hi Derik,<br />I think this change:<br />2012-08-18 17:08 eal</p>
<ul>
<li>[r64430] /trunk/ptolemy/actor/Manager.java,<br />/trunk/ptolemy/actor/lib/hoc/LifeCycleManager.java,<br />/trunk/ptolemy/kernel/undo/RedoChangeRequest.java,<br />/trunk/ptolemy/kernel/undo/UndoChangeRequest.java,<br />/trunk/ptolemy/kernel/util/Changeable.java,<br />/trunk/ptolemy/kernel/util/NamedObj.java,<br />/trunk/ptolemy/moml/MoMLParser.java: Fixed long standing deadlock<br />that occurs while editing models while they run</li>
</ul>
<p>is what is causing the stack trace like [1] below.</p>
<p>I'll take a further look tomorrow.</p>
<p>This change is fairly important in that it solves a long standing<br />issue, so we need<br />to fix the bug as opposed to just reverting.</p>
<p>_Christopher</p>
<p>On 8/20/12 6:44 PM, Derik Barseghian wrote:</p>
<blockquote>
<p>Hey Christopher,<br />I updated my local copy of kepler to use ptII r64449 but I'm still<br />getting errors like [1] below, wild dragging behavior, and remaining<br />dots.<br />I haven't seen any rogue floating upper-left endpoints yet though.<br />Derik</p>
<p>On Aug 20, 2012, at 6:14 PM, Christopher<br />Brooks<<a class="email" href="mailto:cxh@eecs.berkeley.edu">cxh@eecs.berkeley.edu</a>> wrote:</p>
<blockquote>
<p>Hi Derik,</p>
<p>It seems like it is Edward's change:</p>
<p>2012-08-18 06:22 eal</p>
<ul>
<li>[r64418] /trunk/diva/canvas/interactor/BasicGrabHandle.java:<br />Prevent null pointer exception that can happen while editing a<br />model while it is running by checking the Figure of Site for the<br />connector being dragged.</li>
</ul>
<p>The change is:</p>
<blockquote>
<p>[dhcp-39-161:~/ptII] cxh% svn diff -r64417:64418<br />diva/canvas/interactor/BasicGrabHandle.java<br />Index: diva/canvas/interactor/BasicGrabHandle.java
===================================================================<br />--- diva/canvas/interactor/BasicGrabHandle.java (revision 64417)<br />+<ins>+ diva/canvas/interactor/BasicGrabHandle.java (revision 64418)<br /><code>@ -87,6 +87,10 </code>@<br />// Be sure to take into account that the transformContext<br />of the<br />// site and the context of the grab handle may be different.<br />TransformContext tc = getTransformContext();<br /></ins> if (_site.getFigure() null ||<br />_site.getFigure().getParent() null) {<br />+ // Cannot relocate.<br />+ return;<br />+ }<br />Point2D p = _site.getPoint(tc);<br />double x = p.getX();<br />double y = p.getY();</p>
</blockquote>
<p>I rolled back r64418 and updated diva.jar</p>
<p>_Christopher</p>
<p>On 8/20/12 3:28 PM, Derik Barseghian wrote:</p>
<blockquote>
<p>Hey Christopher,<br />Dan and I are getting an error<sup><a href="#fn1">1</a></sup> when trying to drag a relation<br />from a port today in Kepler.<br />I'm also seeing a few other issues that seem to happen after the<br />above. I got an NPE<sup><a href="#fn2">2</a></sup> from a click, have strange actor-drag<br />behavior (actor drags wildly / shoots off in one direction), and<br />sometimes dots are left over on canvas at the point where I clicked<br />on the port. Also when I'm dragging out a relation I also notice in<br />the upper left corner of canvas a blue 'port endpoint' square<br />(generally only noticeable in the overview section in the lower left).<br />See attached screenshot to see dots and blue square.<br />Derik</p>
<p>[1]<br />java.lang.NullPointerException<br />at<br />diva.canvas.TransformContext.getTransform(TransformContext.java:161)<br />at diva.canvas.AbstractSite.getPoint(AbstractSite.java:82)<br />at<br />diva.canvas.connector.BasicManhattanRouter.routeManhattan(BasicManhattanRouter.java:87)</p>
<p>at<br />diva.canvas.connector.BasicManhattanRouter.route(BasicManhattanRouter.java:68)</p>
<p>at<br />diva.canvas.connector.ManhattanConnector.route(ManhattanConnector.java:121)</p>
<p>at<br />ptolemy.vergil.actor.KielerLayoutConnector.route(KielerLayoutConnector.java:214)</p>
<p>at<br />diva.canvas.connector.AbstractConnector.reroute(AbstractConnector.java:285)</p>
<p>at<br />diva.canvas.connector.AbstractConnector.tailMoved(AbstractConnector.java:406)</p>
<p>at<br />diva.canvas.connector.AbstractConnector.setTailSite(AbstractConnector.java:398)</p>
<p>at<br />ptolemy.vergil.actor.ActorEditorGraphController$LinkCreator.mousePressed(ActorEditorGraphController.java:676)</p>
<p>at<br />diva.canvas.interactor.CompositeInteractor.mousePressed(CompositeInteractor.java:199)</p>
<p>at diva.canvas.FigureLayer.dispatchEventUpTree(FigureLayer.java:551)<br />at diva.canvas.FigureLayer.grabPointer(FigureLayer.java:319)<br />at diva.canvas.FigureLayer.processLayerEvent(FigureLayer.java:673)<br />at diva.canvas.FigureLayer.dispatchEvent(FigureLayer.java:203)<br />at diva.canvas.CanvasPane.processLayerEvent(CanvasPane.java:280)<br />at diva.canvas.CanvasPane.dispatchEvent(CanvasPane.java:89)<br />at diva.canvas.JCanvas.internalProcessMouseEvent(JCanvas.java:520)<br />at diva.canvas.JCanvas.processMouseEvent(JCanvas.java:474)<br />at java.awt.Component.processEvent(Component.java:6140)<br />at java.awt.Container.processEvent(Container.java:2083)<br />at java.awt.Component.dispatchEventImpl(Component.java:4737)<br />at java.awt.Container.dispatchEventImpl(Container.java:2141)<br />at java.awt.Component.dispatchEvent(Component.java:4565)<br />at<br />java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619)<br />at<br />java.awt.LightweightDispatcher.processMouseEvent(Container.java:4277)<br />at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210)<br />at java.awt.Container.dispatchEventImpl(Container.java:2127)<br />at java.awt.Window.dispatchEventImpl(Window.java:2482)<br />at java.awt.Component.dispatchEvent(Component.java:4565)<br />at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:684)<br />at java.awt.EventQueue.access$000(EventQueue.java:85)<br />at java.awt.EventQueue$1.run(EventQueue.java:643)<br />at java.awt.EventQueue$1.run(EventQueue.java:641)<br />at java.security.AccessController.doPrivileged(Native Method)<br />at<br />java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)</p>
<p>at<br />java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)</p>
<p>at java.awt.EventQueue$2.run(EventQueue.java:657)<br />at java.awt.EventQueue$2.run(EventQueue.java:655)<br />at java.security.AccessController.doPrivileged(Native Method)<br />at<br />java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)</p>
<p>at java.awt.EventQueue.dispatchEvent(EventQueue.java:654)<br />at<br />java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)</p>
<p>at<br />java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)</p>
<p>at<br />java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)</p>
<p>at<br />java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)<br />at<br />java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)<br />at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)</p>
<p>[2]<br />[run] Exception in thread "AWT-EventQueue-0" <br />java.lang.NullPointerException<br />[run]<br />at<br />diva.canvas.TransformContext.getTransform(TransformContext.java:161)<br />[run]<br />at diva.canvas.AbstractSite.getPoint(AbstractSite.java:82)<br />[run]<br />at<br />diva.canvas.interactor.BasicGrabHandle.relocate(BasicGrabHandle.java:94)</p>
<p>[run]<br />at<br />diva.canvas.interactor.Manipulator.relocateGrabHandles(Manipulator.java:191)</p>
<p>[run]<br />at<br />diva.canvas.interactor.Manipulator.repaint(Manipulator.java:211)<br />[run]<br />at<br />diva.canvas.interactor.Manipulator.repaint(Manipulator.java:175)<br />[run]<br />at<br />diva.canvas.AbstractFigure.repaint(AbstractFigure.java:236)<br />[run]<br />at<br />diva.canvas.AbstractFigure.repaint(AbstractFigure.java:224)<br />[run]<br />at<br />diva.canvas.FigureDecorator.setChild(FigureDecorator.java:190)<br />[run]<br />at<br />diva.canvas.connector.ConnectorManipulator.setChild(ConnectorManipulator.java:215)</p>
<p>[run]<br />at diva.canvas.FigureLayer.decorate(FigureLayer.java:180)<br />[run]<br />at<br />diva.canvas.interactor.BasicSelectionRenderer.renderSelected(BasicSelectionRenderer.java:119)</p>
<p>[run]<br />at<br />diva.canvas.interactor.BasicSelectionModel.renderSelected(BasicSelectionModel.java:271)</p>
<p>[run]<br />at<br />diva.canvas.interactor.BasicSelectionModel.addSelection(BasicSelectionModel.java:101)</p>
<p>[run]<br />at<br />diva.canvas.interactor.SelectionInteractor.mousePressed(SelectionInteractor.java:172)</p>
<p>[run]<br />at<br />diva.canvas.FigureLayer.dispatchEventUpTree(FigureLayer.java:551)<br />[run]<br />at diva.canvas.FigureLayer.grabPointer(FigureLayer.java:319)<br />[run]<br />at<br />diva.canvas.FigureLayer.processLayerEvent(FigureLayer.java:673)<br />[run]<br />at<br />diva.canvas.FigureLayer.dispatchEvent(FigureLayer.java:203)<br />[run]<br />at<br />diva.canvas.CanvasPane.processLayerEvent(CanvasPane.java:280)<br />[run]<br />at diva.canvas.CanvasPane.dispatchEvent(CanvasPane.java:89)<br />[run]<br />at<br />diva.canvas.JCanvas.internalProcessMouseEvent(JCanvas.java:520)<br />[run]<br />at diva.canvas.JCanvas.processMouseEvent(JCanvas.java:474)<br />[run]<br />at java.awt.Component.processEvent(Component.java:6140)<br />[run]<br />at java.awt.Container.processEvent(Container.java:2083)<br />[run]<br />at java.awt.Component.dispatchEventImpl(Component.java:4737)<br />[run]<br />at java.awt.Container.dispatchEventImpl(Container.java:2141)<br />[run]<br />at java.awt.Component.dispatchEvent(Component.java:4565)<br />[run]<br />at<br />java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619)<br />[run]<br />at<br />java.awt.LightweightDispatcher.processMouseEvent(Container.java:4277)<br />[run]<br />at<br />java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210)<br />[run]<br />at java.awt.Container.dispatchEventImpl(Container.java:2127)<br />[run]<br />at java.awt.Window.dispatchEventImpl(Window.java:2482)<br />[run]<br />at java.awt.Component.dispatchEvent(Component.java:4565)<br />[run]<br />at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:684)<br />[run]<br />at java.awt.EventQueue.access$000(EventQueue.java:85)<br />[run]<br />at java.awt.EventQueue$1.run(EventQueue.java:643)<br />[run]<br />at java.awt.EventQueue$1.run(EventQueue.java:641)<br />[run]<br />at java.security.AccessController.doPrivileged(Native Method)<br />[run]<br />at<br />java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)</p>
<p>[run]<br />at<br />java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)</p>
<p>[run]<br />at java.awt.EventQueue$2.run(EventQueue.java:657)<br />[run]<br />at java.awt.EventQueue$2.run(EventQueue.java:655)<br />[run]<br />at java.security.AccessController.doPrivileged(Native Method)<br />[run]<br />at<br />java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)</p>
<p>[run]<br />at java.awt.EventQueue.dispatchEvent(EventQueue.java:654)<br />[run]<br />at<br />java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)</p>
<p>[run]<br />at<br />java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)</p>
<p>[run]<br />at<br />java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)</p>
<p>[run]<br />at<br />java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)<br />[run]<br />at<br />java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)<br />[run]<br />at<br />java.awt.EventDispatchThread.run(EventDispatchThread.java:122)</p>
</blockquote></blockquote></blockquote></blockquote></blockquote> Kepler - Bug #5677 (Resolved): SDF Iterations now defaults to AUTOhttps://projects.ecoinformatics.org/ecoinfo/issues/56772012-08-14T18:44:49ZChristopher Brookscxh@eecs.berkeley.edu
<p>The iterations parameter of the SDFDirector defaults to AUTO.<br />See bug <a class="issue tracker-1 status-3 priority-2 priority-default closed" title="Bug: SDF director iterations parameter default of 0 is unfriendly (Resolved)" href="https://projects.ecoinformatics.org/ecoinfo/issues/5546">#5546</a>.</p>
<p>To close this bug:<br />1) Update the Kepler version of SDFDirector.xml<br />2) Update the Kepler printed documentation</p> Kepler - Bug #5665 (Resolved): modulemanager et al.: swing-worker-1.2.jar should be removedhttps://projects.ecoinformatics.org/ecoinfo/issues/56652012-08-07T03:19:45ZChristopher Brookscxh@eecs.berkeley.edu
<p>bug <a class="issue tracker-1 status-3 priority-2 priority-default closed" title="Bug: Remove SwingWorker and use javax.swing.SwingWorker (Resolved)" href="https://projects.ecoinformatics.org/ecoinfo/issues/5661">#5661</a> is about removing util.SwingWorker.</p>
<p>Unfortunately, there is code that uses a different SwingWorker from module-manager/lib/jar/swing-worker-1.2.jar</p>
<p>./gui/src/org/kepler/gui/kar/ImportModuleDependenciesAction.java:import org.jdesktop.swingworker.SwingWorker;<br />./module-manager-gui/src/org/kepler/modulemanager/gui/AvailableModulesPanel.java:import org.jdesktop.swingworker.SwingWorker;<br />./module-manager-gui/src/org/kepler/modulemanager/gui/CurrentSuitePanel.java:import org.jdesktop.swingworker.SwingWorker;<br />./module-manager-gui/src/org/kepler/modulemanager/gui/ModulesList.java:import org.jdesktop.swingworker.SwingWorker;<br />./module-manager-gui/src/org/kepler/modulemanager/gui/patch/UpgradeDialogPanel.java:import org.jdesktop.swingworker.SwingWorker;<br />./module-manager-gui/src/org/kepler/modulemanager/gui/SuitesList.java:import org.jdesktop.swingworker.SwingWorker;</p>
<p>bash-3.2$ jar -tvf ./module-manager/lib/jar/swing-worker-1.2.jar<br /> 0 Fri Jul 25 15:51:54 PDT 2008 META-INF/<br /> 106 Fri Jul 25 15:51:52 PDT 2008 META-INF/MANIFEST.MF<br /> 0 Fri Jul 25 15:51:50 PDT 2008 org/<br /> 0 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/<br /> 0 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/<br /> 1202 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/AccumulativeRunnable.class<br /> 673 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingPropertyChangeSupport$1.class<br /> 940 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingPropertyChangeSupport.class<br /> 925 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$1.class<br /> 901 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$2.class<br /> 801 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$3.class<br /> 1034 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$4.class<br /> 472 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$5.class<br /> 1230 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$6.class<br /> 1473 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$7.class<br /> 1516 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$DoSubmitAccumulativeRunnable.class<br /> 1038 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$StateValue.class<br /> 830 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$SwingWorkerPropertyChangeSupport$1.class<br /> 1064 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$SwingWorkerPropertyChangeSupport.class<br /> 5491 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker.class</p>
<p>Wikipedia says that org.jdesktop.swingworker.SwingWorker is a backport of<br />SwingWorker to Java 1.5. Kepler requires Java 1.6, so this is no longer necessary.<br />See <a class="external" href="http://en.wikipedia.org/wiki/SwingWorker">http://en.wikipedia.org/wiki/SwingWorker</a> and<br /><a class="external" href="http://java.net/projects/swingworker/">http://java.net/projects/swingworker/</a></p>
<p>The reason to move towards javax.swing.SwingWorker is because it is now<br />the standard SwingWorker. Having a class with the same name but a different<br />set of methods will cause confusion. In addition, javax.swing.SwingWorker is<br />maintained, org.jdesktop.swingworker.SwingWorker is probably not maintained at<br />all or is not as well maintained.</p> Kepler - Bug #5663 (Resolved): KeplerGraphFrame has much duplicated codehttps://projects.ecoinformatics.org/ecoinfo/issues/56632012-08-06T23:55:37ZChristopher Brookscxh@eecs.berkeley.edu
<p>I looked in to why KeplerGraphFrame has so much duplicated code<br />and it looks like Comad uses KeplerGraphFrameExtension</p>
<p>From the 2010-11-04 comment that added this class: </p>
<pre><code>// "Added an extension for a different Drag and Drop behavior. <br /> // Currently this is only activated in Comad. Once an Actor is <br /> // dragged from the Library over another actor on the canvas it <br /> // will replace this actor and Ports are reconeected. Also <br /> // Parameter values are used for parameters of the new actor if <br /> // they have the same name. <br /> // <br /> // If an actor is dragged over a link this actor will be inserted <br /> // there. Currently this only works in Comad, where all actors <br /> // have an "input" and one "output" port."</code></pre>
<p>The right thing is to add these extension points to the ptII repository<br />and remove the duplicated code.</p> Kepler - Bug #5662 (Resolved): resurgence ArrayAccumulator is a duplicate of Ptolemy ArrayAccumulatehttps://projects.ecoinformatics.org/ecoinfo/issues/56622012-08-06T23:52:51ZChristopher Brookscxh@eecs.berkeley.edu
<p>./actors/src/org/resurgence/actor/ArrayAccumulator.java<br />Duplicate of ptolemy/src/ptolemy/actor/lib/ArrayAccumulate.java</p>
<p>Kepler has ArrayAccumulator.java and Ptolemy has ArrayAccumulate.</p>
<p>The Kepler version has an input port named "array", the Ptolemy version has an input named "input" <br />The Kepler version has a parameter named "separator", the Ptolemy version does not have separator</p>
<p>FIXME: See about adding support for separator to the Ptolemy version.<br /> Add tests.<br /> Update the Kepler Backward compatibility filter to use "input" instead of "array"</p> Kepler - Bug #5661 (Resolved): Remove SwingWorker and use javax.swing.SwingWorkerhttps://projects.ecoinformatics.org/ecoinfo/issues/56612012-08-06T23:51:05ZChristopher Brookscxh@eecs.berkeley.edu
<p>./util/src/util/SwingWorker.java<br />FIXME: Remove and use javax.swing.SwingWorker.</p>
<p>See <a class="external" href="http://docs.oracle.com/javase/tutorial/uiswing/concurrency/worker.html">http://docs.oracle.com/javase/tutorial/uiswing/concurrency/worker.html</a></p>
<p>"The javax.swing.SwingWorker class was added to the Java platform in<br />Java SE 6. Prior to this, another class, also called SwingWorker, was<br />widely used for some of the same purposes. The old SwingWorker was not<br />part of the Java platform specification, and was not provided as part<br />of the JDK.</p>
<p>The new javax.swing.SwingWorker is a completely new class. Its<br />functionality is not a strict superset of the old SwingWorker. Methods<br />in the two classes that have the same function do not have the same<br />names. Also, instances of the old SwingWorker class were reusable,<br />while a new instance of javax.swing.SwingWorker is needed for each new<br />background task."</p>
<p>Also, remove ptolemy/src/ptolemy/gui/SwingWorker.java</p> Kepler - Bug #5659 (Closed): Kepler CaseGraphFrame and CaseGraphTableau have duplicated Ptolemy c...https://projects.ecoinformatics.org/ecoinfo/issues/56592012-08-06T23:45:27ZChristopher Brookscxh@eecs.berkeley.edu
<p>./gui/src/org/kepler/gui/frame/CaseGraphFrame.java<br />FIXME: Refactor!<br /> Duplicate of ptolemy/src/ptolemy/vergil/modal/CaseGraphFrame.java<br /> The Kepler version extends the Kepler-specific MultiCompositeGraphFrame which extends KeplerGraphFrame</p>
<ol>
<li><br />./gui/src/org/kepler/gui/frame/CaseGraphTableau.java<br />FIXME: Refactor!<br /> Probably like CaseGraphFrame above.</li>
</ol>