[kepler-dev] NIL token
Christopher Brooks
cxh at eecs.berkeley.edu
Fri Apr 7 15:25:28 PDT 2006
Hi Jing,
Sorry, that was way too hectic. The remote machine I was rebuilding on
must have rebooted five times from underneath me.
Ok, I was able to start Kepler from a clean build, my local tree must
be messed up.
The model
kepler/workflows/test/test-eml-missing-value-column-vector.xml
outputs records to a Test actor.
The short answer is that records and nils are not supported.
I'll see if I can do anything here. I'll hack a test for records.
I checked the model in with dimensions compatible with my lowly
1024x768 laptop.
_Christopher
--------
Hi Tao,
Kepler does not start up for me, after removing ~/.kepler, I get the
stack trace below.
I don't have the time to trash my trees and download fresh ones over
my slow link right now.
If I start them up with Vergil, then
kepler/workflows/test/test-eml-missing-value-column-vector.xml
kepler/workflows/test/test-eml-missing-value-field.xml
and do not show up on my laptop screen, they were saved on a larger
screen. In general, can you save these models so they are
viewable on a 1024x768 screen?
I edited
kepler/workflows/test/test-eml-missing-value-column-vector.xml by hand
and after ignoring some errors, I was able to open it in vergil, but
the source was gone, which made it hard to track down.
I'm rebuilding on a server on campus to see if I can get past these
issues now.
If you can create models that fail for me in Ptolemy, I can
take a look.
Here's the stack trace.
[echo] java.library.path=c:/WINDOWS/system32
[java] Opening user preferences PtolemyPreferences.xml...
[java] Opening user library C:\Documents and Settings\cxh\.ptolemyII\U
serLi
brary.xml...
[java] KAR Library directories: [C:\cxh\src\kepler\kar\actors, C:\cxh\
src\k
epler\kar\directors]
[java] The class name you entered was not found in the classpath. Not
e tha
t the class you are trying to enter must be in the classpath from which you
laun
ched this program: org.sdm.spa.ClustalW
[java] The class name you entered was not found in the classpath. Not
e tha
t the class you are trying to enter must be in the classpath from which you
laun
ched this program: org.sdm.spa.ClustalW
[java] The class name you entered was not found in the classpath. Not
e tha
t the class you are trying to enter must be in the classpath from which you
laun
ched this program: org.cipres.Initializer
[java] The class name you entered was not found in the classpath. Not
e tha
t the class you are trying to enter must be in the classpath from which you
laun
ched this program: org.cipres.NexusFileReader
[java] The class name you entered was not found in the classpath. Not
e tha
t the class you are trying to enter must be in the classpath from which you
laun
ched this program: org.cipres.PhyloDataReader
[java] The class name you entered was not found in the classpath. Not
e tha
t the class you are trying to enter must be in the classpath from which you
laun
ched this program: org.cipres.RecIDCM3
[java] The class name you entered was not found in the classpath. Not
e tha
t the class you are trying to enter must be in the classpath from which you
laun
ched this program: org.cipres.TreeDecomposer
[java] The class name you entered was not found in the classpath. Not
e tha
t the class you are trying to enter must be in the classpath from which you
laun
ched this program: org.cipres.TreeImprover
[java] The class name you entered was not found in the classpath. Not
e tha
t the class you are trying to enter must be in the classpath from which you
laun
ched this program: org.cipres.TreeMerger
[java] The class name you entered was not found in the classpath. Not
e tha
t the class you are trying to enter must be in the classpath from which you
laun
ched this program: org.cipres.TreeParser
[java] The class name you entered was not found in the classpath. Not
e tha
t the class you are trying to enter must be in the classpath from which you
laun
ched this program: org.cipres.TreeToString
[java] The class name you entered was not found in the classpath. Not
e tha
t the class you are trying to enter must be in the classpath from which you
laun
ched this program: org.cipres.TreeVizForester
[java] java.lang.NullPointerException
[java] at org.kepler.objectmanager.ActorMetadata.getActorAsNamedOb
j(Act
orMetadata.java:571)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:668)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.getLibrary
(Libr
aryIndex.java:567)
[java] at org.kepler.moml.KSWLibraryBuilder.buildLibrary(KSWLibrar
yBuil
der.java:161)
[java] at ptolemy.vergil.VergilApplication.openLibrary(VergilAppli
catio
n.java:216)
[java] at ptolemy.vergil.VergilApplication._createDefaultConfigura
tion(
VergilApplication.java:410)
[java] at ptolemy.vergil.VergilApplication._createEmptyConfigurati
on(Ve
rgilApplication.java:427)
[java] at ptolemy.actor.gui.MoMLApplication._parseArgs(MoMLApplica
tion.
java:903)
[java] at ptolemy.vergil.VergilApplication._parseArgs(VergilApplic
ation
.java:527)
[java] at ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication
.java
:210)
[java] at ptolemy.vergil.VergilApplication.<init>(VergilApplicatio
n.jav
a:107)
[java] at org.kepler.gui.KeplerApplication.main(KeplerApplication.
java:
34)
[java] ptolemy.kernel.util.IllegalActionException: Error building tree
mode
l: null
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:689)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.getLibrary
(Libr
aryIndex.java:567)
[java] at org.kepler.moml.KSWLibraryBuilder.buildLibrary(KSWLibrar
yBuil
der.java:161)
[java] at ptolemy.vergil.VergilApplication.openLibrary(VergilAppli
catio
n.java:216)
[java] at ptolemy.vergil.VergilApplication._createDefaultConfigura
tion(
VergilApplication.java:410)
[java] at ptolemy.vergil.VergilApplication._createEmptyConfigurati
on(Ve
rgilApplication.java:427)
[java] at ptolemy.actor.gui.MoMLApplication._parseArgs(MoMLApplica
tion.
java:903)
[java] at ptolemy.vergil.VergilApplication._parseArgs(VergilApplic
ation
.java:527)
[java] at ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication
.java
:210)
[java] at ptolemy.vergil.VergilApplication.<init>(VergilApplicatio
n.jav
a:107)
[java] at org.kepler.gui.KeplerApplication.main(KeplerApplication.
java:
34)
[java] ptolemy.kernel.util.IllegalActionException: Error building tree
mode
l: Error building tree model: null
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:689)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.getLibrary
(Libr
aryIndex.java:567)
[java] at org.kepler.moml.KSWLibraryBuilder.buildLibrary(KSWLibrar
yBuil
der.java:161)
[java] at ptolemy.vergil.VergilApplication.openLibrary(VergilAppli
catio
n.java:216)
[java] at ptolemy.vergil.VergilApplication._createDefaultConfigura
tion(
VergilApplication.java:410)
[java] at ptolemy.vergil.VergilApplication._createEmptyConfigurati
on(Ve
rgilApplication.java:427)
[java] at ptolemy.actor.gui.MoMLApplication._parseArgs(MoMLApplica
tion.
java:903)
[java] at ptolemy.vergil.VergilApplication._parseArgs(VergilApplic
ation
.java:527)
[java] at ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication
.java
:210)
[java] at ptolemy.vergil.VergilApplication.<init>(VergilApplicatio
n.jav
a:107)
[java] at org.kepler.gui.KeplerApplication.main(KeplerApplication.
java:
34)
[java] ptolemy.kernel.util.IllegalActionException: Error building tree
mode
l: Error building tree model: Error building tree model: null
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:689)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.getLibrary
(Libr
aryIndex.java:567)
[java] at org.kepler.moml.KSWLibraryBuilder.buildLibrary(KSWLibrar
yBuil
der.java:161)
[java] at ptolemy.vergil.VergilApplication.openLibrary(VergilAppli
catio
n.java:216)
[java] at ptolemy.vergil.VergilApplication._createDefaultConfigura
tion(
VergilApplication.java:410)
[java] at ptolemy.vergil.VergilApplication._createEmptyConfigurati
on(Ve
rgilApplication.java:427)
[java] at ptolemy.actor.gui.MoMLApplication._parseArgs(MoMLApplica
tion.
java:903)
[java] at ptolemy.vergil.VergilApplication._parseArgs(VergilApplic
ation
.java:527)
[java] at ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication
.java
:210)
[java] at ptolemy.vergil.VergilApplication.<init>(VergilApplicatio
n.jav
a:107)
[java] at org.kepler.gui.KeplerApplication.main(KeplerApplication.
java:
34)
[java] ptolemy.kernel.util.IllegalActionException: Error building tree
mode
l: Error building tree model: Error building tree model: Error building tre
e mod
el: null
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:689)
[java] at org.kepler.objectmanager.library.LibraryIndex.getLibrary
(Libr
aryIndex.java:567)
[java] at org.kepler.moml.KSWLibraryBuilder.buildLibrary(KSWLibrar
yBuil
der.java:161)
[java] at ptolemy.vergil.VergilApplication.openLibrary(VergilAppli
catio
n.java:216)
[java] at ptolemy.vergil.VergilApplication._createDefaultConfigura
tion(
VergilApplication.java:410)
[java] at ptolemy.vergil.VergilApplication._createEmptyConfigurati
on(Ve
rgilApplication.java:427)
[java] at ptolemy.actor.gui.MoMLApplication._parseArgs(MoMLApplica
tion.
java:903)
[java] at ptolemy.vergil.VergilApplication._parseArgs(VergilApplic
ation
.java:527)
[java] at ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication
.java
:210)
[java] at ptolemy.vergil.VergilApplication.<init>(VergilApplicatio
n.jav
a:107)
[java] at org.kepler.gui.KeplerApplication.main(KeplerApplication.
java:
34)
[java] ptolemy.kernel.util.IllegalActionException: Error building tree
mode
l: Error building tree model: Error building tree model: Error building tre
e mod
el: null
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:689)
[java] at org.kepler.objectmanager.library.LibraryIndex.getLibrary
(Libr
aryIndex.java:567)
[java] at org.kepler.moml.KSWLibraryBuilder.buildLibrary(KSWLibrar
yBuil
der.java:161)
[java] at ptolemy.vergil.VergilApplication.openLibrary(VergilAppli
catio
n.java:216)
[java] at ptolemy.vergil.VergilApplication._createDefaultConfigura
tion(
VergilApplication.java:410)
[java] at ptolemy.vergil.VergilApplication._createEmptyConfigurati
on(Ve
rgilApplication.java:427)
[java] at ptolemy.actor.gui.MoMLApplication._parseArgs(MoMLApplica
tion.
java:903)
[java] at ptolemy.vergil.VergilApplication._parseArgs(VergilApplic
ation
.java:527)
[java] at ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication
.java
:210)
[java] at ptolemy.vergil.VergilApplication.<init>(VergilApplicatio
n.jav
a:107)
[java] at org.kepler.gui.KeplerApplication.main(KeplerApplication.
java:
34)
[java] java.lang.Exception:
[java] Kepler TableauFrame._getDefaultIconImage(): currentThread: Thre
ad[AW
T-EventQueue-0,6,main] isEventDispatchThread: true
[java] at ptolemy.actor.gui.TableauFrame._getDefaultIconImage(Tabl
eauFr
ame.java:715)
[java] at ptolemy.actor.gui.TableauFrame.<init>(TableauFrame.java:
121)
[java] at ptolemy.actor.gui.TableauFrame.<init>(TableauFrame.java:
108)
[java] at ptolemy.actor.gui.PtolemyFrame.<init>(PtolemyFrame.java:
97)
[java] at ptolemy.vergil.basic.BasicGraphFrame.<init>(BasicGraphFr
ame.j
ava:207)
[java] at ptolemy.vergil.basic.ExtendedGraphFrame.<init>(ExtendedG
raphF
rame.java:95)
[java] at ptolemy.vergil.actor.ActorGraphFrame.<init>(ActorGraphFr
ame.j
ava:121)
[java] at ptolemy.vergil.actor.ActorGraphTableau.<init>(ActorGraph
Table
au.java:108)
[java] at ptolemy.vergil.actor.ActorGraphTableau$Factory.createTab
leau(
ActorGraphTableau.java:163)
[java] at ptolemy.actor.gui.PtolemyTableauFactory.createTableau(Pt
olemy
TableauFactory.java:100)
[java] at ptolemy.actor.gui.TableauFactory.createTableau(TableauFa
ctory
.java:122)
[java] at ptolemy.actor.gui.Configuration.createPrimaryTableau(Con
figur
ation.java:215)
[java] at ptolemy.vergil.VergilApplication$1.run(VergilApplication
.java
:440)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.
java:
178)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Ev
entDi
spatchThread.java:201)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:151)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:141)
[java] at java.awt.Dialog$1.run(Dialog.java:540)
[java] at java.awt.Dialog.show(Dialog.java:561)
[java] at javax.swing.JOptionPane.showOptionDialog(JOptionPane.jav
a:840
)
[java] at ptolemy.gui.GraphicalMessageHandler$2.run(GraphicalMessa
geHan
dler.java:175)
[java] at ptolemy.gui.Top._executeDeferredActions(Top.java:973)
[java] at ptolemy.gui.Top.access$000(Top.java:124)
[java] at ptolemy.gui.Top$4.run(Top.java:236)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.
java:
178)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Ev
entDi
spatchThread.java:201)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:151)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThr
ead.j
ava:145)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThr
ead.j
ava:137)
[java] at java.awt.EventDispatchThread.run(EventDispatchThread.jav
a:100
)
[java] java.lang.NullPointerException
[java] at org.kepler.objectmanager.ActorMetadata.getActorAsNamedOb
j(Act
orMetadata.java:571)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:668)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.createLibr
ary(L
ibraryIndex.java:540)
[java] at org.kepler.gui.TabbedLibraryPane.<init>(TabbedLibraryPan
e.jav
a:72)
[java] at org.kepler.gui.TabbedLibraryPane$Factory.createLibraryPa
ne(Ta
bbedLibraryPane.java:228)
[java] at org.kepler.gui.LibraryPaneFactory.createLibraryPane(Libr
aryPa
neFactory.java:121)
[java] at ptolemy.vergil.basic.BasicGraphFrame.<init>(BasicGraphFr
ame.j
ava:352)
[java] at ptolemy.vergil.basic.ExtendedGraphFrame.<init>(ExtendedG
raphF
rame.java:95)
[java] at ptolemy.vergil.actor.ActorGraphFrame.<init>(ActorGraphFr
ame.j
ava:121)
[java] at ptolemy.vergil.actor.ActorGraphTableau.<init>(ActorGraph
Table
au.java:108)
[java] at ptolemy.vergil.actor.ActorGraphTableau$Factory.createTab
leau(
ActorGraphTableau.java:163)
[java] at ptolemy.actor.gui.PtolemyTableauFactory.createTableau(Pt
olemy
TableauFactory.java:100)
[java] at ptolemy.actor.gui.TableauFactory.createTableau(TableauFa
ctory
.java:122)
[java] at ptolemy.actor.gui.Configuration.createPrimaryTableau(Con
figur
ation.java:215)
[java] at ptolemy.vergil.VergilApplication$1.run(VergilApplication
.java
:440)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.
java:
178)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Ev
entDi
spatchThread.java:201)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:151)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:141)
[java] at java.awt.Dialog$1.run(Dialog.java:540)
[java] at java.awt.Dialog.show(Dialog.java:561)
[java] at javax.swing.JOptionPane.showOptionDialog(JOptionPane.jav
a:840
)
[java] at ptolemy.gui.GraphicalMessageHandler$2.run(GraphicalMessa
geHan
dler.java:175)
[java] at ptolemy.gui.Top._executeDeferredActions(Top.java:973)
[java] at ptolemy.gui.Top.access$000(Top.java:124)
[java] at ptolemy.gui.Top$4.run(Top.java:236)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.
java:
178)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Ev
entDi
spatchThread.java:201)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:151)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThr
ead.j
ava:145)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThr
ead.j
ava:137)
[java] at java.awt.EventDispatchThread.run(EventDispatchThread.jav
a:100
)
[java] ptolemy.kernel.util.IllegalActionException: Error building tree
mode
l: null
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:689)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.createLibr
ary(L
ibraryIndex.java:540)
[java] at org.kepler.gui.TabbedLibraryPane.<init>(TabbedLibraryPan
e.jav
a:72)
[java] at org.kepler.gui.TabbedLibraryPane$Factory.createLibraryPa
ne(Ta
bbedLibraryPane.java:228)
[java] at org.kepler.gui.LibraryPaneFactory.createLibraryPane(Libr
aryPa
neFactory.java:121)
[java] at ptolemy.vergil.basic.BasicGraphFrame.<init>(BasicGraphFr
ame.j
ava:352)
[java] at ptolemy.vergil.basic.ExtendedGraphFrame.<init>(ExtendedG
raphF
rame.java:95)
[java] at ptolemy.vergil.actor.ActorGraphFrame.<init>(ActorGraphFr
ame.j
ava:121)
[java] at ptolemy.vergil.actor.ActorGraphTableau.<init>(ActorGraph
Table
au.java:108)
[java] at ptolemy.vergil.actor.ActorGraphTableau$Factory.createTab
leau(
ActorGraphTableau.java:163)
[java] at ptolemy.actor.gui.PtolemyTableauFactory.createTableau(Pt
olemy
TableauFactory.java:100)
[java] at ptolemy.actor.gui.TableauFactory.createTableau(TableauFa
ctory
.java:122)
[java] at ptolemy.actor.gui.Configuration.createPrimaryTableau(Con
figur
ation.java:215)
[java] at ptolemy.vergil.VergilApplication$1.run(VergilApplication
.java
:440)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.
java:
178)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Ev
entDi
spatchThread.java:201)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:151)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:141)
[java] at java.awt.Dialog$1.run(Dialog.java:540)
[java] at java.awt.Dialog.show(Dialog.java:561)
[java] at javax.swing.JOptionPane.showOptionDialog(JOptionPane.jav
a:840
)
[java] at ptolemy.gui.GraphicalMessageHandler$2.run(GraphicalMessa
geHan
dler.java:175)
[java] at ptolemy.gui.Top._executeDeferredActions(Top.java:973)
[java] at ptolemy.gui.Top.access$000(Top.java:124)
[java] at ptolemy.gui.Top$4.run(Top.java:236)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.
java:
178)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Ev
entDi
spatchThread.java:201)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:151)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThr
ead.j
ava:145)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThr
ead.j
ava:137)
[java] at java.awt.EventDispatchThread.run(EventDispatchThread.jav
a:100
)
[java] ptolemy.kernel.util.IllegalActionException: Error building tree
mode
l: Error building tree model: null
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:689)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.createLibr
ary(L
ibraryIndex.java:540)
[java] at org.kepler.gui.TabbedLibraryPane.<init>(TabbedLibraryPan
e.jav
a:72)
[java] at org.kepler.gui.TabbedLibraryPane$Factory.createLibraryPa
ne(Ta
bbedLibraryPane.java:228)
[java] at org.kepler.gui.LibraryPaneFactory.createLibraryPane(Libr
aryPa
neFactory.java:121)
[java] at ptolemy.vergil.basic.BasicGraphFrame.<init>(BasicGraphFr
ame.j
ava:352)
[java] at ptolemy.vergil.basic.ExtendedGraphFrame.<init>(ExtendedG
raphF
rame.java:95)
[java] at ptolemy.vergil.actor.ActorGraphFrame.<init>(ActorGraphFr
ame.j
ava:121)
[java] at ptolemy.vergil.actor.ActorGraphTableau.<init>(ActorGraph
Table
au.java:108)
[java] at ptolemy.vergil.actor.ActorGraphTableau$Factory.createTab
leau(
ActorGraphTableau.java:163)
[java] at ptolemy.actor.gui.PtolemyTableauFactory.createTableau(Pt
olemy
TableauFactory.java:100)
[java] at ptolemy.actor.gui.TableauFactory.createTableau(TableauFa
ctory
.java:122)
[java] at ptolemy.actor.gui.Configuration.createPrimaryTableau(Con
figur
ation.java:215)
[java] at ptolemy.vergil.VergilApplication$1.run(VergilApplication
.java
:440)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.
java:
178)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Ev
entDi
spatchThread.java:201)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:151)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:141)
[java] at java.awt.Dialog$1.run(Dialog.java:540)
[java] at java.awt.Dialog.show(Dialog.java:561)
[java] at javax.swing.JOptionPane.showOptionDialog(JOptionPane.jav
a:840
)
[java] at ptolemy.gui.GraphicalMessageHandler$2.run(GraphicalMessa
geHan
dler.java:175)
[java] at ptolemy.gui.Top._executeDeferredActions(Top.java:973)
[java] at ptolemy.gui.Top.access$000(Top.java:124)
[java] at ptolemy.gui.Top$4.run(Top.java:236)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.
java:
178)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Ev
entDi
spatchThread.java:201)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:151)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThr
ead.j
ava:145)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThr
ead.j
ava:137)
[java] at java.awt.EventDispatchThread.run(EventDispatchThread.jav
a:100
)
[java] ptolemy.kernel.util.IllegalActionException: Error building tree
mode
l: Error building tree model: Error building tree model: null
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:689)
[java] at org.kepler.objectmanager.library.LibraryIndex.buildTreeM
odel(
LibraryIndex.java:661)
[java] at org.kepler.objectmanager.library.LibraryIndex.createLibr
ary(L
ibraryIndex.java:540)
[java] at org.kepler.gui.TabbedLibraryPane.<init>(TabbedLibraryPan
e.jav
a:72)
[java] at org.kepler.gui.TabbedLibraryPane$Factory.createLibraryPa
ne(Ta
bbedLibraryPane.java:228)
[java] at org.kepler.gui.LibraryPaneFactory.createLibraryPane(Libr
aryPa
neFactory.java:121)
[java] at ptolemy.vergil.basic.BasicGraphFrame.<init>(BasicGraphFr
ame.j
ava:352)
[java] at ptolemy.vergil.basic.ExtendedGraphFrame.<init>(ExtendedG
raphF
rame.java:95)
[java] at ptolemy.vergil.actor.ActorGraphFrame.<init>(ActorGraphFr
ame.j
ava:121)
[java] at ptolemy.vergil.actor.ActorGraphTableau.<init>(ActorGraph
Table
au.java:108)
[java] at ptolemy.vergil.actor.ActorGraphTableau$Factory.createTab
leau(
ActorGraphTableau.java:163)
[java] at ptolemy.actor.gui.PtolemyTableauFactory.createTableau(Pt
olemy
TableauFactory.java:100)
[java] at ptolemy.actor.gui.TableauFactory.createTableau(TableauFa
ctory
.java:122)
[java] at ptolemy.actor.gui.Configuration.createPrimaryTableau(Con
figur
ation.java:215)
[java] at ptolemy.vergil.VergilApplication$1.run(VergilApplication
.java
:440)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.
java:
178)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Ev
entDi
spatchThread.java:201)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:151)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:141)
[java] at java.awt.Dialog$1.run(Dialog.java:540)
[java] at java.awt.Dialog.show(Dialog.java:561)
[java] at javax.swing.JOptionPane.showOptionDialog(JOptionPane.jav
a:840
)
[java] at ptolemy.gui.GraphicalMessageHandler$2.run(GraphicalMessa
geHan
dler.java:175)
[java] at ptolemy.gui.Top._executeDeferredActions(Top.java:973)
[java] at ptolemy.gui.Top.access$000(Top.java:124)
[java] at ptolemy.gui.Top$4.run(Top.java:236)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.
java:
178)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Ev
entDi
spatchThread.java:201)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDisp
atchThread.java:151)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThr
ead.j
ava:145)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThr
ead.j
ava:137)
[java] at java.awt.EventDispatchThread.run(EventDispatchThread.jav
a:100
)
--------
Hi, Christopher:
I draft this email couple days ago:
Thanks for modification. Now the nil token works as same as before(i.g.
kepler/workflows/test/test-eml-missing-value-field.xml works).
But it still doesn't work for the ArrayToken which has nil element (e.g
.
{nil, 1, 4}), the non-strict-test actor couldn't configure it out. The
example is in
kepler/workflows/test/test-eml-missing-value-column-vector.xml
Thanks.
Jing
Jing Tao
National Center for Ecological
Analysis and Synthesis (NCEAS)
735 State St. Suite 204
Santa Barbara, CA 93101
On Wed, 29 Mar 2006, Christopher Brooks wrote:
> Date: Wed, 29 Mar 2006 23:53:18 -0800
> From: Christopher Brooks <cxh at eecs.berkeley.edu>
> To: Tristan King <tristan.king at jcu.edu.au>
> Cc: kepler-dev at ecoinformatics.org
> Subject: Re: [kepler-dev] NIL token
>
> Hi Tristan,
> About empty arrays, what's the type of the elements of an empty array
?
> Hint: it is the sound of one hand clapping. :-)
>
> (Sorry, it is late here in California)
>
> You could try disabling the check in ArrayToken for empty arrays
> and see what happens when you create an empty array and try
> to perform an operation on it. My guess is that the type
> system will not be able to resolve the type of elements.
>
> I think the issue is that the way the type system works depends on
> having some element of the array have a type. If there are no
> elements, then it is unclear what the type of the elements would be.
>
> I think we need to differentiate between ArrayTokens that have
> one or more nil elements, but also have non-nil elements and
> ArrayTokens that are themselves nil, that is, they have no non-nil
> elements. Another case is where an array has one or more nil
> elements and non non-nil elements
>
> In other words:
> {1, nil} or {nil, 1} An array of 2 IntTokens, one of which is nil
> {nil} Is this an empty array or an array of size 1?
> {nil, nil} This would be an array of size 2.
>
>
> I'm starting to see nil tokens as the universal token.
>
> I just checked in some changes so that some of the Tokens have their
own
NIL
> token. Token.NIL, DoubleToken.NIL, IntToken.NIL, LongToken.NIL and al
l
> of these NILs are of a new type, "NilType". NilType is losslessly
> convertible to (from?) DoubleType, IntType, LongType etc.
>
> I think we need these Token specific NILs so that the convert()
> method will work.
>
> For example, IntToken.convert() looks like:
>
> public static IntToken convert(Token token) throws IllegalActionEx
cept
ion {
>
> If the Token argument is Token.NIL, we can't just do:
> if (token == null || token.isNil()) {
> return (IntToken)Token.NIL;
> }
> because Token.NIL is not an IntToken and we will get a cast exception
> at runtime.
>
> Instead, we must do:
> if (token == null || token.isNil()) {
> return Intoken.NIL;
> }
>
> Anyway, if we figure out how the basetypes work, then we can
> figure out how to better handle empty arrays.
> It could be that an ArrayToken with no elements is a nil
> ArrayToken {nil}
>
> Anyway, I checked in a modified version of Jing's example as
> $PTII/ptolemy/actor/lib/test/auto/NilTokenTypeTest.xml
> This test has a Const with value nil connected to a Test.
> However, the output port of the Const is set to type int by
> using the configure ports dialog
>
> With my most recent changes, this now test passes.
>
> [There seems to be a bug in the dialog where setting the port back fr
om
> int to nothing does not work, the error message still says int]
>
> I'll need to do some cleanup tomorrow on my most recent changes.
>
>
> _Christopher
>
> --------
>
> How about ArrayTokens? I've got a problem where my workflow goes i
nto
> deadlock if an ArrayToken with no values (which of course can't ex
ist)
> needs to be sent. And as you should know (or if i'm doing somethin
g
> wrong), a Token can't be cast to an ArrayToken.
>
> Currently I just have a 2nd output port which sends a boolean indi
cati
ng
> if there are no tokens being sent on the 1st port and have my othe
r
> actors check this port before trying to get values from the 1st po
rt.
> This works, but I find the extra relations needed can make the wor
kflo
w
> look quite messy, and i don't feel that having programming logic l
ike
> this in the workflow is good practice.
>
> I've not been able to find a good explanation for why ArrayTokens
can'
t
> be constructed with empty arrays, if someone knows the reason for
this
> can I get an explanation please?
>
> Christopher Brooks wrote:
> > Hi Jing,
> > Thanks for the stack trace. I am tied up with getting Ptolemy I
I
> > ready shipping, so time is short. Also, I wanted Edward to see
the
> > stack trace. If I had a small test, I could check it in to the
tree
.
> > Yep, I should start up kepler . . .
> >
> > The problem is that TypeLattice.compare() returning
> > either CPO.HIGHER or CPO.INCOMPARABLE.
> >
> > protected void _checkType(Token token) throws IllegalActionE
xcep
tion
> {
> > int compare = TypeLattice.compare(token.getType(), _reso
lved
Type)
> ;
> >
> > if ((compare == CPO.HIGHER) || (compare == CPO.INCOMPARA
BLE)
) {
> > throw new IllegalActionException(this,
> > Line 741: "Run-time type checking failed. Token " +
toke
n
> > + " with type " + token.getType()
> > + " is incompatible with port type:
"
> > + getType().toString());
> > }
> > }
> >
> > One hack would be to modify the code so that we check to see
> > if the Token is nil before calling TypeLattice.compare().
> > This seems a bit brute force and would require changing at least
> > 112 calls to TypeLattice.compare() in the Ptolemy tree.
> >
> > Another idea would be for each Token to have its own NIL token.
> > This seems inelegant.
> >
> > Perhaps the NIL token needs to have a getType() method that retu
rns
> > something that the type lattice will properly type check. A NIL
> > token is the univesal token, it can be used anywhere.
> >
> > Modifying ptolemy.data.Token so it redefines getType might work:
> >
> > /** A token that represents a missing value.
> > * Null or missing tokens are common in analytical systems
> > * like R and SAS where they are used to handle sparsely po
pula
ted d
> ata
> > * sources. In database parlance, missing tokens are somet
imes
call
> ed
> > * null tokens. Since null is a Java keyword, we use the t
erm
"nil"
> .
> > * The toString() method on a nil token returns the string
"nil
".
> > */
> > public static final Token NIL = new Token() {
> > /** Return the type of this token.
> > * @return BaseType.UNKNOWN;
> > */
> > public Type getType() {
> > return BaseType.UNKNOWN;
> > }
> > };
> >
> > However, I think we need to instead add a new type, which is the
> > type that is specific to NIL. This type is in some ways in
> > comparable, but operations such as add can be performed on it.
> > TypeLattice.compare() would need to be modified so if one
> > of the arguments is the newly defind NIL type, then it returns
> > ptolemy.graph.CPO.SAME.
> > This seems like a scary change that could affect performance.
> >
> > If you can send me a small test case that I can add to the Ptole
my
> > tree, I can see about hacking something in.
> >
> > Comments?
> >
> > _Christopher
> >
> > --------
> >
> > Hi, Christopher:
> >
> > The test workflow is alreay in
> > kepler/workflows/test/test-eml-missing-value-field.xml. You
may
run i
> t and
> > to see what will happen. The stack trace is:
> >
> > ptolemy.kernel.util.IllegalActionException: Run-time type ch
ecki
ng fa
> iled.
> > Token nil with type general is incompatible with port type:
doub
le
> > in .test-eml-missing-value-field.Missing Value.Column2
> > at ptolemy.actor.TypedIOPort._checkType(TypedIOPort.jav
a:741)
> > at ptolemy.actor.TypedIOPort.send(TypedIOPort.java:463)
> > at
> > org.ecoinformatics.seek.datasource.eml.eml2.Eml200OutputType
Fiel
d.fir
> e(Eml2
> > 00OutputTypeField.java:103)
> > at
> > org.ecoinformatics.seek.datasource.eml.eml2.Eml200DataSource
.fir
e(Eml
> 200Dat
> > aSource.java:552)
> > at ptolemy.actor.AtomicActor.iterate(AtomicActor.java:3
09)
> > at
> > ptolemy.actor.sched.StaticSchedulingDirector.fire(StaticSche
duli
ngDir
> ector.
> > java:170)
> > at ptolemy.actor.CompositeActor.fire(CompositeActor.jav
a:331)
> > at ptolemy.actor.Manager.iterate(Manager.java:613)
> > at ptolemy.actor.Manager.execute(Manager.java:322)
> > at ptolemy.actor.Manager.run(Manager.java:985)
> > at ptolemy.actor.Manager$3.run(Manager.java:1026)
> >
> >
> > Thanks,
> >
> > Jing
> >
> > Jing Tao
> > National Center for Ecological
> > Analysis and Synthesis (NCEAS)
> > 735 State St. Suite 204
> > Santa Barbara, CA 93101
> >
> > On Wed, 29 Mar 2006, Christopher Brooks wrote:
> >
> > > Date: Wed, 29 Mar 2006 11:04:25 -0800
> > > From: Christopher Brooks <cxh at eecs.berkeley.edu>
> > > To: Jing Tao <tao at nceas.ucsb.edu>
> > > Cc: kepler-dev at ecoinformatics.org
> > > Subject: Re: [kepler-dev] NIL token
> > >
> > > Hi Jing,
> > >
> > > Good question, I was afraid there might be issues surround
ing
> > > Nil tokens and types. My previous design had nil-ness bei
ng a
> > > property of the token, so we had a DoubleToken that was of
> > > type double and was nil. Now we have just one token which
is
nil.
> > >
> > > Can you construct a small model that has a similar failure
?
> > >
> > > Also, what's the stack trace of the current failure?
> > > Perhaps where the types are being checked needs to be upda
ted
to
> > > handle nilness
> > >
> > > _Christopher
> > >
> > > --------
> > >
> > > hi, Christopher:
> > >
> > > According to the changes you made in ptolemy about nil
toke
n, I
> made t
> > he
> > > changes in kepler for missing value too.
> > >
> > > Since currently we only have one public static variable
NIL
in T
> oken c
> > lass
> > > (NIL is a generic type and there is no any other nil in
sub
toke
> n
> > > classes), I think every missing value element should be
rep
laced
> by th
> > e
> > > NIL token no matter what the data type it is. But when
I ru
n the
> workf
> > low
> > > test, I got some error:
> > >
> > > Workflow workflows/test/test-ecogrid-eml-gce-data.xml F
AILE
D:
> > > [java] ptolemy.kernel.util.IllegalActionException: Run-
time
type
> check
> > ing
> > > failed. Token nil with type general is
> > > incompatible with port type: int
> > >
> > > So it seems the NIL token is not compatible to int port
typ
e. Di
> d I mi
> > ss
> > > something? How can I make the NIL token to compatible i
nt p
ort t
> ype?
> > >
> > > Thanks,
> > >
> > > Jing
> > >
> > > Jing Tao
> > > National Center for Ecological
> > > Analysis and Synthesis (NCEAS)
> > > 735 State St. Suite 204
> > > Santa Barbara, CA 93101
> > > _______________________________________________
> > > Kepler-dev mailing list
> > > Kepler-dev at ecoinformatics.org
> > > http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/li
stin
fo/ke
> pler-d
> > ev
> > > --------
> > >
> > >
> > --------
> > _______________________________________________
> > Kepler-dev mailing list
> > Kepler-dev at ecoinformatics.org
> > http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/ke
pler
-dev
> >
>
> --
> Tristan King | Ph: (07) 4781 6911
> DART project team | Email: Tristan.King at jcu.
edu.
au
> James Cook University | Web: http://dart.edu.au
> Townsville QLD 4814 | http://plone.jcu.edu.au/
dart
/
> Australia |
> _______________________________________________
> Kepler-dev mailing list
> Kepler-dev at ecoinformatics.org
> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepl
er-d
ev
> --------
> _______________________________________________
> Kepler-dev mailing list
> Kepler-dev at ecoinformatics.org
> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-
dev
>
>
>
--------
_______________________________________________
Kepler-dev mailing list
Kepler-dev at ecoinformatics.org
http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev
--------
More information about the Kepler-dev
mailing list