Re: Plus signs in dataset names and IDs?


Ethan,


So my catalog contains this dataset:


    <dataset name="CCEXTTAU-INTEX.Organic-plus-Black.Carbon.Aerosol"
             urlPath="wcs/2a9dbfe0-b8db-4393-b9de-4271fdba62f0"
ID="wcs/DataFed/NetCDF/CCEXTTAU-INTEX.Organic-+- Black.Carbon.Aerosol" > <property name="wcs-request" value="http:// webapps.datafed.net/ogc_NASA.wsfl? SERVICE=WCS&amp;REQUEST=GetCoverage&amp;VERSION=1.0.0&amp;CRS=EPSG: 4326&amp;COVERAGE=GOCART_G_OL.CCEXTTAU&amp;TIME=2007-06-24T23:00:00&amp; BBOX=-180,-90,180,90,0,0&amp;WIDTH=-1&amp;HEIGHT=-1&amp;DEPTH=-1&amp;FOR MAT=NetCDF" />
        <property name="returnType" value="netCDF" />
        <property name="cacheTime" value="600" />
        <serviceName>OPeNDAP-Hyrax</serviceName>
    </dataset>


I I changed the "+ to the word "plus" in all cases. Then I went back and tried making one "plus" a "+" and checked again... Anyway, the version above works when I try to load the catalog:
http://ndp.opendap.org:8080/opendap/SingleDirWcs/DataFedNetCDF.html

And causes the NullPointerException when I try to load the dataset page:

http://ndp.opendap.org:8080/opendap/SingleDirWcs/DataFedNetCDF.html? dataset=wcs/DataFed/NetCDF/CCEXTTAU-INTEX.Organic-+-Black.Carbon.Aerosol

So it looks like the we are seeing the same problem, but with a different symptoms.
N


On Jun 29, 2007, at 12:15 PM, Ethan Davis wrote:

Hi Nathan,

What kind of request are you getting this error on? Can you give me the full URL?
In the mean time, here's what I found ...

I'm not getting a NullPointerException like you are but I'm getting some failed requests that should succeed.
A THREDDS catalog can legally have dataset names and IDs that  
contain plus signs ("+"). The TDS HTML view of a catalog is mostly  
fine as well. The problem is when a dataset ID containing a plus  
sign is used in the query part of a URL as a parameter value. For  
instance, here's an example of an HTML view of a single dataset:
http://localhost:8080/thredds/catalog/testAll/test+dir/catalog.html? 
dataset=testDatasetScan/test+dir
The plus sign that is part of the dataset parameter value should be  
url-encoded as "%2B" but as is when the "dataset" parameter value  
is requested (req.getParameter("dataset")) the return value is  
"testDatasetScan/test dir".
We'll add this to our list of needed fixes. But in the mean time,  
try to avoid directories and datasets with plus signs in their  
names. Same goes for spaces.
Sorry for the restrictions.

Ethan


Nathan Potter wrote:
Is the "+" character allowed in either the name or ID attributes  
of a <dataset>?
When I tried that I got a null pointer exception from the THREDDS  
code (see stack trace below).
When I removed the "+" things worked.

N



2007-06-28T16:06:47.584 -0700 [ 1337941][ 26] [HTTP-GET] DEBUG - opendap.coreServlet.DispatchServlet - Request being handled by: opendap.bes.ThreddsDispatchHandler 2007-06-28T16:06:47.585 -0700 [ 1337942][ 26] [HTTP-GET] ERROR - opendap.coreServlet.OPeNDAPException - anyExceptionHandler (): java.lang.NullPointerException
java.lang.NullPointerException
at thredds.servlet.CatalogServicesServlet.handleCatalogServiceRequest (CatalogServicesServlet.java:226) at thredds.servlet.DataRootHandler.processReqForCatalog (DataRootHandler.java:1117) at opendap.bes.ThreddsDispatchHandler.handleRequest (ThreddsDispatchHandler.java:215) at opendap.coreServlet.DispatchServlet.doGet (DispatchServlet.java:440) at javax.servlet.http.HttpServlet.service(HttpServlet.java: 689) at javax.servlet.http.HttpServlet.service(HttpServlet.java: 802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105) at org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:541) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol $Http11ConnectionHandler.processConnection(Http11BaseProtocol.java: 664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket (PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt (LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool $ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:613)





= Nathan Potter ndp at opendap.org
OPeNDAP, Inc.                        541.752.1852

--
Ethan R. Davis Telephone: (303) 497-8155 Software Engineer Fax: (303) 497-8690 UCAR Unidata Program Center E-mail: edavis@xxxxxxxx
P.O. Box 3000
Boulder, CO 80307-3000 http:// www.unidata.ucar.edu/ ---------------------------------------------------------------------- -----

= 
Nathan Potter                        ndp at opendap.org
OPeNDAP, Inc.                        541.752.1852


==============================================================================
To unsubscribe thredds, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================


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