We're updating the issue view to help you get more done. 

THREDDS catalog produced by Hyrax no longer work with Unidata code because of time zone issues

Description

The timezone strings produced by BESUtil::get_time() are not compatible with the UNIDATA client code (java-netcdf?). The client code rejects the time string because of the time zone.

The error from Panoply is:

1 2 000012 SEVERE: CatalogBuilder readXML - failed to read catalog at URI http://52.23.165.57:8080/opendap/data/hdf4/catalog.xml Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Error reading catref http://52.23.165.57:8080/opendap/data/hdf4/catalog.xml err=failed to read catalog at 'http://52.23.165.57:8080/opendap/data/hdf4/catalog.xml' err='java.lang.IllegalArgumentException: 2018-09-10t19:07:01gmt does not match regexp ([\+\-?\d]+)([ t]([\.\:?\d]*)([ \+\-]\S*)?z?)?$’

We can see that the correctly constructed ISO-8601 time from Hyrax is being rejected because the regex only accepts Z or z for the timezone value.

Note: A to-lowercase() operation is obviously being performed on the time string prior to applying the regex.

We can reach out to UNIDATA about this and they may chose to fix it. Even if they address the problem this leaves existing clients hanging. It seems that we might need to parse these values in the OLFS and then convert them to an encoding that makes it past that regular expression.

Environment

None

Status

Assignee

Nathan Potter

Reporter

Nathan Potter

Labels

Story Points

None

Epic Link

Components

Sprint

None

Priority

Medium