[kepler-dev] Dynamically created actor not shown in library but can be seen with Search button ....
jagan
Jagan.Kommineni at infotech.monash.edu.au
Tue Aug 8 16:30:58 PDT 2006
Thanks Shawn,
I fixed this problem by making changes to previous code very similar to
your code of SaveInLibraryDialog.java.
with regards,
Jagan Kommineni
Shawn Bowers wrote:
>As a first approximation on how to do this (at least, you can see an
>example of how I am doing this currently from within Kepler), you should
>look at the org/kepler/ksw/gui/SaveInLibraryDialog.java class.
>
>Hope that helps. Also, Chad Berkley might be able to more specifically
>help you, as he is the one who wrote the ActorMetadata code, etc.
>
>-shawn
>
>
>On Tue, 8 Aug 2006, jagan wrote:
>
>
>
>>Hi Shawn,
>>
>> I am able to create a "gridlet actor" dynamically using
>>JGridletCreator" actor which is located under "General Purpose/Grid
>>Function/Griddles" folder.
>>I am building kswFile using KSWBuilder (org.kepler.ksw.KSWBuilder new
>>KSWBuilder(gridlet , false , false, kswFile);) in a directory
>>$KEPLER/kar/griddles
>>
>> The created file is processed by using the following procedure and
>>at the end I have refreshed the library
>>
>>----------------------------------------------------------------------------------------------------------------
>> public void processKSW(File kswFile)
>> {
>> try
>> {
>> KeplerLSID[] actorLSIDs;
>> CacheManager cache = CacheManager.getInstance();
>> KARCacheObject kco = new KARCacheObject(kswFile);
>> LibraryIndex lindex;
>> actorLSIDs = kco.getActors();
>> if(actorLSIDs != null)
>> {
>> System.out.println("processing kar file: " +
>>kswFile.getAbsolutePath());
>> lindex = LibraryIndex.getInstance();
>> for(int j=0; j<actorLSIDs.length; j++)
>> {
>> ActorCacheObject aco =
>>(ActorCacheObject)cache.getObject(actorLSIDs[j]);
>> ActorMetadata am = aco.getMetadata();
>> //build an entity for each actor in the ksw and add it to the
>>actorLibrary
>> LibraryIndexItem subtree = lindex.findItem(new
>>KeplerLSID("urn:lsid:localhost:onto:2:1#PreConfiguredGridletActor"));
>> LibraryIndexItem oldlsid =
>>lindex.findItem(am.getName());
>> if(oldlsid != null)
>> lindex.removeComponent(oldlsid.getLSID(), subtree);
>> lindex.add(new LibraryIndexComponentItem(am.getName(),
>>am.getLSID()), subtree);
>> //System.out.println("actor " + " loaded into the library in
>>category " + subtree.getName() + " with id " +am.getId());
>> }
>> lindex.refresh();
>> }
>> }
>> catch(CacheException ce)
>> {
>> System.out.println("Error with the cache: " + ce.getMessage());
>> return;
>> }
>> catch(Exception e)
>> {
>> e.printStackTrace();
>> System.out.println("Error creating ComponentEntity from actor " +
>>"metadata: " + e.getMessage());
>> return;
>> }
>> }
>>----------------------------------------------------------------------------------------------------
>>
>>I see the library is updating on the screen but I cann't see newly
>>created actor in the library.
>>
>>Whereas when search for the newly created actor, I could see in the
>>folder where it is supposed to be (General Purpose/Grid
>>Function/Griddles/gridlet). If I exit and restart Kepler, I can see the
>>same thing in the library list.
>>
>>I have also noticed one more problem, if I change previosly created
>>dynamic actor and refresh the library. This time I am not able to
>>restart kepler and I am getting a duplication error message.
>>
>>I have updated all my chenges into kepler cvs repository, If possible
>>could you mind look into the problem.
>>
>>Could you mind to indicate me which is the best time to chat "irc Kepler
>>chaneel" with any of you?
>>
>>with regards,
>>
>>Jagan Kommineni
>>
>>
>>
>>jagan kommineni wrote:
>>
>>
>>
>>>Hi Chad and Shawn,
>>>
>>> I am able to create a "gridlet actor" dynamically using
>>>JGridletCreator" actor which is located under "General Purpose/Grid
>>>Function/Griddles" folder.
>>>I am building kswFile using KSWBuilder (org.kepler.ksw.KSWBuilder new
>>>KSWBuilder(gridlet , false , false, kswFile);) in a directory
>>>$KEPLER/kar/griddles
>>>
>>> The created file is processed by using the following procedure and
>>>at the end I have refreshed the library
>>>
>>>----------------------------------------------------------------------------------------------------------------
>>> public void processKSW(File kswFile)
>>> {
>>> try
>>> {
>>> KeplerLSID[] actorLSIDs;
>>> CacheManager cache = CacheManager.getInstance();
>>> KARCacheObject kco = new KARCacheObject(kswFile);
>>> LibraryIndex lindex;
>>> actorLSIDs = kco.getActors();
>>> if(actorLSIDs != null)
>>> {
>>> System.out.println("processing kar file: " +
>>>kswFile.getAbsolutePath());
>>> lindex = LibraryIndex.getInstance();
>>> for(int j=0; j<actorLSIDs.length; j++)
>>> {
>>> ActorCacheObject aco =
>>>(ActorCacheObject)cache.getObject(actorLSIDs[j]);
>>> ActorMetadata am = aco.getMetadata();
>>> //build an entity for each actor in the ksw and add it to the
>>>actorLibrary
>>> LibraryIndexItem subtree = lindex.findItem(new
>>>KeplerLSID("urn:lsid:localhost:onto:2:1#PreConfiguredGridletActor"));
>>> LibraryIndexItem oldlsid =
>>>lindex.findItem(am.getName());
>>> if(oldlsid != null)
>>> lindex.removeComponent(oldlsid.getLSID(), subtree);
>>> lindex.add(new LibraryIndexComponentItem(am.getName(),
>>>am.getLSID()), subtree);
>>> //System.out.println("actor " + " loaded into the library in
>>>category " + subtree.getName() + " with id " +am.getId());
>>> }
>>> lindex.refresh();
>>> }
>>> }
>>> catch(CacheException ce)
>>> {
>>> System.out.println("Error with the cache: " + ce.getMessage());
>>> return;
>>> }
>>> catch(Exception e)
>>> {
>>> e.printStackTrace();
>>> System.out.println("Error creating ComponentEntity from actor " +
>>>"metadata: " + e.getMessage());
>>> return;
>>> }
>>> }
>>>----------------------------------------------------------------------------------------------------
>>>
>>>I see the library is updating on the screen but I cann't see newly
>>>created actor in the library.
>>>
>>>Whereas when search for the newly created actor, I could see in the
>>>folder where it is supposed to be (General Purpose/Grid
>>>Function/Griddles/gridlet). If I exit and restart Kepler, I can see the
>>>same thing in the library list.
>>>
>>>I have also noticed one more problem, if I change previosly created
>>>dynamic actor and refresh the library. This time I am not able to
>>>restart kepler and I am getting a duplication error message.
>>>
>>>I have updated all my chenges into kepler cvs repository, If possible
>>>could you mind look into the problem.
>>>
>>>Could you mind to indicate me which is the best time to chat "irc Kepler
>>>chaneel" with any of you?
>>>
>>>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/20060809/aab72886/attachment.html>
More information about the Kepler-dev
mailing list