[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