[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[THREDDS #QGG-522175]: arguments for a jnlp
- Subject: [THREDDS #QGG-522175]: arguments for a jnlp
- Date: Thu, 19 Mar 2009 11:37:35 -0600
Hi Yolanda,
> Since my laste mails asking you for support I have being making progress
> on configuring our thredds service. http://150.241.234.101:8080/thredds
>
> Now I have another problem that I cannot solve: I want to launch a home
> mede viewer: I have developed it and make a jnlp file which works well
> except this
>
> My jnlp launches a jar file which prints out the arguments given to it.
>
> I pass the {url} argument to my jnlp file in the catalog.xml
>
> <property name="viewer"
> value="http://150.241.234.101:8080/thredds/view/launch.jnlp?{url},oceantic"/>
>
> and gives the result:
>
> http://150.241.234.101:8080/thredds/view/launch.jnlp?http://150.241.234.101:8080/thredds/wcs/OP_DATA/MODIS1km/20090311.nc
>
> apparently this is what a want but the jar does not recognize
>
> "?http://150.241.234.101:8080/thredds/wcs/OP_DATA/MODIS1km/20090311.nc"
>
> as an argument.
>
> If I run
>
> java -jar myviewer.jar mytext
>
> it prints out
>
> mytext
>
> 1-How should I pass the argument Url to jnlp to be able to print out the
> url?
Try changing "{url}" in your viewer property to "url={url}". [You could also
use "url={WCS}" if you always want the WCS access URL, or "url={OPENDAP}" if
you always want OPeNDAP.]
The "{url}" gets replaced by the current dataset URL before the link is made on
the web page. So you should get a link that looks like:
http://150.241.234.101:8080/thredds/view/launch.jnlp?url=http://150.241.234.101:8080/thredds/wcs/OP_DATA/MODIS1km/20090311.nc
The JNLP template file will have any pattern that looks like "{NAME}" replaced
by the value of the HTTP query parameter with the same name. So, in the case
above, any occurance of "{url}" in your JNLP template file will be replaced by
http://150.241.234.101:8080/thredds/wcs/OP_DATA/MODIS1km/20090311.nc
The documentation on adding viewers is not very clear on this. I will work on
rewriting the documentation:
http://www.unidata.ucar.edu/projects/THREDDS/tech/reference/Viewers.html
> 2- If in the catalog.xml I want to send an argument directly to the
> getcapabilities request as this
>
> <property name="viewer"
> value="http://150.241.234.101:8080/thredds/view/launch.jnlp?{url}?request=GetCapabilities&version=1.0.0&service=WCS,
> oceantic"/>
>
> It does not work because of ? and & characters. Do ypu know how can I
> solve this?
Similar to above, you need "url={url}". As for the ? and & characters, you
could try to url encode them replacing "?" with "%3f" and "&" with "%26" like:
launch.jnlp?url={url}%3frequest=GetCapabilities%26version=1.0.0%26service=WCS
Hopefully, the resulting link will look like:
launch.jnlp?url=http://150.241.234.101:8080/thredds/wcs/OP_DATA/MODIS1km/20090311.nc%3frequest=GetCapabilities%26version=1.0.0%26service=WCS
with the encodings still in place. Because then I would expect the "{url}"
pattern in the JNLP template file to be replaced with the unencoded value.
Which is, I think, what you want.
If that doesn't work, you might try replacing the "=" with "%3d".
If that doesn't work, we'll have to dig into the code and see where things are
getting expanded.
Hope that helps,
Ethan
>
> Best regards,
>
> Yolanda
Ticket Details
===================
Ticket ID: QGG-522175
Department: Support THREDDS
Priority: High
Status: Closed