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: