OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
BESXMLGetCommand Class Reference

#include <BESXMLGetCommand.h>

Inheritance diagram for BESXMLGetCommand:
Inheritance graph
Collaboration diagram for BESXMLGetCommand:
Collaboration graph

Public Member Functions

 BESXMLGetCommand (const BESDataHandlerInterface &base_dhi)
 
virtual void dump (ostream &strm) const
 dumps information about this object More...
 
virtual BESDataHandlerInterfaceget_dhi ()
 returns the BESDataHandlerInterface of either a sub command, if one exists, or this command's More...
 
virtual bool has_response ()
 Has a response handler been created given the request document? More...
 
virtual void parse_request (xmlNode *node)
 parse a get command. More...
 
virtual void prep_request ()
 Prepare any information needed to execute the request of this get command. More...
 
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. More...
 
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. 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 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. More...
 

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

Definition at line 52 of file BESXMLGetCommand.h.

Member Function Documentation

void BESXMLCommand::add_command ( const string &  cmd_str,
p_xmlcmd_builder  cmd 
)
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.

Parameters
cmd_strThe name of the command
cmdThe 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

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)
staticinherited

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

Parameters
cmd_strThe 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
strmC++ 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)
staticinherited

Find the BESXMLCommand creation function with the given name.

Parameters
cmd_strThe 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 ( )
inlinevirtual

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 
)
protectedvirtual
void BESXMLGetCommand::parse_request ( xmlNode *  node)
virtual

parse a get command.

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

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

Member Data Documentation


The documentation for this class was generated from the following files: