Plus signs in dataset names and IDs?

Nathan Potter ndp at opendap.org
Fri Jun 29 13:33:52 MDT 2007



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 at ucar.edu
> 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
==============================================================================



More information about the Thredds mailing list