NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

Re: About the viewers

Hi Roger:

I dont understand what is wrong with your class, but i get same results with it. But when I recompile, it works ok.
if I dissamble your class, I see:

public class saidinViewer.Start extends java.lang.Object{
   public saidinViewer.Start();
   public boolean isViewable(thredds.catalog.InvDatasetImpl);
   public java.lang.String getViewerLinkHtml(thredds.catalog.InvDatasetImpl, 
javax.servlet.http.HttpServletRequest);
}

but when i recompile your source, i get:

public class saidinViewer.Start extends java.lang.Object implements 
thredds.servlet.Viewer{
   public saidinViewer.Start();
   public boolean isViewable(thredds.catalog.InvDatasetImpl);
   public java.lang.String getViewerLinkHtml(thredds.catalog.InvDatasetImpl, 
javax.servlet.http.HttpServletRequest);
}

So im guuessing you just need to recompile the source correctly.

However, placing this code into tomcat/shared/lib does not work, i think due to 
classloading issues. For now, you will have to put it directly into 
webapps/thredds/WEB-INF/lib or classes. I will see if I can figure out a way 
around that.

Thanks for bringing this to my attention. My testing failed to see this problem.

John




Roger Olivella wrote:
John,

I'm having some problems in registering our viewer. First of all, I've created a class that implements the Viewer interface (see attached file Start.java). Then I've zipped this file into a JAR file (attached saidin-viewer.jar) and put it into /usr/local/tomcat/shared/lib. Finally, I've restarted Tomcat. Unfortunately, something goes wrong because at, for example,

http://ers.cmima.csic.es/thredds/catalog.html?cmd=subset&catalog=http://ers.cmima.csic.es/thredds/catalog/ers/2002/02-Feb/02/catalog.xml&dataset=ers/2002/02-Feb/02/20020202.1342.n16.nc.bz2

it doesn't appear our viewer. I've looked at threddsServlet.log and found an error:

2007-01-31T10:14:21.607 +0100 [ 607][ 1] ERROR - thredds.servlet.ViewServlet - Attempt to load class saidinViewer.Start does not implementthredds.servlet.Viewer


What I'm doing wrong?

Thank you for your help.

Roger



J ohn Caron wrote:

Youre welcome, let me know how it goes. we will have the code available over an svn web server soon also.

Roger Olivella wrote:

John,

I've downloaded the JAR. Now I'm going to install it.

Thank you very much.

Roger

John Caron wrote:

source is at
 ftp://ftp.unidata.ucar.edu/pub/thredds/tmp/threddsSrc-2.2.18.02.jar

sorry that took so long.

please let me know when you have downloaded so i can remove it.



Roger Olivella wrote:

Hi all,

We are working on installing and configuring a Thredds server at http://ers.cmima.csic.es/thredds. We have two questions about the viewers:

   1.

      When a user clicks on “Integrated Data Viewer (IDV) (webstart)”
      (for example at
http://ers.cmima.csic.es/thredds/catalog.html?cmd=subset&catalog=http://ers.cmima.csic.es/thredds/catalog/ers/2001/08/25/catalog.xml&dataset=ers/2001/08/25/20010825.1343.n16.nc.bz2 <http://ers.cmima.csic.es/thredds/catalog.html?cmd=subset&catalog=http://ers.cmima.csic.es/thredds/catalog/ers/2001/08/25/catalog.xml&dataset=ers/2001/08/25/20010825.1343.n16.nc.bz2>),
      webstart loads IDV but it doesn't load directly the
      20010825.1343.n16.nc.bz2 file. Are we missing something?

   2.

      We are trying to add another external viewer. According to
http://www.unidata.ucar.edu/projects/THREDDS/tech/tutorial/Viewers.html,
      fisrt of all we have to implement the Viewer interface. The
question is: where is this interface? At the documentation it can
      be read that “Your class must implement the
      *thredds.servlet.Viewer* interface” but where can we find
      “thredds.servlet” package?

Thanks in advance,

Roger Olivella-Pujol
Institute of Marine Sciences (CMIMA-CSIC)
Barcelona, Catalonia (Spain)
(+34) 932 309 500 voice
http://saidin.cmima.csic.es <http://saidin.cmima.csic.es/>




------------------------------------------------------------------------

package saidinViewer;

import thredds.catalog.*;
import javax.servlet.http.HttpServletRequest;
import java.net.*;
import thredds.servlet.Viewer;


public class Start implements Viewer {

         public boolean isViewable( InvDatasetImpl ds) {
           InvAccess access = ds.getAccess(ServiceType.DODS);
           if (access == null) access = ds.getAccess(ServiceType.OPENDAP);
         if (access == null) return false;

         return (ds.getDataType() == DataType.GRID);
         }

         public String getViewerLinkHtml( InvDatasetImpl ds, HttpServletRequest 
req) {
           InvAccess access = ds.getAccess(ServiceType.DODS);
         if (access == null) access = ds.getAccess(ServiceType.OPENDAP);

         URI dataURI = access.getStandardUri();
           try {
            URI base = new URI( req.getRequestURI().toString());
           dataURI = base.resolve( dataURI);
           } catch (URISyntaxException e) {
                   e.printStackTrace();
                   System.out.println("Resolve URL with "+req.getRequestURI());
           }

         //return "<a 
href='/thredds/view/idv.jnlp?url="+dataURI.toString()+"'>IDV</a>";
           return "<a 
href='http://ers.cmima.csic.es/saidin?img="+dataURI.toString()+"'>SAIDIN</a>";
         }
}


  • 2007 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the thredds archives: