Difference between revisions of "DAP Test Server"

From OPeNDAP Documentation
(Proposed solution)
(Background)
 
(One intermediate revision 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 proved a specialization of the type that would generate synthetic data using algorithms such as trigonometric functions, Fibonacci series, etc.  
+
# 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.
  

Latest revision as of 15:15, 12 April 2012

1 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:

  1. 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.
  2. These test classes where packaged in class factory.
  3. 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.
  4. 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.

2 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.

3 Proposed solution

Implement a DTS in C++ using the BES and libdap.

4 Rationale for the solution

5 Discussion