[kepler-dev] Adding new actor

Matthew Jones jones at nceas.ucsb.edu
Wed Dec 6 08:04:53 PST 2006


Nandita,

Icons are now assigned via external mappings, not in the actor code. 
This allows us to reconfigure the look and feel by just reconfiguring 
the icon mappings file -- no code changes are needed.  Icons are mapped 
to actors by both LSID and Classname -- see the files 
"uiSVGIconMappingsByLSID.properties" and 
"uiSVGIconMappingsByClass.properties" that are in the 
configs/ptolemy/configs/kepler.

Note that we worked very hard to achieve visual consistency among the 
icons and to limit the number of icons in use, as well as classify the 
icons into families that share a common visual template -- so its 
probably best if you choose one of the existing icons or icon families 
and just map to it in the files.

Best wishes,
Matt

Nandita Mangal wrote:
> also what is the method to attach an svg image with an actor on the 
> kepler canvas ...( _attachText("_iconDescription",...)?)
> I want to use an already existing svg icon.
> thanks,
> nandita.
> 
> Nandita Mangal wrote:
>> hi there,
>> Is the following the correct way of adding new actor to the library panel:
>> 1) create actor folder under src/actors
>> 2) add manifest & xml files with appropriate ids.
>>
>> I am able to create one actor from above method...  however for another 
>> actor its not able to find the actor on classpath:
>>
>>      [java] The class name you entered was not found in the classpath.  
>> Note tha
>> t the class you are trying to enter must be in the classpath from which 
>> you launched this program: null
>>      [java] java.lang.NullPointerException: Could not clone actor 
>> 'PegasusJobAbstract' from the 'util.PegasusJobAbstract' class, the actor 
>> null, meaning it was
>> not found? Perhaps there is a classpath problem of the karlib needs to 
>> be flushed?
>> .....
>>
>> The actor's class is in build/classes , which is on the classpath. I 
>> have tried adding after re-building kar and deleting .kepler..however 
>> its still not able to find the actor on the classpath.
>> If i instantiate the above actor from the workspace...and try to add it 
>> to the library by "importing kar archive"..it gives me similar errors of 
>> not finding classpath.
>>  If anybody knows what I might be doing wrong, please let me know :)
>>
>> thanks!
>> nandita.
>>
>> ---------------------------------------------------------------------------------------------
>>
>>      [echo] java.library.path=c:/WINDOWS/system32
>>      [java] KAR Library directories: [C:\Project\kepler\kar\actors, 
>> C:\Project\k
>> epler\kar\directors]
>>      [java] The class name you entered was not found in the classpath.  
>> Note tha
>> t the class you are trying to enter must be in the classpath from which 
>> you laun
>> ched this program: null
>>         [java] java.lang.NullPointerException: Could not clone actor 
>> 'PegasusJobAbs
>> tract' from the 'util.PegasusJobAbstract' class, the actor null, meaning 
>> it was
>> not found? Perhaps there is a classpath problem of the karlib needs to 
>> be flushe
>> d?
>>      [java]     at 
>> org.kepler.objectmanager.ActorMetadata.getActorAsNamedObj(Act
>> orMetadata.java:600)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:748)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:741)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:741)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:741)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
>> aryIndex.java:618)
>>      [java]     at 
>> org.kepler.moml.KSWLibraryBuilder.buildLibrary(KSWLibraryBuil
>> der.java:161)
>>      [java]     at 
>> ptolemy.actor.gui.UserActorLibrary.openLibrary(UserActorLibra
>> ry.java:199)
>>      [java]     at 
>> ptolemy.actor.gui.UserActorLibrary.openUserLibrary(UserActorL
>> ibrary.java:137)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._createDefaultConfiguration(
>> VergilApplication.java:252)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._createEmptyConfiguration(Ve
>> rgilApplication.java:269)
>>      [java]     at 
>> ptolemy.actor.gui.MoMLApplication._parseArgs(MoMLApplication.
>> java:942)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._parseArgs(VergilApplication
>> .java:357)
>>      [java]     at 
>> ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication.java
>> :212)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication.<init>(VergilApplication.jav
>> a:98)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication$1.run(VergilApplication.java
>> :141)
>>      [java]     at 
>> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:
>> 209)
>>      [java]     at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDi
>> spatchThread.java:242)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDisp
>> atchThread.java:163)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
>> ava:157)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
>> ava:149)
>>      [java]     at 
>> java.awt.EventDispatchThread.run(EventDispatchThread.java:110
>> )
>>      [java] ptolemy.kernel.util.IllegalActionException: Error building 
>> tree mode
>> l: Could not clone actor 'PegasusJobAbstract' from the 
>> 'util.PegasusJobAbstract'
>>  class, the actor null, meaning it was not found? Perhaps there is a 
>> classpath p
>> roblem of the karlib needs to be flushed?
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:769)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:741)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:741)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:741)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
>> aryIndex.java:618)
>>      [java]     at 
>> org.kepler.moml.KSWLibraryBuilder.buildLibrary(KSWLibraryBuil
>> der.java:161)
>>      [java]     at 
>> ptolemy.actor.gui.UserActorLibrary.openLibrary(UserActorLibra
>> ry.java:199)
>>      [java]     at 
>> ptolemy.actor.gui.UserActorLibrary.openUserLibrary(UserActorL
>> ibrary.java:137)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._createDefaultConfiguration(
>> VergilApplication.java:252)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._createEmptyConfiguration(Ve
>> rgilApplication.java:269)
>>      [java]     at 
>> ptolemy.actor.gui.MoMLApplication._parseArgs(MoMLApplication.
>> java:942)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._parseArgs(VergilApplication
>> .java:357)
>>      [java]     at 
>> ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication.java
>> :212)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication.<init>(VergilApplication.jav
>> a:98)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication$1.run(VergilApplication.java
>> :141)
>>      [java]     at 
>> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:
>> 209)
>>      [java]     at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDi
>> spatchThread.java:242)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDisp
>> atchThread.java:163)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
>> ava:157)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
>> ava:149)
>>      [java]     at 
>> java.awt.EventDispatchThread.run(EventDispatchThread.java:110
>> )
>>      [java] ptolemy.kernel.util.IllegalActionException: Error building 
>> tree mode
>> l: Error building tree model: Could not clone actor 'PegasusJobAbstract' 
>> from th
>> e 'util.PegasusJobAbstract' class, the actor null, meaning it was not 
>> found? Per
>> haps there is a classpath problem of the karlib needs to be flushed?
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:769)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:741)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:741)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
>> aryIndex.java:618)
>>      [java]     at 
>> org.kepler.moml.KSWLibraryBuilder.buildLibrary(KSWLibraryBuil
>> der.java:161)
>>      [java]     at 
>> ptolemy.actor.gui.UserActorLibrary.openLibrary(UserActorLibra
>> ry.java:199)
>>      [java]     at 
>> ptolemy.actor.gui.UserActorLibrary.openUserLibrary(UserActorL
>> ibrary.java:137)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._createDefaultConfiguration(
>> VergilApplication.java:252)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._createEmptyConfiguration(Ve
>> rgilApplication.java:269)
>>      [java]     at 
>> ptolemy.actor.gui.MoMLApplication._parseArgs(MoMLApplication.
>> java:942)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._parseArgs(VergilApplication
>> .java:357)
>>      [java]     at 
>> ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication.java
>> :212)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication.<init>(VergilApplication.jav
>> a:98)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication$1.run(VergilApplication.java
>> :141)
>>      [java]     at 
>> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:
>> 209)
>>      [java]     at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDi
>> spatchThread.java:242)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDisp
>> atchThread.java:163)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
>> ava:157)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
>> ava:149)
>>      [java]     at 
>> java.awt.EventDispatchThread.run(EventDispatchThread.java:110
>> )
>>      [java] ptolemy.kernel.util.IllegalActionException: Error building 
>> tree mode
>> l: Error building tree model: Error building tree model: Could not clone 
>> actor '
>> PegasusJobAbstract' from the 'util.PegasusJobAbstract' class, the actor 
>> null, me
>> aning it was not found? Perhaps there is a classpath problem of the 
>> karlib needs
>>  to be flushed?
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:769)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:741)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
>> aryIndex.java:618)
>>      [java]     at 
>> org.kepler.moml.KSWLibraryBuilder.buildLibrary(KSWLibraryBuil
>> der.java:161)
>>      [java]     at 
>> ptolemy.actor.gui.UserActorLibrary.openLibrary(UserActorLibra
>> ry.java:199)
>>      [java]     at 
>> ptolemy.actor.gui.UserActorLibrary.openUserLibrary(UserActorL
>> ibrary.java:137)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._createDefaultConfiguration(
>> VergilApplication.java:252)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._createEmptyConfiguration(Ve
>> rgilApplication.java:269)
>>      [java]     at 
>> ptolemy.actor.gui.MoMLApplication._parseArgs(MoMLApplication.
>> java:942)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._parseArgs(VergilApplication
>> .java:357)
>>      [java]     at 
>> ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication.java
>> :212)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication.<init>(VergilApplication.jav
>> a:98)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication$1.run(VergilApplication.java
>> :141)
>>      [java]     at 
>> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:
>> 209)
>>      [java]     at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDi
>> spatchThread.java:242)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDisp
>> atchThread.java:163)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
>> ava:157)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
>> ava:149)
>>      [java]     at 
>> java.awt.EventDispatchThread.run(EventDispatchThread.java:110
>> )
>>      [java] ptolemy.kernel.util.IllegalActionException: Error building 
>> tree mode
>> l: Error building tree model: Error building tree model: Error building 
>> tree mod
>> el: Could not clone actor 'PegasusJobAbstract' from the 
>> 'util.PegasusJobAbstract
>> ' class, the actor null, meaning it was not found? Perhaps there is a 
>> classpath
>> problem of the karlib needs to be flushed?
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:769)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
>> aryIndex.java:618)
>>      [java]     at 
>> org.kepler.moml.KSWLibraryBuilder.buildLibrary(KSWLibraryBuil
>> der.java:161)
>>      [java]     at 
>> ptolemy.actor.gui.UserActorLibrary.openLibrary(UserActorLibra
>> ry.java:199)
>>      [java]     at 
>> ptolemy.actor.gui.UserActorLibrary.openUserLibrary(UserActorL
>> ibrary.java:137)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._createDefaultConfiguration(
>> VergilApplication.java:252)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._createEmptyConfiguration(Ve
>> rgilApplication.java:269)
>>      [java]     at 
>> ptolemy.actor.gui.MoMLApplication._parseArgs(MoMLApplication.
>> java:942)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._parseArgs(VergilApplication
>> .java:357)
>>      [java]     at 
>> ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication.java
>> :212)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication.<init>(VergilApplication.jav
>> a:98)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication$1.run(VergilApplication.java
>> :141)
>>      [java]     at 
>> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:
>> 209)
>>      [java]     at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDi
>> spatchThread.java:242)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDisp
>> atchThread.java:163)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
>> ava:157)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
>> ava:149)
>>      [java]     at 
>> java.awt.EventDispatchThread.run(EventDispatchThread.java:110
>> )
>>      [java] ptolemy.kernel.util.IllegalActionException: Error building 
>> tree mode
>> l: Error building tree model: Error building tree model: Error building 
>> tree mod
>> el: Could not clone actor 'PegasusJobAbstract' from the 
>> 'util.PegasusJobAbstract
>> ' class, the actor null, meaning it was not found? Perhaps there is a 
>> classpath
>> problem of the karlib needs to be flushed?
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>> LibraryIndex.java:769)
>>      [java]     at 
>> org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
>> aryIndex.java:618)
>>      [java]     at 
>> org.kepler.moml.KSWLibraryBuilder.buildLibrary(KSWLibraryBuil
>> der.java:161)
>>      [java]     at 
>> ptolemy.actor.gui.UserActorLibrary.openLibrary(UserActorLibra
>> ry.java:199)
>>      [java]     at 
>> ptolemy.actor.gui.UserActorLibrary.openUserLibrary(UserActorL
>> ibrary.java:137)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._createDefaultConfiguration(
>> VergilApplication.java:252)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._createEmptyConfiguration(Ve
>> rgilApplication.java:269)
>>      [java]     at 
>> ptolemy.actor.gui.MoMLApplication._parseArgs(MoMLApplication.
>> java:942)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication._parseArgs(VergilApplication
>> .java:357)
>>      [java]     at 
>> ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication.java
>> :212)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication.<init>(VergilApplication.jav
>> a:98)
>>      [java]     at 
>> ptolemy.vergil.VergilApplication$1.run(VergilApplication.java
>> :141)
>>      [java]     at 
>> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:
>> 209)
>>      [java]     at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDi
>> spatchThread.java:242)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDisp
>> atchThread.java:163)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
>> ava:157)
>>      [java]     at 
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j
>> ava:149)
>>      [java]     at 
>> java.awt.EventDispatchThread.run(EventDispatchThread.java:110
>> )
>>
>>
>>
>>
>>
>> _______________________________________________
>> 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
> 

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Matthew B. Jones
jones at nceas.ucsb.edu                Ph: 541-888-2581 ext. 287
National Center for Ecological Analysis and Synthesis (NCEAS)
UC Santa Barbara
http://www.nceas.ucsb.edu/ecoinformatics
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


More information about the Kepler-dev mailing list