OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
#include <BESXMLDefineCommand.h>
Public Member Functions | |
BESXMLDefineCommand (const BESDataHandlerInterface &base_dhi) | |
virtual void | dump (ostream &strm) const |
dumps information about this object More... | |
virtual BESDataHandlerInterface & | get_dhi () |
Return the current BESDataHandlerInterface. More... | |
virtual bool | has_response () |
Has a response handler been created given the request document? More... | |
virtual void | parse_request (xmlNode *node) |
parse a show command. More... | |
virtual void | prep_request () |
prepare the define command by making sure the containers exist More... | |
virtual | ~BESXMLDefineCommand () |
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. More... | |
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. More... | |
static p_xmlcmd_builder | find_command (const string &cmd_str) |
Find the BESXMLCommand creation function with the given name. More... | |
Protected Member Functions | |
virtual void | set_response () |
The request has been parsed, use the command action name to set the response handler. More... | |
Protected Attributes | |
BESDataHandlerInterface | _dhi |
string | _str_cmd |
Definition at line 43 of file BESXMLDefineCommand.h.
BESXMLDefineCommand::BESXMLDefineCommand | ( | const BESDataHandlerInterface & | base_dhi | ) |
Definition at line 42 of file BESXMLDefineCommand.cc.
Referenced by CommandBuilder().
|
inlinevirtual |
Definition at line 60 of file BESXMLDefineCommand.h.
|
staticinherited |
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().
|
static |
Definition at line 336 of file BESXMLDefineCommand.cc.
References BESXMLDefineCommand().
Referenced by BESXMLDefaultCommands::initialize().
|
staticinherited |
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().
|
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.
Definition at line 326 of file BESXMLDefineCommand.cc.
References BESXMLCommand::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
|
staticinherited |
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 BESXMLGetCommand::parse_request().
|
inlinevirtualinherited |
Return the current BESDataHandlerInterface.
Since there can be multiple commands within a single request document, different interface objects can be created. This returns the current interface object
Reimplemented in BESXMLGetCommand.
Definition at line 87 of file BESXMLCommand.h.
References BESXMLCommand::_dhi.
Referenced by BESXMLInterface::build_data_request_plan(), BESXMLInterface::clean(), and BESXMLGetCommand::get_dhi().
|
inlinevirtual |
Has a response handler been created given the request document?
Implements BESXMLCommand.
Definition at line 64 of file BESXMLDefineCommand.h.
|
virtual |
parse a show command.
No properties or children elements
<define name="d" space="default"> <container name="c"> <constraint>a valid ce</constraint> <attributes>list of attributes</attributes> </container> <aggregate handler="someHandler" cmd="someCommand" /> </define>
Requires the name property. The space property is optional. Requires at least one container element. The container element requires the name property. The constraint and attribute elements of container are optional. The aggregate element is optional.
node | xml2 element node pointer |
Implements BESXMLCommand.
Definition at line 66 of file BESXMLDefineCommand.cc.
References BESXMLCommand::_dhi, BESXMLCommand::_str_cmd, BESDataHandlerInterface::action, BESDataHandlerInterface::data, DEF_NAME, DEFINE_RESPONSE, DEFINE_RESPONSE_STR, BESXMLUtils::GetFirstChild(), BESXMLUtils::GetNextChild(), BESXMLUtils::GetNodeInfo(), and BESXMLCommand::set_response().
|
virtual |
prepare the define command by making sure the containers exist
Reimplemented from BESXMLCommand.
Definition at line 301 of file BESXMLDefineCommand.cc.
References BESXMLCommand::_dhi, BESDEBUG, BESDataHandlerInterface::containers, BESContainerStorageList::look_for(), BESContainer::set_attributes(), BESContainer::set_constraint(), and BESContainerStorageList::TheList().
|
protectedvirtualinherited |
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 BESXMLCatalogCommand::parse_request(), BESXMLShowErrorCommand::parse_request(), BESXMLDeleteDefinitionsCommand::parse_request(), BESXMLSetContainerCommand::parse_request(), BESXMLShowCommand::parse_request(), BESXMLDeleteContainerCommand::parse_request(), BESXMLDeleteDefinitionCommand::parse_request(), BESXMLDeleteContainersCommand::parse_request(), BESXMLSetContextCommand::parse_request(), BESXMLGetDataDDXCommand::parse_request(), BESXMLGetCommand::parse_request(), and parse_request().
|
protectedinherited |
Definition at line 57 of file BESXMLCommand.h.
Referenced by BESXMLCommand::BESXMLCommand(), BESXMLGetCommand::get_dhi(), BESXMLCommand::get_dhi(), BESXMLGetCommand::parse_basic_get(), BESXMLShowErrorCommand::parse_request(), BESXMLDeleteDefinitionCommand::parse_request(), BESXMLDeleteContainerCommand::parse_request(), BESXMLCatalogCommand::parse_request(), BESXMLDeleteDefinitionsCommand::parse_request(), BESXMLShowCommand::parse_request(), BESXMLDeleteContainersCommand::parse_request(), BESXMLSetContextCommand::parse_request(), BESXMLSetContainerCommand::parse_request(), BESXMLGetCommand::parse_request(), parse_request(), BESXMLGetDataDDXCommand::prep_request(), BESXMLGetCommand::prep_request(), prep_request(), and BESXMLCommand::set_response().
|
protectedinherited |
Definition at line 59 of file BESXMLCommand.h.
Referenced by BESXMLGetCommand::parse_basic_get(), BESXMLShowErrorCommand::parse_request(), BESXMLDeleteDefinitionCommand::parse_request(), BESXMLShowCommand::parse_request(), BESXMLDeleteContainersCommand::parse_request(), BESXMLDeleteDefinitionsCommand::parse_request(), BESXMLDeleteContainerCommand::parse_request(), BESXMLCatalogCommand::parse_request(), BESXMLSetContextCommand::parse_request(), BESXMLSetContainerCommand::parse_request(), BESXMLGetDataDDXCommand::parse_request(), BESXMLGetCommand::parse_request(), parse_request(), and BESXMLCommand::set_response().