[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Plus signs in dataset names and IDs?



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:    address@hidden
P.O. Box 3000
Boulder, CO  80307-3000                       http://www.unidata.ucar.edu/
---------------------------------------------------------------------------


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