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

Re: Error occurring in dods.dap.Parser



Unfortunately that seems to break thredds's parsing of catalogConfig.xml.

If I convert
<dataset name="Single-level Salinity Data" urlPath="stream=ocea,param=200,DATE=20000101,TIME=0000,STEP=0,EXPVER=0oc7,CLASS=RD,TYPE=AN,NUMBER=0,METHOD=0,LEVELIST=7.000,LEVTYPE=DP,REPRES=LL,DOMAIN=G,salinity.nc"/>


to

<dataset name="Single-level Salinity Data" urlPath="stream%3Docea,param=200,DATE=20000101,TIME=0000,STEP=0,EXPVER=0oc7,CLASS=RD,TYPE=AN,NUMBER=0,METHOD=0,LEVELIST=7.000,LEVTYPE=DP,REPRES=LL,DOMAIN=G,salinity.nc"/>

that is to change the first "=" to %3D, the hex code for "=", it seems to break the lookup. What I get is the error

Error {
   code = 1;
   message = "Dataset not found in catalog; urlPath= 
<stream=ocea,param=200,DATE=20000101,TIME=0000,STEP=0,EXPVER=0oc7,CLASS=RD,TYPE=AN,NUMBER=0,METHOD=0,LEVELIST=7.000,LEVTYPE=DP,REPRES=LL,DOMAIN=G,salinity.nc>";
};


It would seem that thredds is converting the %3D to "=" in its head, then failing on the string comparison. Just my guess though.


Cheers,
-T




T,

Well. The problem is in your Dataset name:

} stream=ocea,param=200,DATE=20000101,TIME=0000,STEP=0,EXPVER=0oc7,CLASS =RD,TYPE=AN,NUMBER=0,METHOD=0,LEVELIST=7.000,LEVTYPE=DP,REPRES=LL,DOMA IN=G,salinity.nc;


The parser is barfing on the first "=" character (Line 58, column 9)

James? Is this in any way a legal name? If so, how does he need to "escape" the "=" (and possibly the ",") characters?


You could escape the '=' and ',' using the HTTP %<hex digit><hex digit> notation, I think. When the Java DAP 2.0 parser was written we had not encountered file names that broke the 'C identifier' mold. But that was just around the corner... Anyway, the C++ code lets just about anything be a file name. I'd try the escaping scheme and see how it works.

James

PS. I just checked the DDS parser and it will grok the percent sign, so you should be OK using that to signal the start of the escape sequence.



NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.