[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/kepler/pipermail/kepler-dev/attachments/20060216/52298361/attachment.html>
More information about the Kepler-dev
mailing list