[kepler-dev] build a custom actor

Chad Berkley berkley at nceas.ucsb.edu
Wed Aug 20 10:24:35 PDT 2008


Like I said in a previous email, the repository and the client are not 
fully developed.  It should act in the way you describe, but it doesn't. 
  Right now, the only kinds of actors that can download cleanly from the 
repository are moml only actors or actors where all of the classes are 
already in the kepler distro.  Sorry for the confusion.  I'm hoping that 
getting this working will be a major priority for Kepler-CORE.

chad


dejw wrote:
> Hi again,
> 
> I did some test with ImageJ actor. I had a normal kepler installation on 
> my laptop.
> 
> In components search panel I can search for an actor in local cache but 
> also after checking the "Search repository" in the remote repository.
> 
> So I can see that ImageJ is included in normal standard kepler 
> installation - but I wanted to make test of retrieving some actor from 
> the remote repository.
> So I removed totally everything connected with ImageJ from my local 
> kepler installation. Later if I do a local search I got nothing.
> 
> But If I wanted to make a search in the remote repository - I got error 
> in the console where my kepler is ran:
> 
>      [java] The class name you entered was either not found in classpath 
> or coul
> d not be instantiated:
>      [java] util.ImageJActor
>      [java] Note that this class must be in the classpath from which you 
> launche
> d this program.
>      [java] util.ImageJActor
>      [java] could not load result: 
> org.ecoinformatics.ecogrid.queryservice.resul
> tset.ResultsetTypeRecord at 945cc54d  error: Error getting actor metadata 
> for resul
> tset document: Could not clone 'ImageJ' from the 'util.ImageJActor' 
> class; the o
> bject is null, possibly meaning it was not found. Perhaps there is a 
> classpath p
> roblem and/or the karlib needs to be flushed?
>      [java] The class name you entered was either not found in classpath 
> or coul
> d not be instantiated:
>      [java] util.ImageJActor
>      [java] Note that this class must be in the classpath from which you 
> launche
> d this program.
>      [java] util.ImageJActor
>      [java] could not load result: 
> org.ecoinformatics.ecogrid.queryservice.resul
> tset.ResultsetTypeRecord at 5ea90b1c  error: Error getting actor metadata 
> for resul
> tset document: Could not clone 'ImageJ' from the 'util.ImageJActor' 
> class; the o
> bject is null, possibly meaning it was not found. Perhaps there is a 
> classpath p
> roblem and/or the karlib needs to be flushed?
> 
> I don't know then if it is possible at all to get some completely new 
> actor from the remote repository?
> After removing the ImageJ actor I can't even search for it in the remote 
> repository. It looks like the locally installed kepler have to have 
> knowledge about all potential actors anyway.
> So what for is the remote repository then? Maybe I did some mistake or 
> don't understand something properly.
> 
> Regards,
> Dawid
> 
> 
> dejw wrote:
>> Hi,
>>
>> I have now other question - the LSID number.
>>
>> How do I know what number should I use if I want to develop a new actor?
>> I saw the tutorial on kepler web page:
>>
>> "Open the README file in src/actors to look at the last LSID used. Your
>> actor will use the next available LSID (say 450). "
>>
>> But in fact I never know what set of actors could be in the target
>> kepler installation. Maybe someone wrote a bunch of its own ones and the
>> LSID I will choose won't be free in fact??
>>
>> Other thing is the ImageJ example. In manifest I can see:
>>
>> Manifest-Version: 1.4.2
>> Ant-Version: Apache Ant 1.7.0
>> Created-By: 1.5.0_10-b03 (Sun Microsystems Inc.)
>> KAR-Version: 1.0
>> lsid: urn:lsid:kepler-project.org:kar:154:1
>>
>> Name: ImageJ.xml
>> lsid: urn:lsid:kepler-project.org:actor:251:1
>> type: actorMetadata
>>
>> Name: ImageJ.jar
>> lsid: urn:lsid:kepler-project.org:jar:251:1
>> type: jar
>>
>> Name: ij.jar
>> lsid: urn:lsid:kepler-project.org:jar:252:1
>> type: jar
>>
>> Could you explain me what are these LSIDS ? There are others counters
>> for kars, jars and actors ??? How do I know what values should I choose
>> while implementing the actor?
>>
>> What will happen if I set some LSID values in my custom actor/s and put
>> them in the repository. Later someone will import them to the local
>> kepler installation and such LSIDs numbers aren't free.
>> The imported actor will replace some other with the same LSID?
>>
>> Regards,
>> Dawid
>>
>> Dan Higgins wrote:
>>   
>>> Hi dejw (and others)
>>>    It is possible to include jar files used by an actor in the kar
>>> package. An example can be seen in $KEPLER/src/actors/ImageJ (This is
>>> an example of the ImageJ.kar file.) The key is information in the
>>> MANIFEST.MF  file which includes references to the jars.
>>> Unfortunately, I think you still need to create this package by hand.
>>>
>>> See http://www.kepler-project.org/Wiki.jsp?page=AddingJarsToKarFiles
>>>
>>> for a brief discussion.
>>>
>>> Dan Higgins
>>>
>>> Sean Riddle wrote:
>>>     
>>>> Putting your Jar files into kepler/lib/jar (or any level below that)
>>>> will cause them to be put on the runtime classpath, I believe.
>>>> Ideally, you would use KAR files to bundle up actors with stuff they
>>>> need, and then you could import that in another Kepler installation;
>>>> I've never actually tried it myself, though, so someone else could
>>>> probably speak on that better.
>>>>
>>>> - Sean
>>>>
>>>>
>>>> On Aug 7, 2008, at 4:39 AM, dejw wrote:
>>>>
>>>>       
>>>>> Hi,
>>>>>
>>>>> I want to build a custom actor for Kepler, I saw the HelloWorld
>>>>> example and it is clear for me, that's fine but...
>>>>>
>>>>> I want to create quite "big" actor with many jars included which are
>>>>> not a part of kepler right now - the question how to do it, where
>>>>> should I put my custom jars?
>>>>>
>>>>> How can I later exchange this actor with other kepler instances? KSW
>>>>> files? If yes is out there any tutorial how to prepare KSW file with
>>>>> right stuff inside?
>>>>>
>>>>> Can I later upload such actor (ksw?) to repository and download over
>>>>> the wire in another kepler instance and use?
>>>>>
>>>>> My actor with the jars included may have from about 30 MB even up to
>>>>> 100 MB ;)
>>>>>
>>>>> Regards,
>>>>> Dawid Szejnfeld
>>>>> _______________________________________________
>>>>> 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
>>>>       
>>
>> _______________________________________________
>> 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


More information about the Kepler-dev mailing list