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>";
         }
}