|
OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
implementation of BESContainerStorageVolatile that represents a list of NCML requests More...
#include <NCMLContainerStorage.h>


Public Types | |
| typedef map< string, BESContainer * >::const_iterator | Container_citer |
| typedef map< string, BESContainer * >::iterator | Container_iter |
Public Member Functions | |
| virtual void | add_container (const string &s_name, const string &r_name, const string &type) |
| adds a container with the provided information More... | |
| virtual bool | del_container (const string &s_name) |
| removes a container with the given symbolic name from the list and deletes it. More... | |
| virtual bool | del_containers () |
| removes all container More... | |
| virtual void | dump (ostream &strm) const |
| dumps information about this object More... | |
| virtual const string & | get_name () const |
| retrieve the name of this persistent store More... | |
| virtual bool | isData (const string &inQuestion, list< string > &provides) |
| determine if the given container is data and what servies are available for it More... | |
| virtual BESContainer * | look_for (const string &sym_name) |
| looks for the specified container using the symbolic name passed More... | |
| NCMLContainerStorage (const string &n) | |
| create an instance of this persistent store with the given name. More... | |
| virtual void | show_containers (BESInfo &info) |
| show information for each container in this persistent store More... | |
| virtual | ~NCMLContainerStorage () |
Static Public Attributes | |
| static string | NCML_TempDir |
Protected Member Functions | |
| virtual void | add_container (BESContainer *c) |
| add the passed container to the list of containers in volatile storage More... | |
| virtual void | show_container (const string &sym_name, const string &real_name, const string &type, BESInfo &info) |
| add information for a container to the informational response object More... | |
Protected Attributes | |
| bool | _follow_sym_links |
| string | _my_name |
| string | _root_dir |
implementation of BESContainerStorageVolatile that represents a list of NCML requests
Each of the containers stored in the NCMLContainerStorage represents a NCML request. When accessed the container will make the NCML request in order to create the target response.
Definition at line 54 of file NCMLContainerStorage.h.
|
inherited |
Definition at line 69 of file BESContainerStorageVolatile.h.
|
inherited |
Definition at line 70 of file BESContainerStorageVolatile.h.
| NCMLContainerStorage::NCMLContainerStorage | ( | const string & | n | ) |
create an instance of this persistent store with the given name.
Creates an instances of NCMLContainerStorage with the given name.
| n | name of this persistent store |
Definition at line 45 of file NCMLContainerStorage.cc.
|
virtual |
Definition at line 50 of file NCMLContainerStorage.cc.
|
virtual |
adds a container with the provided information
| s_name | symbolic name for the container |
| r_name | the wcs request url |
| type | ignored. The type of the target response is determined by the NCML request with the format parameter |
Reimplemented from BESContainerStorageVolatile.
Definition at line 62 of file NCMLContainerStorage.cc.
References BESContainerStorageVolatile::add_container().

|
protectedvirtualinherited |
add the passed container to the list of containers in volatile storage
This method adds the passed container to the list of volatile containers. The passed container is owned by the list if added and should not be deleted by the caller.
If a container with the symbolic name of the passed container is already in the list then an exception is thrown.
| c | container to add to the list |
| BESContainerStorageExcpetion | if the passed container is null |
| BESContainerStorageExcpetion | if no type is specified in the passed container |
| BESContainerStorageExcpetion | if a container with the passed symbolic name already exists. |
Definition at line 173 of file BESContainerStorageVolatile.cc.
References BESContainer::get_container_type(), and BESContainer::get_symbolic_name().
Referenced by GatewayContainerStorage::add_container(), add_container(), and BESContainerStorageCatalog::add_container().

|
virtualinherited |
removes a container with the given symbolic name from the list and deletes it.
| s_name | symbolic name for the container |
Implements BESContainerStorage.
Definition at line 199 of file BESContainerStorageVolatile.cc.
|
virtualinherited |
removes all container
This method removes all containers from the persistent store. It does not delete the real data behind the container.
Implements BESContainerStorage.
Definition at line 222 of file BESContainerStorageVolatile.cc.
Referenced by BESContainerStorageVolatile::~BESContainerStorageVolatile().
|
virtual |
dumps information about this object
Displays the pointer value of this instance along with information about each of the NCMLcontainers already stored.
| strm | C++ i/o stream to dump the information to |
Reimplemented from BESContainerStorageVolatile.
Definition at line 78 of file NCMLContainerStorage.cc.
References BESContainerStorageVolatile::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().

|
inlinevirtualinherited |
retrieve the name of this persistent store
Definition at line 93 of file BESContainerStorage.h.
References BESContainerStorage::_my_name.
Referenced by BESContainerStorageList::add_persistence(), BESContainerStorageVolatile::dump(), BESContainerStorageCatalog::dump(), BESContainerStorageFile::dump(), and BESContainerStorageVolatile::show_containers().
|
virtualinherited |
determine if the given container is data and what servies are available for it
| inQuestion | the container in question |
| provides | an output parameter for storing the list of services provided for this container |
Implements BESContainerStorage.
Reimplemented in BESContainerStorageCatalog.
Definition at line 242 of file BESContainerStorageVolatile.cc.
References BESContainer::get_container_type(), BESContainerStorageVolatile::look_for(), BESServiceRegistry::services_handled(), and BESServiceRegistry::TheRegistry().

|
virtualinherited |
looks for the specified container using the symbolic name passed
If a match is made with the symbolic name then the stored container is duplicated and returned to the user. If not, 0 is returned.
| sym_name | symbolic name of the container to look for |
Implements BESContainerStorage.
Definition at line 86 of file BESContainerStorageVolatile.cc.
References BESContainer::ptr_duplicate().
Referenced by BESContainerStorageVolatile::isData().

|
protectedvirtualinherited |
add information for a container to the informational response object
| sym_name | symbolic name of the container to add |
| real_name | real name, e.g. file name, of the container to add |
| type | data type of the container |
| info | The BES information object to add container information to |
Definition at line 45 of file BESContainerStorage.cc.
References BESInfo::add_tag().
Referenced by BESContainerStorageVolatile::show_containers(), and BESContainerStorageFile::show_containers().

|
virtualinherited |
show information for each container in this persistent store
For each container in this persistent store, add infomation about each of those containers. The information added to the information object includes a line for each container within this persistent store which includes the symbolic name, the real name, and the data type, separated by commas.
In the case of this persistent store information from each container added to the volatile list is added to the information object.
| info | object to store the container and persistent store information |
Implements BESContainerStorage.
Definition at line 268 of file BESContainerStorageVolatile.cc.
References BESContainerStorageVolatile::_root_dir, BESInfo::add_tag(), BESContainer::get_container_type(), BESContainerStorage::get_name(), BESContainer::get_real_name(), BESContainer::get_symbolic_name(), and BESContainerStorage::show_container().

|
protectedinherited |
Definition at line 62 of file BESContainerStorageVolatile.h.
Referenced by BESContainerStorageVolatile::add_container(), BESContainerStorageCatalog::BESContainerStorageCatalog(), and BESContainerStorageVolatile::BESContainerStorageVolatile().
|
protectedinherited |
Definition at line 71 of file BESContainerStorage.h.
Referenced by BESContainerStorage::get_name().
|
protectedinherited |
|
static |
Definition at line 57 of file NCMLContainerStorage.h.
Referenced by NCMLContainer::access(), and ncml_module::NCMLModule::initialize().