33#include "BESDelContainerResponseHandler.h"
36#include "BESSilentInfo.h"
39#include "BESDefinitionStorageList.h"
40#include "BESDefinitionStorage.h"
42#include "BESContainerStorageList.h"
43#include "BESContainerStorage.h"
44#include "BESContainer.h"
45#include "BESDataNames.h"
46#include "BESSyntaxUserError.h"
47#include "BESResponseNames.h"
48#include "BESDataHandlerInterface.h"
54BESDelContainerResponseHandler::BESDelContainerResponseHandler(
const string &name) :
59BESDelContainerResponseHandler::~BESDelContainerResponseHandler()
84 dhi.action_name = DELETE_CONTAINER_STR;
85 BESInfo *info =
new BESSilentInfo();
86 d_response_object = info;
89 string container_name = dhi.
data[CONTAINER_NAME];
90 string store_name = dhi.
data[STORE_NAME];
91 if (container_name !=
"") {
93 store_name = CATALOG ;
98 string err_str = (string)
"Unable to delete container. " +
"The container \"" + dhi.
data[CONTAINER_NAME]
99 +
"\" does not exist in container storage \"" + dhi.
data[STORE_NAME] +
"\"";
104 string err_str = (string)
"Container storage \"" + dhi.
data[STORE_NAME] +
"\" does not exist. "
105 +
"Unable to delete container \"" + dhi.
data[CONTAINER_NAME] +
"\"";
110 string err_str = (string)
"No container is specified. " +
"Unable to complete request.";
130 if (d_response_object) {
147 strm << BESIndent::LMarg <<
"BESDelContainerResponseHandler::dump - (" << (
void *)
this <<
")" << endl;
150 BESIndent::UnIndent();
154BESDelContainerResponseHandler::DelContainerResponseBuilder(
const string &name)
provides persistent storage for data storage information represented by a container.
virtual bool del_container(const std::string &s_name)=0
removes a container with the given symbolic name
Structure storing information used by the BES to handle the request.
std::map< std::string, std::string > data
the map of string data that will be required for the current request.
response handler that deletes a container
virtual void dump(std::ostream &strm) const
dumps information about this object
virtual void transmit(BESTransmitter *transmitter, BESDataHandlerInterface &dhi)
transmit the response object built by the execute command using the specified transmitter object
virtual void execute(BESDataHandlerInterface &dhi)
executes the command to delete a container
informational response object
virtual void transmit(BESTransmitter *transmitter, BESDataHandlerInterface &dhi)=0
transmit the informational object
exception thrown if internal error encountered
handler object that knows how to create a specific response object
void dump(std::ostream &strm) const override
dumps information about this object
error thrown if there is a user syntax error in the request or any other user error