[MOBY-dev] BUG in MobyRequest
Paul Gordon
gordonp at ucalgary.ca
Tue Dec 16 14:43:02 UTC 2008
Hi Andreas,
I'll check it out. That sounds a bit strange. Are you using the
synchronous or asynchronous mode for invokeService()? Can you send me
youe exact code/input?
Andreas Groscurth wrote:
> Hi,
>
> I guess I found a bug in the MobyRequest system....
>
> I want to call the service ID2Taxonomy from our institute more than
> once with several inputs. Therefore i wrote the following program,
> which works fine.
> But if I change e.g. the second identifier (NP_080073.1) to
> AC144389_35.2, which does not return a result for the webservice, then
> NO result is returned at all.
> So, if apparently an input does not return a result, none (or some)
> also do not return a result, although they should.
>
> Basically there are different results depending at which position the
> identifier with no result appears.
>
> 1. AC144389_35.2 is at first position - the other return a result...
> (so thats ok)
> 2. AC144389_35.2 is at second position - no input returns any result :-(
> 3. AC144389_35.2 is at third position - only the second returns a
> result :-(
>
> and its getting even more confusing... if i use the same string for
> the job identifier as for the mobyobject identifier (e.g. in both
> cases NP_510335.2), then no result is returned. As soon as i changed
> the job identifier to anything different than NP_510335.2 - it works
> again and I get back a result.
>
> Did i do anything wrong or is this a bug ?
>
> Thanks and cheers
> Andreas
>
> public static void main( String[] args ) throws Exception {
> Central central = new CentralDigestCachedImpl();
> MobyRequest mobyRequest = new MobyRequest( central );
> MobyDataObject dataObject1 = new MobyDataObject( "",
> "NP_510335.2" );
> MobyDataObject dataObject2 = new MobyDataObject( "",
> "NP_080073.1" );
> MobyDataObject dataObject3 = new MobyDataObject( "",
> "NP_491931.1" );
>
> MobyContentInstance instance = new MobyContentInstance();
> MobyDataJob job = new MobyDataJob();
> job.put( "obj1", dataObject1 );
> instance.put( "obj1", job );
>
> job = new MobyDataJob();
> job.put( "obj2", dataObject2 ); instance.put( "obj2",
> job );
>
> job = new MobyDataJob();
> job.put( "obj3", dataObject3 );
> instance.put( "obj3", job );
>
> mobyRequest.setInput( instance );
>
> MobyService mobyservice = new MobyService();
> mobyservice.setName( "ID2Taxonomy" );
> mobyservice = central.findService( mobyservice )[ 0 ];
> mobyRequest.setService( mobyservice );
>
> instance = mobyRequest.invokeService();
> for ( String string : instance.keySet() ) {
> System.out.println( "key " + string );
> MobyDataJob dataJob = instance.get( string );
> MobyDataInstance[] instances = dataJob.getPrimaryData();
> for ( MobyDataInstance mobyDataInstance : instances ) {
> MobyDataComposite composite = ( MobyDataComposite )
> mobyDataInstance;
> System.out.println( "DATA " + composite.getId() + " - "
> + composite.get( "Name" ) );
> }
> }
> }
>
>
More information about the MOBY-dev
mailing list