33 #include "BESDataDDXResponseHandler.h" 34 #include "BESDataDDSResponse.h" 35 #include "BESRequestHandlerList.h" 36 #include "BESDapNames.h" 37 #include "BESDataNames.h" 42 BESDataDDXResponseHandler::BESDataDDXResponseHandler(
const string &name )
47 BESDataDDXResponseHandler::~BESDataDDXResponseHandler( )
68 BESDEBUG(
"dap",
"Entering BESDataDDXResponseHandler::execute" << endl ) ;
70 dhi.action_name = DATADDX_RESPONSE_STR ;
74 DataDDS *dds =
new DataDDS( NULL,
"virtual" ) ;
80 _response_name = DATA_RESPONSE ;
81 dhi.
action = DATA_RESPONSE ;
96 dhi.
data[POST_CONSTRAINT] = dds->get_keywords().parse_keywords(dhi.
data[POST_CONSTRAINT]);
97 if (dds->get_keywords().has_keyword(
"dap")) {
98 dds->set_dap_version(dds->get_keywords().get_keyword_value(
"dap"));
109 dhi.
action = DATADDX_RESPONSE ;
112 BESDEBUG(
"dap",
"Leaving BESDataDDXResponseHandler::execute" << endl ) ;
133 transmitter->send_response( DATADDX_SERVICE, _response, dhi ) ;
146 strm << BESIndent::LMarg <<
"BESDataDDXResponseHandler::dump - (" 147 << (
void *)
this <<
")" << endl ;
148 BESIndent::Indent() ;
150 BESIndent::UnIndent() ;
154 BESDataDDXResponseHandler::DataDDXResponseBuilder(
const string &name )
string get_dap_client_protocol() const
Return the dap version string sent by the client (e.g., the OLFS)
string get_constraint() const
retrieve the constraint expression for this container
virtual void dump(ostream &strm) const
dumps information about this object
virtual void execute(BESDataHandlerInterface &dhi)
executes the command 'get ddx for def_name;'
handler object that knows how to create a specific response object
virtual void execute_each(BESDataHandlerInterface &dhi)
for each container in the given data handler interface, execute the given request ...
void set_constraint(const string &s)
set the constraint for this container
Represents an OPeNDAP DataDDS DAP2 data object within the BES.
string get_request_xml_base() const
Return the xml:base URL for this request.
virtual void dump(ostream &strm) const
dumps information about this object
Structure storing information used by the BES to handle the request.
map< string, string > data
the map of string data that will be required for the current request.
void first_container()
set the container pointer to the first container in the containers list
virtual void transmit(BESTransmitter *transmitter, BESDataHandlerInterface &dhi)
transmit the response object built by the execute command
string action
the response object requested, e.g. das, dds
BESContainer * container
pointer to current container in this interface
response handler that builds an OPeNDAP DDX object