bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
SiteMapCommand Class Reference

Build a site map. More...

#include <SiteMapCommand.h>

Inheritance diagram for SiteMapCommand:
Inheritance graph
Collaboration diagram for SiteMapCommand:
Collaboration graph

Public Member Functions

virtual void dump (std::ostream &strm) const
 dumps information about this object
 
virtual BESDataHandlerInterfaceget_xmlcmd_dhi ()
 Return the current BESDataHandlerInterface.
 
virtual bool has_response ()
 This command does not return a response, unless its an error.
 
virtual void parse_request (xmlNode *node)
 Parse the build site map command.
 
virtual void prep_request ()
 Prepare any information needed to execute the request of this command.
 
 SiteMapCommand (const BESDataHandlerInterface &base_dhi)
 

Static Public Member Functions

static void add_command (const std::string &cmd_str, p_xmlcmd_builder cmd)
 Add a command to the possible commands allowed by this BES.
 
static BESXMLCommandCommandBuilder (const BESDataHandlerInterface &base_dhi)
 Factory for the SiteMapCommand.
 
static void del_command (const std::string &cmd_str)
 Deletes the command called cmd_str from the list of possible commands.
 
static p_xmlcmd_builder find_command (const std::string &cmd_str)
 Find the BESXMLCommand creation function with the given name.
 

Protected Member Functions

virtual void set_response ()
 The request has been parsed, use the command action name to set the response handler.
 

Protected Attributes

std::string d_cmd_log_info
 Used only for the log.
 
BESDataHandlerInterface d_xmlcmd_dhi
 

Detailed Description

Build a site map.

The buildSiteMap command builds a site map for a particular BES catalog. This command emulates the behavior of showNode in that it builds a site map that shows all of the BES's catalogs and inserts the non-default catalogs as top-level 'directories' in the default catalog. The site map is returned to the caller as a text document, with one item per line.

The command syntax is

<buildSiteMap prefix="..." nodeSuffix="..." leafSuffix="..." catalog="..."/>

where catalog defaults to returning a site map for all of the catalogs using the same convention as the showNode command (as described above). If a catalog name is given, only the information for that catalog will be included, and this includes the default catalog (thus, it's possible to get a site map for the default catalog without touching the other catalogs).

If nodeSuffix or leafSuffix are the empty string, nodes or leaves will not be added to the site map (resp.). If you want these in the site map without a suffix, use a space (e.g., " ") as the attribute value. Otherwise, these strings are appended to the values of either Nodes (e.g., directories) or Leafs (e.g., data files).

Definition at line 57 of file SiteMapCommand.h.

Constructor & Destructor Documentation

◆ SiteMapCommand()

SiteMapCommand::SiteMapCommand ( const BESDataHandlerInterface & base_dhi)

Definition at line 44 of file SiteMapCommand.cc.

◆ ~SiteMapCommand()

virtual SiteMapCommand::~SiteMapCommand ( )
inlinevirtual

Definition at line 61 of file SiteMapCommand.h.

Member Function Documentation

◆ add_command()

void BESXMLCommand::add_command ( const std::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 88 of file BESXMLCommand.cc.

◆ CommandBuilder()

BESXMLCommand * SiteMapCommand::CommandBuilder ( const BESDataHandlerInterface & base_dhi)
static

Factory for the SiteMapCommand.

Parameters
base_dhiUsed to pass the 'action' info to BESXMLCommand::set_response()
Returns

Definition at line 120 of file SiteMapCommand.cc.

◆ del_command()

void BESXMLCommand::del_command ( const std::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 98 of file BESXMLCommand.cc.

◆ dump()

void SiteMapCommand::dump ( std::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.

Definition at line 105 of file SiteMapCommand.cc.

◆ find_command()

p_xmlcmd_builder BESXMLCommand::find_command ( const std::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 110 of file BESXMLCommand.cc.

◆ get_xmlcmd_dhi()

virtual BESDataHandlerInterface & BESXMLCommand::get_xmlcmd_dhi ( )
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

Returns
The current BESDataHandlerInterface object

Reimplemented in BESXMLGetCommand.

Definition at line 121 of file BESXMLCommand.h.

◆ has_response()

virtual bool SiteMapCommand::has_response ( )
inlinevirtual

This command does not return a response, unless its an error.

Implements BESXMLCommand.

Definition at line 68 of file SiteMapCommand.h.

◆ parse_request()

void SiteMapCommand::parse_request ( xmlNode * node)
virtual

Parse the build site map command.

<buildSiteMap prefix="..." nodeSuffix="..." leafSuffix="..." catalog="...""/>

See the class documentation for more information

Parameters
nodexml2 element node pointer

Implements BESXMLCommand.

Definition at line 59 of file SiteMapCommand.cc.

◆ prep_request()

virtual void BESXMLCommand::prep_request ( )
inlinevirtualinherited

Prepare any information needed to execute the request of this command.

Reimplemented in BESXMLDefineCommand, BESXMLGetCommand, BESXMLGetDataDDXCommand, ncml_module::NCMLCacheAggXMLCommand, and SampleSayXMLCommand.

Definition at line 108 of file BESXMLCommand.h.

◆ set_response()

void BESXMLCommand::set_response ( )
protectedvirtualinherited

The request has been parsed, use the command action name to set the response handler.

Definition at line 65 of file BESXMLCommand.cc.

Member Data Documentation

◆ d_cmd_log_info

std::string BESXMLCommand::d_cmd_log_info
protectedinherited

Used only for the log.

Definition at line 75 of file BESXMLCommand.h.

◆ d_xmlcmd_dhi

BESDataHandlerInterface BESXMLCommand::d_xmlcmd_dhi
protectedinherited

Definition at line 71 of file BESXMLCommand.h.


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