OPeNDAP Hyrax Back End Server (BES) Updated for version 3.8.3
|
#include <BESXMLGetCommand.h>
Public Member Functions | |
BESXMLGetCommand (const BESDataHandlerInterface &base_dhi) | |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
virtual BESDataHandlerInterface & | get_dhi () |
returns the BESDataHandlerInterface of either a sub command, if one exists, or this command's | |
virtual bool | has_response () |
Has a response handler been created given the request document? | |
virtual void | parse_request (xmlNode *node) |
parse a get command. | |
virtual void | prep_request () |
Prepare any information needed to execute the request of this get command. | |
virtual | ~BESXMLGetCommand () |
Static Public Member Functions | |
static void | add_command (const string &cmd_str, p_xmlcmd_builder cmd) |
Add a command to the possible commands allowed by this BES. | |
static BESXMLCommand * | CommandBuilder (const BESDataHandlerInterface &base_dhi) |
static bool | del_command (const string &cmd_str) |
Deletes the command called cmd_str from the list of possible commands. | |
static p_xmlcmd_builder | find_command (const string &cmd_str) |
Find the BESXMLCommand creation function with the given name. | |
Protected Member Functions | |
virtual void | parse_basic_get (xmlNode *node, const string &name, const string &type, const string &value, map< string, string > &props) |
virtual void | set_response () |
The request has been parsed, use the command action name to set the response handler. | |
Protected Attributes | |
BESDataHandlerInterface | _dhi |
string | _str_cmd |
Definition at line 39 of file BESXMLGetCommand.h.
BESXMLGetCommand::BESXMLGetCommand | ( | const BESDataHandlerInterface & | base_dhi | ) |
Definition at line 45 of file BESXMLGetCommand.cc.
Referenced by CommandBuilder().
virtual BESXMLGetCommand::~BESXMLGetCommand | ( | ) | [inline, virtual] |
Definition at line 52 of file BESXMLGetCommand.h.
void BESXMLCommand::add_command | ( | const string & | cmd_str, |
p_xmlcmd_builder | cmd | ||
) | [static, inherited] |
Add a command to the possible commands allowed by this BES.
This adds a function to parse a specific BES command within the BES request document using the given name. If a command element is found with the name cmd_str, then the XMLCommand object is created using the passed cmd object.
cmd_str | The name of the command |
cmd | The function to call to create the BESXMLCommand object |
Definition at line 85 of file BESXMLCommand.cc.
Referenced by BESXMLDefaultCommands::initialize(), and BESXMLDapCommandModule::initialize().
BESXMLCommand * BESXMLGetCommand::CommandBuilder | ( | const BESDataHandlerInterface & | base_dhi | ) | [static] |
Reimplemented in BESXMLGetDataDDXCommand.
Definition at line 208 of file BESXMLGetCommand.cc.
References BESXMLGetCommand().
Referenced by BESXMLDefaultCommands::initialize().
bool BESXMLCommand::del_command | ( | const string & | cmd_str | ) | [static, inherited] |
Deletes the command called cmd_str from the list of possible commands.
cmd_str | The name of the command to remove from the list |
Definition at line 96 of file BESXMLCommand.cc.
Referenced by BESXMLDefaultCommands::terminate(), and BESXMLDapCommandModule::terminate().
void BESXMLGetCommand::dump | ( | ostream & | strm | ) | const [virtual] |
dumps information about this object
Displays the pointer value of this instance
strm | C++ i/o stream to dump the information to |
Reimplemented from BESXMLCommand.
Reimplemented in BESXMLGetDataDDXCommand.
Definition at line 198 of file BESXMLGetCommand.cc.
References BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
p_xmlcmd_builder BESXMLCommand::find_command | ( | const string & | cmd_str | ) | [static, inherited] |
Find the BESXMLCommand creation function with the given name.
cmd_str | The name of the command creation function to find |
Definition at line 113 of file BESXMLCommand.cc.
Referenced by BESXMLInterface::build_data_request_plan(), and parse_request().
BESDataHandlerInterface & BESXMLGetCommand::get_dhi | ( | ) | [virtual] |
returns the BESDataHandlerInterface of either a sub command, if one exists, or this command's
Reimplemented from BESXMLCommand.
Definition at line 145 of file BESXMLGetCommand.cc.
References BESXMLCommand::_dhi, and BESXMLCommand::get_dhi().
virtual bool BESXMLGetCommand::has_response | ( | ) | [inline, virtual] |
Has a response handler been created given the request document?
Implements BESXMLCommand.
Definition at line 57 of file BESXMLGetCommand.h.
void BESXMLGetCommand::parse_basic_get | ( | xmlNode * | node, |
const string & | name, | ||
const string & | type, | ||
const string & | value, | ||
map< string, string > & | props | ||
) | [protected, virtual] |
Definition at line 107 of file BESXMLGetCommand.cc.
References BESXMLCommand::_dhi, BESXMLCommand::_str_cmd, BESDataHandlerInterface::action, BESDEBUG, DAP2_FORMAT, BESDataHandlerInterface::data, BESUtil::lowercase(), and RETURN_CMD.
Referenced by BESXMLGetDataDDXCommand::parse_request(), and parse_request().
void BESXMLGetCommand::parse_request | ( | xmlNode * | node | ) | [virtual] |
parse a get command.
<get type="dds" definition="d" returnAs="name" />
node | xml2 element node pointer |
Implements BESXMLCommand.
Reimplemented in BESXMLGetDataDDXCommand.
Definition at line 57 of file BESXMLGetCommand.cc.
References BESXMLCommand::_dhi, BESXMLCommand::_str_cmd, BESXMLCommand::find_command(), GET_RESPONSE, BESXMLUtils::GetNodeInfo(), parse_basic_get(), BESXMLCommand::parse_request(), and BESXMLCommand::set_response().
void BESXMLGetCommand::prep_request | ( | ) | [virtual] |
Prepare any information needed to execute the request of this get command.
This function is used to prepare the information needed to execute the get request. It finds the definition specified in the element and prepares all of the containers within that definition.
Reimplemented from BESXMLCommand.
Reimplemented in BESXMLGetDataDDXCommand.
Definition at line 160 of file BESXMLGetCommand.cc.
References BESXMLCommand::_dhi, AGG_CMD, AGG_HANDLER, BESDataHandlerInterface::containers, BESDataHandlerInterface::data, BESDefine::end_container(), BESDefine::first_container(), BESDefine::get_agg_cmd(), BESDefine::get_agg_handler(), BESDefinitionStorageList::look_for(), BESXMLCommand::prep_request(), and BESDefinitionStorageList::TheList().
void BESXMLCommand::set_response | ( | ) | [protected, virtual, inherited] |
The request has been parsed, use the command action name to set the response handler.
Definition at line 57 of file BESXMLCommand.cc.
References BESXMLCommand::_dhi, BESXMLCommand::_str_cmd, BESDataHandlerInterface::action, BESDataHandlerInterface::data, DATA_REQUEST, BESResponseHandlerList::find_handler(), REQUEST_FROM, BESDataHandlerInterface::response_handler, SERVER_PID, BESResponseHandlerList::TheList(), and BESLog::TheLog().
Referenced by BESXMLShowErrorCommand::parse_request(), BESXMLShowCommand::parse_request(), BESXMLSetContextCommand::parse_request(), BESXMLSetContainerCommand::parse_request(), BESXMLGetDataDDXCommand::parse_request(), parse_request(), BESXMLDeleteDefinitionsCommand::parse_request(), BESXMLDeleteDefinitionCommand::parse_request(), BESXMLDeleteContainersCommand::parse_request(), BESXMLDeleteContainerCommand::parse_request(), BESXMLDefineCommand::parse_request(), and BESXMLCatalogCommand::parse_request().
BESDataHandlerInterface BESXMLCommand::_dhi [protected, inherited] |
Definition at line 57 of file BESXMLCommand.h.
Referenced by BESXMLCommand::BESXMLCommand(), get_dhi(), BESXMLCommand::get_dhi(), parse_basic_get(), BESXMLShowErrorCommand::parse_request(), BESXMLShowCommand::parse_request(), BESXMLSetContextCommand::parse_request(), BESXMLSetContainerCommand::parse_request(), parse_request(), BESXMLDeleteDefinitionsCommand::parse_request(), BESXMLDeleteDefinitionCommand::parse_request(), BESXMLDeleteContainersCommand::parse_request(), BESXMLDeleteContainerCommand::parse_request(), BESXMLDefineCommand::parse_request(), BESXMLCatalogCommand::parse_request(), BESXMLGetDataDDXCommand::prep_request(), prep_request(), BESXMLDefineCommand::prep_request(), and BESXMLCommand::set_response().
string BESXMLCommand::_str_cmd [protected, inherited] |
Definition at line 59 of file BESXMLCommand.h.
Referenced by parse_basic_get(), BESXMLShowErrorCommand::parse_request(), BESXMLShowCommand::parse_request(), BESXMLSetContextCommand::parse_request(), BESXMLSetContainerCommand::parse_request(), BESXMLGetDataDDXCommand::parse_request(), parse_request(), BESXMLDeleteDefinitionsCommand::parse_request(), BESXMLDeleteDefinitionCommand::parse_request(), BESXMLDeleteContainersCommand::parse_request(), BESXMLDeleteContainerCommand::parse_request(), BESXMLDefineCommand::parse_request(), BESXMLCatalogCommand::parse_request(), and BESXMLCommand::set_response().