Hi,

Unfortunately I am away with a poor connection to the Internet. I have a
couple of pointers:

1) Look at how the MeV plug-in does. The plug-in downloads data from a
BASE server using a download. MeV is a Java web start application where
essential parameters are communicated through the jnlp file. See

- http://trac.thep.lu.se/trac/basehacks/wiki/MeV for info on needed MeV
changes such as auto download of data from BASE
- http://base.thep.lu.se/browser/trunk/www/plugins/org/tigr/microarray/mev
(the JSP files) for implementation of dynamic jnlp file creation.

2) BASE supports filedownload through a servlet (I cannot remember the
details but studying the MeV example above should reveal it).

3) In the web services client
http://baseplugins.thep.lu.se/wiki/se.lu.thep.webservices_clients there is
downloads of cel/cdf files.

Hope this helps you in your quest of improving BASE.


Cheers,

Jari


Peter Mertens wrote:
> Hi,
>
> instead of using a plugin i want to create my own base webservice.
>
> This service is almost working, except for one point. Where i want to get
> the url where the data files are located.
>
> So, i can get the project, experiment and the data from the experiment.
> Now
> i want to send all information about the data:name, id, description and
> the
> url where the client, calling the service, can download the files from.
>
> What i tried is:
>
> public String getCelFiles(int experimentId)
>     {
>         Experiment experiment = experimentVector.get(experimentId-1);
>
>         System.out.println("RawBioAssays of exp: "+experiment.getName());
>
>         ItemResultIterator<RawBioAssay> rawBioAssays;
>
>         String rbas = "<RawBioAssays>";
>
>         try
>         {
>             dc = sc.newDbControl();
>
>             ItemQuery<RawBioAssay> query = experiment.getRawBioAssays();
>             System.out.println("nr of raw bioassays: "+query.count(dc));
>
>             rawBioAssays = query.iterate(dc);
>
>             if (rawBioAssays != null)
>             {
>                 RawBioAssay item = null;
>                 String name = "";
>                 String loc ="";
>                 String url ="";
>                 int id=0;
>                 File file = null;
>                 String path = "";
>
>                 while (rawBioAssays.hasNext())
>                 {
>                     item = rawBioAssays.next();
>                     name = item.getName();
>
>                     rbas += "<RawBioAssay>";
>                     rbas += "<Name>"+name+"</Name>";
>
>                     id = item.getId();
>                     file = Affymetrix.getCelFile(item);
>                     path = file.getPath().toString();
>
>                     rbas += "<Id>"+id+"</Id>";
>
>                     loc = HTML.urlEncode(path);
>                     url = fileUrl+"-"+sessionId+"-"+loc;
>
>                     rbas += "<Url>"+url+"</Url>";
>                     rbas += "</RawBioAssay>";
>                 }
>
>             }
>             dc.close();
>
>         }
>         catch(Exception e)
>         {
>             System.out.println("e:"+e);
>         }
>         rbas += "</RawBioAssays>";
>
>         return rbas;
>     }
>
> This returns a the string:
> <RawBioAssays><RawBioAssay><Name>1.1_2</Name><Id>90</Id><Url>
> http://nbx8.nugo.org/nutriBASE/filemanager/files/view/-42d47d6797b7b05c-/home/PeterMertens/raw+data/test/1.1_2.CEL
> </Url></RawBioAssay><RawBioAssay><Name>1.2</Name><Id>92</Id><Url>
> http://nbx8.nugo.org/nutriBASE/filemanager/files/view/-42d47d6797b7b05c-/home/PeterMertens/raw+data/test/1.2.CEL
> </Url></RawBioAssay></RawBioAssays>
>
> If i try to download the files (while the session is still active) using
> the
> url's i get a http 500 response.
> I suppose that the part /filemanager/files/view/ is not correct since the
> fileview.jsp is not loaded, but i don't have a clue how to do it
> correctly.
>
> A possible solution would be to download the files to a folder in the
> webserver's directory and than ... . This is not a very nice solution for
> this problem so i hope somebody can help getting the url of the files on
> the
> base server.
>
> thanks,
>
> Peter
>
>
>
>
> 2007/9/27, Nicklas Nordborg <[EMAIL PROTECTED]>:
>>
>> Peter Mertens wrote:
>> > Dear list,
>> >
>> > i'm working on a plugin that gives the possibility to run the analysis
>> > on another machine (not the one base is installed on).
>>
>> Have you checked out the possiblitity to use Job agents? They can be
>> used to execute any plug-in on a different server. See
>> http://base.thep.lu.se/chrome/site/trunk/html/admindoc/plugin_installation/plugins.jobagents.html
>>
>> for more information.
>>
>> > In order to download the files (cel and cdf) over http, i need the to
>> > retrieve the URL's.
>> > Can somebody tell me how to get this?
>>
>> The file URL depends on the sesssion ID of the logged in user. Plug-ins
>> are executed in a different session with a different ID, so I am not
>> sure it will work since the web server may know about the session ID
>> used by the plug-in. It is not possible for the plug-in to get the
>> session ID for the user. In fact, the user may already have logged out
>> before the plug-in is executed.
>>
>> I think it is better if your plug-in call File.getDownloadStream()
>> and copies the file to the machine where you are going to run the
>> analysis program.
>>
>> > In the documentation i found that all files have method "getLocation".
>> > But it is not mentioned what kind of location this is.
>> > Also the code of this method did not tell me more.
>>
>> This method can return 3 different values: OFFLINE, PRIMARY and
>> SECONDARY. If it returns OFFLINE the file is not stored at all on the
>> BASE server. The SECONDARY location is a backup location and the file
>> can't be accessed. You should check that the getLocation() method
>> returns PRIMARY or you can't use the file.
>>
>> /Nicklas
>>
>>


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
basedb-devel mailing list
basedb-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/basedb-devel

Reply via email to