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

builds catalogs from a directory structure More...

#include <CmrCatalog.h>

Inheritance diagram for cmr::CmrCatalog:
Inheritance graph
Collaboration diagram for cmr::CmrCatalog:
Collaboration graph

Public Member Functions

 CmrCatalog (const std::string &name=CMR_CATALOG_NAME)
 A catalog based on NASA's CMR system.
 
virtual unsigned int dereference_catalog ()
 Decrement the count of clients that reference this catalog.
 
void dump (std::ostream &strm) const override
 dumps information about this object
 
virtual std::string get_catalog_name () const
 Get the name for this catalog.
 
virtual BESCatalogUtilsget_catalog_utils () const
 Get a pointer to the utilities, customized for this catalog.
 
bes::CatalogNodeget_node (const std::string &path) const override
 
std::string get_root () const override
 
void get_site_map (const std::string &, const std::string &, const std::string &, std::ostream &, const std::string &) const override
 
virtual void reference_catalog ()
 Increase the count of clients that reference this catalog.
 
BESCatalogEntryshow_catalog (const std::string &container, BESCatalogEntry *) override
 

Detailed Description

builds catalogs from a directory structure

Definition at line 50 of file CmrCatalog.h.

Constructor & Destructor Documentation

◆ CmrCatalog()

cmr::CmrCatalog::CmrCatalog ( const std::string & name = CMR_CATALOG_NAME)
explicit

A catalog based on NASA's CMR system.

CMRCatalog is BESCatalog specialized for NASA's CMR system.

Note
Access to the host's file system is made using BESCatalogUtils, which is initialized using the catalog name.
Parameters
nameThe name of the catalog.
See also
BESCatalogUtils

Definition at line 87 of file CmrCatalog.cc.

Member Function Documentation

◆ dereference_catalog()

virtual unsigned int BESCatalog::dereference_catalog ( )
inlinevirtualinherited

Decrement the count of clients that reference this catalog.

Returns
The number of clients that reference this BESCatalog instance
See also
reference_catalog()

Definition at line 91 of file BESCatalog.h.

◆ dump()

void cmr::CmrCatalog::dump ( std::ostream & strm) const
overridevirtual

dumps information about this object

Displays the pointer value of this instance along with information about this catalog directory.

Parameters
strmC++ i/o stream to dump the information to

Implements BESCatalog.

Definition at line 573 of file CmrCatalog.cc.

◆ get_catalog_name()

virtual std::string BESCatalog::get_catalog_name ( ) const
inlinevirtualinherited

Get the name for this catalog.

Returns
The catalog.

Definition at line 102 of file BESCatalog.h.

◆ get_catalog_utils()

virtual BESCatalogUtils * BESCatalog::get_catalog_utils ( ) const
inlinevirtualinherited

Get a pointer to the utilities, customized for this catalog.

Returns
A BESCatalogUtils pointer.

Definition at line 112 of file BESCatalog.h.

◆ get_node()

bes::CatalogNode * cmr::CmrCatalog::get_node ( const std::string & path) const
overridevirtual

path_elements.size()==0 path: / (providers node - providers with OPeNDAP serviced collections) path_elements.size()==1 path: /provider_id/ (collections node - OPeNDAP serviced collections for provider_name) path_elements.size()==2 path: /provider_id/collection_concept_id/ (facets node) path_elements.size()==3 path: /provider_id/collection_concept_id/temporal/ (years node) path_elements.size()==4 path: /provider_id/collection_concept_id/years/ (months node) path_elements.size()==5 path: /provider_id/collection_concept_id/years/months/ (days node) path_elements.size()==6 path: /provider_id/collection_concept_id/years/months/days/ (granules node) path_elements.size()==7 path: /provider_id/collection_concept_id/years/months/days/granule_concept_id (IFH)

Parameters
ppath
Returns

Implements BESCatalog.

Definition at line 307 of file CmrCatalog.cc.

◆ get_root()

std::string cmr::CmrCatalog::get_root ( ) const
inlineoverridevirtual

This is a meaningless method for CMR so it returns empty string

Implements BESCatalog.

Definition at line 77 of file CmrCatalog.h.

◆ get_site_map()

void cmr::CmrCatalog::get_site_map ( const std::string & ,
const std::string & ,
const std::string & ,
std::ostream & ,
const std::string &  ) const
inlineoverridevirtual

Maybe someday...

Implements BESCatalog.

Definition at line 82 of file CmrCatalog.h.

◆ reference_catalog()

virtual void BESCatalog::reference_catalog ( )
inlinevirtualinherited

Increase the count of clients that reference this catalog.

This class maintains a count of the clients that reference the catalog. When count of clients drops to zero, the instance can be deleted.

Todo
Revisit the reference counting behavior - maybe there's a better way to manage these catalogs?

Definition at line 80 of file BESCatalog.h.

◆ show_catalog()

BESCatalogEntry * cmr::CmrCatalog::show_catalog ( const std::string & container,
BESCatalogEntry *  )
inlineoverridevirtual

@Deprecated

Implements BESCatalog.

Definition at line 70 of file CmrCatalog.h.


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