[kepler-dev] Dynamically created actor not shown in library but can be seen with Search button ....

jagan Jagan.Kommineni at infotech.monash.edu.au
Mon Aug 7 17:01:45 PDT 2006


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
>  
>



More information about the Kepler-dev mailing list