DAP Test Server: Difference between revisions
From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
(Created page with "== Background == When I finished Jake Hamby's work on the Java-DAP I wrote the DODS Test Server. This server utilized the Java-DAP to build synthetic datasets. This was accompli...") |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
When I finished Jake Hamby's work on the Java-DAP I wrote the DODS Test Server. This server utilized the Java-DAP to build synthetic datasets. This was accomplished by: | When I finished Jake Hamby's work on the Java-DAP I wrote the DODS Test Server. This server utilized the Java-DAP to build synthetic datasets. This was accomplished by: | ||
# Subclasssing all of the datatypes to | # Subclasssing all of the datatypes to provide a specialization of the type that would generate synthetic data using algorithms such as trigonometric functions, Fibonacci series, etc. | ||
# These test classes where packaged in class factory. | # These test classes where packaged in class factory. | ||
# The parsers were passed an instance of this class factory and a one (or more) DAP2 metadata documents (DDX, DDS, DAS) from which the parser would build a DDS object in memory. | # The parsers were passed an instance of this class factory and a one (or more) DAP2 metadata documents (DDX, DDS, DAS) from which the parser would build a DDS object in memory. | ||
# Calling the serialize() method of the DDS would cause to generate a DAP2 Data object conforming to the ingested document(s) and carrying the synthetically generated data payload. | # Calling the serialize() method of the DDS object would cause it to generate a DAP2 Data object conforming to the ingested metadata document(s) and carrying the synthetically generated data payload. | ||
#* Sequences all had the same length, controlled by a configuration option. | #* Sequences all had the same length, controlled by a configuration option. | ||
Line 20: | Line 20: | ||
== Proposed solution == | == Proposed solution == | ||
Implement DTS in C++ using the BES and libdap. | Implement a DTS in C++ using the BES and libdap. | ||
== Rationale for the solution == | == Rationale for the solution == |
Latest revision as of 15:15, 12 April 2012
Background
When I finished Jake Hamby's work on the Java-DAP I wrote the DODS Test Server. This server utilized the Java-DAP to build synthetic datasets. This was accomplished by:
- Subclasssing all of the datatypes to provide a specialization of the type that would generate synthetic data using algorithms such as trigonometric functions, Fibonacci series, etc.
- These test classes where packaged in class factory.
- The parsers were passed an instance of this class factory and a one (or more) DAP2 metadata documents (DDX, DDS, DAS) from which the parser would build a DDS object in memory.
- Calling the serialize() method of the DDS object would cause it to generate a DAP2 Data object conforming to the ingested metadata document(s) and carrying the synthetically generated data payload.
- Sequences all had the same length, controlled by a configuration option.
Problem addressed
Both libdap and Hyrax suffer from the absence of similar code written for the BES and Hyrax using C++.
The DTS would provide an excellent mechanism with which to:
- Test fringe cases in the data model for which the data model should work but no regular dataset modeling the structure is readily available.
- Allow us to test the code with more complete code coverage.
- Allows client developers to easily test their clients against a variety of data representations.
- Because the data are generated algorithmically, test verification becomes easier.
Proposed solution
Implement a DTS in C++ using the BES and libdap.