Elements  5.12.0
A C++ base framework for the Euclid Software.
Classes | Typedefs | Enumerations | Functions
ElementsServices::DataSync Namespace Reference

Classes

class  UnknownHost
 Exception raised when a hosting solution is not supported by the tool. More...
 
class  ConnectionConfiguration
 The connection configuration mainly holds: More...
 
class  DownloadFailed
 An exception raised when downloading fails. More...
 
class  DataSynchronizer
 Base class to synchronize test data. More...
 
class  DependencyConfiguration
 The dependency configurations holds, for each test file to be retrieved: More...
 
class  IrodsSynchronizer
 A data synchronizer for iRODS hosts. More...
 
class  WebdavSynchronizer
 A data synchronizer for WebDAV hosts. More...
 
class  DataSync
 A class to download test data from a data repository prior to the unit test run. More...
 

Typedefs

using path = Elements::Path::Item
 

Enumerations

enum  DataHost { IRODS , WEBDAV }
 The test data hosting solution. More...
 
enum  OverwritingPolicy { ABORT , OVERWRITE }
 The overwriting policy if the local file already exists. More...
 

Functions

ELEMENTS_API std::shared_ptr< DataSynchronizercreateSynchronizer (ConnectionConfiguration connection, DependencyConfiguration dependency)
 
ELEMENTS_API path confFilePath (path filename)
 
ELEMENTS_API bool checkCall (std::string command)
 
ELEMENTS_API std::pair< std::string, std::stringrunCommandAndCaptureOutErr (std::string command)
 
ELEMENTS_API bool localDirExists (path localDir)
 
ELEMENTS_API void createLocalDirOf (path localFile)
 
ELEMENTS_API std::string environmentVariable (std::string name)
 Get the value of an environment variable. More...
 
ELEMENTS_API path localWorkspacePrefix ()
 
ELEMENTS_API std::string lower (std::string text)
 
template<typename T >
ELEMENTS_API bool valueIsListed (const T &value, const std::vector< T > &list)
 
ELEMENTS_API bool containsInThisOrder (std::string input, std::vector< std::string > substrings)
 
ELEMENTS_API bool irodsIsInstalled ()
 Check whether the iRODS client is installed. More...
 
ELEMENTS_API bool webdavIsInstalled ()
 Check whether the WebDAV client is installed. More...
 

Typedef Documentation

◆ path

Definition at line 39 of file DataSyncUtils.h.

Enumeration Type Documentation

◆ DataHost

The test data hosting solution.

Enumerator
IRODS 
WEBDAV 

Definition at line 40 of file ConnectionConfiguration.h.

◆ OverwritingPolicy

The overwriting policy if the local file already exists.

Enumerator
ABORT 
OVERWRITE 

Definition at line 47 of file ConnectionConfiguration.h.

Function Documentation

◆ checkCall()

bool ElementsServices::DataSync::checkCall ( std::string  command)

Definition at line 40 of file DataSyncUtils.cpp.

References std::string::c_str().

Referenced by irodsIsInstalled(), and webdavIsInstalled().

Here is the call graph for this function:

◆ confFilePath()

path ElementsServices::DataSync::confFilePath ( path  filename)

Definition at line 36 of file DataSyncUtils.cpp.

References Elements::getConfigurationPath().

Referenced by ElementsServices::DataSync::ConnectionConfiguration::parseConfigurationFile(), and ElementsServices::DataSync::DependencyConfiguration::parseConfigurationFile().

Here is the call graph for this function:

◆ containsInThisOrder()

bool ElementsServices::DataSync::containsInThisOrder ( std::string  input,
std::vector< std::string substrings 
)

Definition at line 90 of file DataSyncUtils.cpp.

References std::string::find().

Here is the call graph for this function:

◆ createLocalDirOf()

void ElementsServices::DataSync::createLocalDirOf ( path  localFile)

Definition at line 64 of file DataSyncUtils.cpp.

References localDirExists().

Referenced by ElementsServices::DataSync::DataSynchronizer::downloadOneFile().

Here is the call graph for this function:

◆ createSynchronizer()

std::shared_ptr< DataSynchronizer > ElementsServices::DataSync::createSynchronizer ( ConnectionConfiguration  connection,
DependencyConfiguration  dependency 
)

◆ localDirExists()

bool ElementsServices::DataSync::localDirExists ( path  localDir)

Definition at line 60 of file DataSyncUtils.cpp.

Referenced by createLocalDirOf().

◆ localWorkspacePrefix()

path ElementsServices::DataSync::localWorkspacePrefix ( )

Definition at line 78 of file DataSyncUtils.cpp.

References environmentVariable().

Referenced by ElementsServices::DataSync::ConnectionConfiguration::parseConfigurationFile().

Here is the call graph for this function:

◆ lower()

string ElementsServices::DataSync::lower ( std::string  text)

Definition at line 84 of file DataSyncUtils.cpp.

References std::string::begin(), std::string::end(), and std::transform().

Referenced by ElementsServices::DataSync::ConnectionConfiguration::parseHost(), and ElementsServices::DataSync::ConnectionConfiguration::parseOverwritingPolicy().

Here is the call graph for this function:

◆ runCommandAndCaptureOutErr()

std::pair< string, string > ElementsServices::DataSync::runCommandAndCaptureOutErr ( std::string  command)

Definition at line 45 of file DataSyncUtils.cpp.

References std::string::c_str(), std::array< T >::data(), std::shared_ptr< T >::get(), and std::make_pair().

Referenced by ElementsServices::DataSync::DataSynchronizer::downloadOneFile().

Here is the call graph for this function:

◆ valueIsListed()

template<typename T >
ELEMENTS_API bool ElementsServices::DataSync::valueIsListed ( const T &  value,
const std::vector< T > &  list 
)

Definition at line 64 of file DataSyncUtils.h.

References std::vector< T >::begin(), std::vector< T >::end(), and std::find().

Referenced by ElementsServices::DataSync::ConnectionConfiguration::parseOverwritingPolicy().

Here is the call graph for this function: