This repository has been archived by the owner on Sep 1, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 179
Fix DAP4 code to support its use with e.g. .ncml files #1312
Open
DennisHeimbigner
wants to merge
7
commits into
Unidata:5.0.0
Choose a base branch
from
DennisHeimbigner:dspfix.dmh
base: 5.0.0
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Commits on Oct 15, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 456c582 - Browse repository at this point
Copy the full SHA 456c582View commit details -
Fix DAP4 code to support its use with e.g. .ncml files
The old DAP4 code assumed that all source files on the server could be specified using a path string. It turns out that for virtual files like .ncml files, this is false and instead, a NetcdfFile instance must be used. Fixing this necessitated some significant changes to the DAP4 code. The basic fix was to make the primary DAP4 code operate with respect to a DSP object. Then the problem was to change the code that invoked DAP4 so that it figured out what kind of DSP object to use. The primary change on the server side is to provide a function that, given an object, can figure out what kind of DSP to use to convert that kind of object to a DAP4 representation. This is defined in the new class called DapDSP. As a rule, clients will end up using HttpDSP to read the incoming DAP4 encode Http stream. Again as a rule, Servers will assume an incoming Http request is for a NetcdfFile and will use CDMDSP to convert that to a DAP4 Http stream. In the event that Server detects that the file to be read is .nc, then it may choose to use Nc4DSP to read the file, although it is not required to and can instead open the file as a NetcdfFile object and use CDMDSP. The other major change in this PR, and the one that actually prompted this whole change, is in the DapController and its subclasses. Specifically, the function getNetcdfFile() has been added to attempt to convert a String (a location) to a NetcdfFile object (ultimately via DapDSP). It is only if this fails that an attempt is made to look for the other cases via the location extension. Misc. Changes: - Remove DSPRegistry as no longer needed. - Remove ThreddsDSP since it was just a wrapper around CDMDSP. - Add a simple .ncml test case to show that NCML files could be served. - Use #mode= to determine if DAP4 or DAP2 is to be used instead of #protocol= or #proto=. The latter two are still supported for back compatibility, but are no longer documented and are deprecated.
Configuration menu - View commit details
-
Copy full SHA for 773baf7 - Browse repository at this point
Copy the full SHA 773baf7View commit details
Commits on Oct 19, 2019
-
Configuration menu - View commit details
-
Copy full SHA for d47eb0c - Browse repository at this point
Copy the full SHA d47eb0cView commit details
Commits on Oct 21, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 065f9f6 - Browse repository at this point
Copy the full SHA 065f9f6View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd06c76 - Browse repository at this point
Copy the full SHA fd06c76View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f873fa - Browse repository at this point
Copy the full SHA 7f873faView commit details -
Configuration menu - View commit details
-
Copy full SHA for 98b3a32 - Browse repository at this point
Copy the full SHA 98b3a32View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.