[MOBY-l] MobyDataSetInstance vs MobyDataSimpleinstance

Benjamin Good bmg at sfu.ca
Tue Apr 19 12:32:51 UTC 2005


I suppose MobyPrimaryDataSet is the answer to my question.  The main 
difference between Instance and Primary - for communicating with Moby 
Central is the presence of different serializations for talking with 
Central versus executing a service - coming from this method.

      public String toXML(){
	if(xmlMode == SERVICE_XML_MODE)
	    return "<Simple xmlns=\""+MobyPrefixResolver.MOBY_XML_NAMESPACE+
		(getName() != null ? "\" xmlns:moby=\""+
		 MobyPrefixResolver.MOBY_XML_NAMESPACE+"\" moby:articleName=\"" + 
getName() : "")+
		"\">" + dataValue + "</Simple>";
	else{
	    MobyNamespace[] ns = getNamespaces();
	    String result = "<Simple 
xmlns=\""+MobyPrefixResolver.MOBY_XML_NAMESPACE+"\">\n<objectType>" +
		getDataType().getName() + "</objectType>\n";
	    for(int i = 0; ns != null && i < ns.length; i++){
		result += "<Namespace>" + ns[i].getName() + "</Namespace>\n";
	    }
	    result += "</Simple>";
	    return result;
	}
     }

Can this be avoided?  It adds another step and another complication to 
client development that seems like it could be handled higher up the 
API ????

-Ben

On Apr 19, 2005, at 5:32 AM, Martin Senger wrote:

> Ben,
>    I gues that Paul already answered your questions about this - but 
> still
> I wonder what have you been trying to do... It seems to me that you 
> were
> creating a service template to send it to the registry in order to find
> matching services. Correct? I wonder why you needed 
> MobyDataSetInstance at
> all for that? The MobyDataSetInstance is Paul's extension to
> MobyPrimaryDataSimple - but the class MobyPrimaryDataSimple already has
> everything (I hope) to create a template for communicating with the
> registry.
>    This probably reflects one of the bad things in jMoby - we have a 
> lot
> of similarly named classes that (perhaps) overlap each other. I hope we
> will have chance to discuss it in the jMoby BoF in Vancouver. Paul, are
> you coming there?
>
>    Regards,
>    Martin
>
> On Thu, 14 Apr 2005, Benjamin Good wrote:
>
>> There is no .setXmlMode in MobyDataSetInstance .  I think this will
>> cause problems requesting services from Central ..??
>>
>> Has anyone built a collection in a java and used it to query for
>> services successfully?
>>
>> I built a collection of Objects as below and didn't find any matching
>> services?  This should match anything that accepts a collection as
>> input because of the inheritance from object right??
>>
>>             //specify a dataype for use in the input to the template
>> service
>>             MobyDataType type = new MobyDataType("Object");
>> //make a jMoby object to act as the input to the template (and later
>> the actual call)
>>             MobyDataSimpleInstance input1 = new MobyDataSimpleInstance
>> ("");
>>             input1.setDataType (type);
>>             input1.addNamespace (new MobyNamespace ("NCBI_gi"));
>>             input1.setId("111076");
>>
>>             MobyDataSimpleInstance input2 = new MobyDataSimpleInstance
>> ("");
>>             input2.setDataType (type);
>>             input2.addNamespace (new MobyNamespace ("NCBI_gi"));
>>             input2.setId("111077");
>>
>>             MobyDataSimpleInstance[] inputset = new
>> MobyDataSimpleInstance[2];
>>             inputset[0] = input1;
>>             inputset[1] = input2;
>>             MobyDataSetInstance input = new
>> MobyDataSetInstance("",inputset);
>>
>> //specify that the xml generated for this object by the getXML method
>> //is suitable for communicating with moby central --- doesn't exist!
>>          //   
>> input.setXmlMode(MobyDataSimpleInstance.CENTRAL_XML_MODE);
>> //add the moby object as input to the template service
>>             templateService.addInput(input);
>>
>> //Find services that match this template service
>>             MobyService[] validServices =
>> worker.findService(templateService);
>>
>> -> finds none
>> -> why?
>>
>> thanks!
>> -Ben
>>
>>
>> http://bioinfo.icapture.ubc.ca/bgood
>>
>> _______________________________________________
>> moby-l mailing list
>> moby-l at biomoby.org
>> http://biomoby.org/mailman/listinfo/moby-l
>>
>
> -- 
> Martin Senger
>
> EMBL Outstation - Hinxton                Senger at EBI.ac.uk
> European Bioinformatics Institute        Phone: (+44) 1223 494636
> Wellcome Trust Genome Campus             (Switchboard:     494444)
> Hinxton                                  Fax  : (+44) 1223 494468
> Cambridge CB10 1SD
> United Kingdom                           
> http://industry.ebi.ac.uk/~senger
>
>
http://bioinfo.icapture.ubc.ca/bgood




More information about the moby-l mailing list