BESXMLGetCommand Class Reference

#include <BESXMLGetCommand.h>

Inheritance diagram for BESXMLGetCommand:

Inheritance graph
[legend]
Collaboration diagram for BESXMLGetCommand:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 BESXMLGetCommand (const BESDataHandlerInterface &base_dhi)
virtual void dump (ostream &strm) const
 dumps information about this object
virtual BESDataHandlerInterfaceget_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 BESXMLCommandCommandBuilder (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

Detailed Description

Definition at line 39 of file BESXMLGetCommand.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.

Parameters:
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().

Here is the call graph for this function:

bool BESXMLCommand::del_command ( const string &  cmd_str  )  [static, inherited]

Deletes the command called cmd_str from the list of possible commands.

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

Parameters:
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 BESXMLCommand::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().

Here is the call graph for this function:

p_xmlcmd_builder BESXMLCommand::find_command ( const string &  cmd_str  )  [static, inherited]

Find the BESXMLCommand creation function with the given name.

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

Returns:
BESDataHandlerInterface of sub command if it exists or this instances

Reimplemented from BESXMLCommand.

Definition at line 145 of file BESXMLGetCommand.cc.

References BESXMLCommand::_dhi, and BESXMLCommand::get_dhi().

Here is the call graph for this function:

virtual bool BESXMLGetCommand::has_response (  )  [inline, virtual]

Has a response handler been created given the request document?

Returns:
true if a response handler has been set, false otherwise

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().

Here is the call graph for this function:

void BESXMLGetCommand::parse_request ( xmlNode *  node  )  [virtual]

parse a get command.

<get type="dds" definition="d" returnAs="name" />

Parameters:
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().

Here is the call graph for this function:

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().

Referenced by BESXMLGetDataDDXCommand::prep_request().

Here is the call graph for this function:

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().

Here is the call graph for this function:


Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated on Tue May 11 20:05:53 2010 for OPeNDAP Hyrax Back End Server (BES) by  doxygen 1.4.7