[kepler-dev] Adding actors programmatically ......

jagan Jagan.Kommineni at infotech.monash.edu.au
Wed Feb 15 16:22:10 PST 2006


Hello Chad,

          I have created and added lsid into idStore,  
==================================
      LSIDGenerator lsidGenerator = LSIDGenerator.getInstance();
      LibraryIndex index = LibraryIndex.getInstance();
      KeplerLSID lsid = lsidGenerator.getNewLSID("actor");
     
      LibraryIndexComponentItem itemToAdd = new 
LibraryIndexComponentItem(_actorNameStr, lsid);
      System.out.println("itemtoAdd="+itemToAdd);
      LibraryIndexItem subtree = index.findItem(new 
KeplerLSID("urn:lsid:localhost:onto:1:1#PreConfiguredGridletActor"));
      System.out.println("subtreeitem="+subtree);
      index.add(itemToAdd, subtree);
      index.refresh();
=================================
When I try to refresh, I am getting the following error message,

It seems to me that while building tree, newly created lsid is not able 
to find in cache.

Do I need to add some code to add lsid into cache?

========================================
     [java] itemtoAdd=<component name="localActorName" 
lsid="urn:lsid:kepler-pro
ject.org:actor:501:1"/>

     [java] subtreeitem=<concept name="gridlets" 
lsid="urn:lsid:localhost:onto:1
:1#PreConfiguredGridletActor"/>

     [java] Could not resolve lsid urn:lsid:kepler-project.org:actor:501:1
     [java] java.lang.NullPointerException
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:647)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
aryIndex.java:552)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.refresh(Library
Index.java:563)
     [java]     at 
org.monash.griddles.JGridletCreater.fire(JGridletCreater.java
:171)
     [java]     at 
ptolemy.actor.process.ProcessThread.run(ProcessThread.java:18
6)
     [java] ptolemy.kernel.util.IllegalActionException: Error building 
tree mode
l: null
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:670)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
aryIndex.java:552)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.refresh(Library
Index.java:563)
     [java]     at 
org.monash.griddles.JGridletCreater.fire(JGridletCreater.java
:171)
     [java]     at 
ptolemy.actor.process.ProcessThread.run(ProcessThread.java:18
6)
     [java] ptolemy.kernel.util.IllegalActionException: Error building 
tree mode
l: Error building tree model: null
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:670)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
aryIndex.java:552)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.refresh(Library
Index.java:563)
     [java]     at 
org.monash.griddles.JGridletCreater.fire(JGridletCreater.java
:171)
     [java]     at 
ptolemy.actor.process.ProcessThread.run(ProcessThread.java:18
6)
     [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.buildTreeModel(
LibraryIndex.java:670)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
aryIndex.java:552)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.refresh(Library
Index.java:563)
     [java]     at 
org.monash.griddles.JGridletCreater.fire(JGridletCreater.java
:171)
     [java]     at 
ptolemy.actor.process.ProcessThread.run(ProcessThread.java:18
6)
     [java] ptolemy.kernel.util.IllegalActionException: Error building 
tree mode
l: Error building tree model: Error building tree model: Error building 
tree mod
el: null
     [java] ptolemy.kernel.util.IllegalActionException: Error building 
tree mode
l: Error building tree model: Error building tree model: Error building 
tree mod
el: Error building tree model: null
     [java] 1672 ms. Memory: 93768K Free: 30511K (33%)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:670)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
LibraryIndex.java:642)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
aryIndex.java:552)
     [java]     at 
org.kepler.objectmanager.library.LibraryIndex.refresh(Library
Index.java:563)
     [java]     at 
org.monash.griddles.JGridletCreater.fire(JGridletCreater.java
:171)
     [java]     at 
ptolemy.actor.process.ProcessThread.run(ProcessThread.java:18
6)
================================================================


Chad Berkley wrote:

>Is that lsid loaded into the system?  You can't just create a new LSID 
>unless it's already loaded into the system.  If you want to create one 
>and have it loaded, you need to use the LSIDGenerator class in the 
>org.kepler.lsid package.
>
>chad
>
>jagan wrote:
>  
>
>>Hi Chad,
>>
>>I have added the following lines of code to add actor programitically,
>>
>>------------------------------------------------------------------------------------
>>     LibraryIndex index = LibraryIndex.getInstance();
>>     KeplerLSID lsid = new 
>>KeplerLSID("urn:lsid:kepler-project.org:actor:701:1");
>>     LibraryIndexComponentItem itemToAdd = new 
>>LibraryIndexComponentItem(_actorNameStr, lsid);
>>     System.out.println("itemtoAdd="+itemToAdd);
>>     LibraryIndexItem subtree = index.findItem(new 
>>KeplerLSID("urn:lsid:localhost:onto:1:1#PreConfiguredGridletActor"));
>>     System.out.println("subtreeitem="+subtree);
>>     index.add(itemToAdd, subtree);
>>     LibraryIndex.getInstance().refresh();
>>-------------------------------------------------------------------------------------
>>
>>I am getting the following error messages, by somehow it is not able to 
>>resolve lsid.
>>
>>Could you mind to look into it?
>>
>>============================================================
>>
>>     [java] itemtoAdd=<component name="localActorName" 
>>lsid="urn:lsid:kepler-pro
>>ject.org:actor:701:1"/>
>>
>>     [java] subtreeitem=<concept name="gridlets" 
>>lsid="urn:lsid:localhost:onto:1
>>:1#PreConfiguredGridletActor"/>
>>
>>     [java] Could not resolve lsid urn:lsid:kepler-project.org:actor:701:1
>>     [java] java.lang.NullPointerException
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:647)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
>>aryIndex.java:552)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.refresh(Library
>>Index.java:563)
>>     [java]     at 
>>org.monash.griddles.JGridletCreater.fire(JGridletCreater.java
>>:164)
>>     [java]     at 
>>ptolemy.actor.process.ProcessThread.run(ProcessThread.java:18
>>6)
>>     [java] ptolemy.kernel.util.IllegalActionException: Error building 
>>tree mode
>>l: null
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:670)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
>>aryIndex.java:552)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.refresh(Library
>>Index.java:563)
>>     [java]     at 
>>org.monash.griddles.JGridletCreater.fire(JGridletCreater.java
>>:164)
>>     [java]     at 
>>ptolemy.actor.process.ProcessThread.run(ProcessThread.java:18
>>6)
>>     [java] ptolemy.kernel.util.IllegalActionException: Error building 
>>tree mode
>>l: Error building tree model: null
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:670)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
>>aryIndex.java:552)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.refresh(Library
>>Index.java:563)
>>     [java]     at 
>>org.monash.griddles.JGridletCreater.fire(JGridletCreater.java
>>:164)
>>     [java]     at 
>>ptolemy.actor.process.ProcessThread.run(ProcessThread.java:18
>>6)
>>     [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.buildTreeModel(
>>LibraryIndex.java:670)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
>>aryIndex.java:552)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.refresh(Library
>>Index.java:563)
>>     [java]     at 
>>org.monash.griddles.JGridletCreater.fire(JGridletCreater.java
>>:164)
>>     [java]     at 
>>ptolemy.actor.process.ProcessThread.run(ProcessThread.java:18
>>6)
>>     [java] ptolemy.kernel.util.IllegalActionException: Error building 
>>tree mode
>>l: Error building tree model: Error building tree model: Error building 
>>tree mod
>>el: null
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:670)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.buildTreeModel(
>>LibraryIndex.java:642)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.getLibrary(Libr
>>aryIndex.java:552)
>>     [java]     at 
>>org.kepler.objectmanager.library.LibraryIndex.refresh(Library
>>Index.java:563)
>>     [java]     at 
>>org.monash.griddles.JGridletCreater.fire(JGridletCreater.java
>>:164)
>>     [java]     at 
>>ptolemy.actor.process.ProcessThread.run(ProcessThread.java:18
>>6)
>>     [java] ptolemy.kernel.util.IllegalActionException: Error building 
>>tree mode
>>l: Error building tree model: Error building tree model: Error building 
>>tree mod
>>el: Error building tree model: null
>>     [java] 1722 ms. Memory: 76372K Free: 12558K (16%)
>>
>>with regards,
>>
>>Jagan Kommineni
>>
>>
>>Chad Berkley wrote:
>>
>>    
>>
>>>Hi Jagan,
>>>
>>>This seems to now be working.  You can see some sample code in 
>>>CreateKSWDialog around line 420.  It basically looks like this:
>>>
>>>LibraryIndex.getInstance().add(
>>>  new LibraryIndexComponentItem(am.getName(), am.getLSID()), subtree);
>>>LibraryIndex.getInstance().refresh();
>>>util.EmptyChangeRequest request = new
>>>  util.EmptyChangeRequest(actorEntity, "request change");
>>>actorEntity.requestChange(request);
>>>
>>>I'm not even sure if the changerequest is needed.  I'll probably remove 
>>>those lines.  The LibraryIndex calls should do the trick.  If you don't 
>>>see the tree refresh right away, trying hitting the 'reset' button.  If 
>>>you are viewing a resultset from a search you will not see the actor appear.
>>>
>>>hope that works for you.
>>>
>>>chad
>>>
>>>jagan wrote:
>>> 
>>>
>>>      
>>>
>>>>Hello Chad,
>>>>
>>>>Could you mind to update me whether there is any progress about the 
>>>>adding actors dynamically?
>>>>
>>>>with regards,
>>>>
>>>>Jagan Kommineni
>>>>
>>>>Chad Berkley wrote:
>>>>
>>>>   
>>>>
>>>>        
>>>>
>>>>>Hey Jagan,
>>>>>
>>>>>I was trying to do something similar yesterday and it wasn't working. 
>>>>>I'll keep working on it today and when i figure it out, i'll let you 
>>>>>know.  I think it's something to do with the LibraryIndex, but I'm not 
>>>>>quite sure yet.
>>>>>
>>>>>chad
>>>>>
>>>>>jagan wrote:
>>>>>
>>>>>     
>>>>>
>>>>>          
>>>>>
>>>>>>Hello Chad,
>>>>>>
>>>>>>       While creating actor programmitically I have followed the 
>>>>>>following steps,
>>>>>>=================================================================================================================== 
>>>>>>
>>>>>>public void fire() throws IllegalActionException {
>>>>>>  super.fire();
>>>>>>  try  {                            GriddlesExec wss = null;         
>>>>>>    _actorNameStr = actorName.getExpression();
>>>>>>    wss = new GriddlesExec(new EntityLibrary(), 
>>>>>>_actorNameStr);                     LibraryIndex index = 
>>>>>>LibraryIndex.getInstance();
>>>>>>    KeplerLSID lsid = new 
>>>>>>KeplerLSID("urn:lsid:kepler-project.org:actor:500:1");
>>>>>>    LibraryIndexItem itemToAdd = new LibraryIndexItem(_actorNameStr, 
>>>>>>lsid);
>>>>>>    System.out.println("itemtoAdd="+itemToAdd);
>>>>>>    LibraryIndexItem subtree = index.findItem(new 
>>>>>>KeplerLSID("urn:lsid:localhost:onto:1:1#PreConfiguredGridletActor"));
>>>>>>    System.out.println("subtreeitem="+subtree);
>>>>>>    index.add(itemToAdd, subtree);
>>>>>>        System.out.println("Printing Component Items");
>>>>>>    for ( Iterator iter = index.items(); iter.hasNext(); )
>>>>>>      {
>>>>>>      LibraryIndexComponentItem key = (LibraryIndexComponentItem) 
>>>>>>iter.next();
>>>>>>      System.out.println( key );
>>>>>>      }
>>>>>>     System.out.println("Printing Ontologies");
>>>>>>     for ( Iterator iter = index.ontologies(); iter.hasNext(); )
>>>>>>      {
>>>>>>      LibraryIndexOntologyItem key = (LibraryIndexOntologyItem) 
>>>>>>iter.next();
>>>>>>      System.out.println( key );
>>>>>>      }        }
>>>>>>  catch (Exception e) {
>>>>>>    System.out.println(e);
>>>>>>    }
>>>>>>  } // end of fire
>>>>>>=================================================================================== 
>>>>>>
>>>>>>
>>>>>>The output corresponding to above print statements relating new item 
>>>>>>is as follows,
>>>>>>
>>>>>>================================================================================== 
>>>>>>
>>>>>>
>>>>>>  [java] itemtoAdd=<name="localActorName" 
>>>>>>lsid="urn:lsid:kepler-project.org:actor:500:1"/>
>>>>>>
>>>>>>   [java] subtreeitem=<concept name="gridlets" 
>>>>>>lsid="urn:lsid:localhost:onto:1:1#PreConfiguredGridletActor"/>
>>>>>>
>>>>>>   [java] Printing Component Items
>>>>>>  [java] <component name="CT Director" 
>>>>>>lsid="urn:lsid:kepler-project.org:director:4:1"/>
>>>>>>   ..............
>>>>>>   ...............
>>>>>>   [java] <concept name="gridlets" 
>>>>>>lsid="urn:lsid:localhost:onto:1:1#PreConfiguredGridletActor">
>>>>>>   [java] <name="localActorName" 
>>>>>>lsid="urn:lsid:kepler-project.org:actor:500:1"/>
>>>>>>   [java] </concept>
>>>>>>
>>>>>>========================================================================================= 
>>>>>>
>>>>>>
>>>>>>  It seems to me that the actor has been added to the library but I 
>>>>>>can't see the actor on the user inter face.
>>>>>>And als I haven't seen any items relating to the new actor on the 
>>>>>>$HOME/.kepler directory.
>>>>>>
>>>>>>   Do I need to do something else to create kar file for the new 
>>>>>>actor (may be some committing)?
>>>>>>
>>>>>>with regards,
>>>>>>
>>>>>>Jagan Kommineni
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>       
>>>>>>
>>>>>>            
>>>>>>
>>>_______________________________________________
>>>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
>  
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mercury.nceas.ucsb.edu/ecoinformatics/pipermail/kepler-dev/attachments/20060216/52298361/attachment-0001.htm


More information about the Kepler-dev mailing list