Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
dfw_field_trial_service_data.h File Reference
#include "dfw_field_trial_service_library.h"
#include "jansson.h"
#include "service.h"
#include "mongodb_tool.h"
#include "view_format.h"
Include dependency graph for dfw_field_trial_service_data.h:

Go to the source code of this file.

Data Structures

struct  ScaleClass
 
struct  FieldTrialServiceData
 The configuration data used by the DFW Field Trial Service. More...
 

Macros

#define DFT_GROUP_ALIAS_PREFIX_S   "field_trial"
 The prefix to use for Field Trial Service aliases. More...
 

Enumerations

enum  FieldTrialDatatype {
  DFTD_PROGRAMME, DFTD_FIELD_TRIAL, DFTD_STUDY, DFTD_LOCATION,
  DFTD_PLOT, DFTD_MATERIAL, DFTD_DRILLING, DFTD_MEASURED_VARIABLE,
  DFTD_OBSERVATION, DFTD_INSTRUMENT, DFTD_GENE_BANK, DFTD_CROP,
  DFTD_TREATMENT, DFTD_NUM_TYPES
}
 

Functions

const DFW_FIELD_TRIAL_PREFIX char *DFT_PROGRAM_S DFW_FIELD_TRIAL_VAL ("Programs")
 The key for specifying the object containing the fields data. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_PROGRAM_BACKUP_S DFW_FIELD_TRIAL_VAL ("Programs_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_FIELD_TRIALS_S DFW_FIELD_TRIAL_VAL ("FieldTrials")
 The key for specifying the object containing the fields data. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_FIELD_TRIALS_BACKUP_S DFW_FIELD_TRIAL_VAL ("FieldTrials_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_STUDIES_S DFW_FIELD_TRIAL_VAL ("Studies")
 The key for specifying the object containing the experimental area data. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_STUDIES_BACKUP_S DFW_FIELD_TRIAL_VAL ("Studies_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_LOCATION_S DFW_FIELD_TRIAL_VAL ("Locations")
 The key for specifying the object containing the location data. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_LOCATION_BACKUP_S DFW_FIELD_TRIAL_VAL ("Locations_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_PLOT_S DFW_FIELD_TRIAL_VAL ("Plots")
 The key for specifying the object containing the plot data. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_PLOT_BACKUP_S DFW_FIELD_TRIAL_VAL ("Plots_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_DRILLING_S DFW_FIELD_TRIAL_VAL ("Drillings")
 The key for specifying the object containing the drilling data. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_DRILLING_BACKUP_S DFW_FIELD_TRIAL_VAL ("Drillings_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_MATERIAL_S DFW_FIELD_TRIAL_VAL ("Materials")
 The key for specifying the object containing the materials data. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_MATERIAL_BACKUP_S DFW_FIELD_TRIAL_VAL ("Materials_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_PHENOTYPE_S DFW_FIELD_TRIAL_VAL ("Phenotypes")
 The key for specifying the object containing the phenotype data. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_PHENOTYPE_BACKUP_S DFW_FIELD_TRIAL_VAL ("Phenotypes_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_OBSERVATION_S DFW_FIELD_TRIAL_VAL ("Observations")
 The key for specifying the object containing the observation data. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_OBSERVATION_BACKUP_S DFW_FIELD_TRIAL_VAL ("Observations_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_INSTRUMENT_S DFW_FIELD_TRIAL_VAL ("Instruments")
 The key for specifying the object containing the instruments. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_INSTRUMENT_BACKUP_S DFW_FIELD_TRIAL_VAL ("Instruments_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_GENE_BANK_S DFW_FIELD_TRIAL_VAL ("GeneBanks")
 The key for specifying the object containing the Gene Banks. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_GENE_BANK_BACKUP_S DFW_FIELD_TRIAL_VAL ("GeneBanks_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_CROP_S DFW_FIELD_TRIAL_VAL ("Crops")
 The key for specifying the object containing the rows within the plots. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_CROP_BACKUP_S DFW_FIELD_TRIAL_VAL ("Crops_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_TREATMENT_S DFW_FIELD_TRIAL_VAL ("Treatments")
 The key for specifying the object containing the treatments. More...
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_TREATMENT_BACKUP_S DFW_FIELD_TRIAL_VAL ("Treatments_versions")
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_SELECTED_S DFW_FIELD_TRIAL_VAL ("selected")
 The key for specifying whether a particular object in a JSON tree is selected, e.g. More...
 
const DFW_FIELD_TRIAL_PREFIX char DFT_DEFAULT_COLUMN_DELIMITER DFW_FIELD_TRIAL_VAL (',')
 
const DFW_FIELD_TRIAL_PREFIX char *DFT_BACKUPS_ID_KEY_S DFW_FIELD_TRIAL_VAL ("original_id")
 
const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_DURATION DFW_FIELD_TRIAL_STRUCT_VAL ("Duration", PT_SIGNED_REAL)
 
const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_NOMINAL DFW_FIELD_TRIAL_STRUCT_VAL ("Nominal", PT_STRING)
 
const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_NUMERICAL DFW_FIELD_TRIAL_STRUCT_VAL ("Numerical", PT_SIGNED_REAL)
 
const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_CODE DFW_FIELD_TRIAL_STRUCT_VAL ("Code", PT_STRING)
 
const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_ORDINAL DFW_FIELD_TRIAL_STRUCT_VAL ("Ordinal", PT_UNSIGNED_INT)
 
const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_TEXT DFW_FIELD_TRIAL_STRUCT_VAL ("Text", PT_STRING)
 
const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_DATE DFW_FIELD_TRIAL_STRUCT_VAL ("Date", PT_TIME)
 
FieldTrialServiceDataAllocateFieldTrialServiceData (void)
 
void FreeFieldTrialServiceData (FieldTrialServiceData *data_p)
 
bool ConfigureFieldTrialService (FieldTrialServiceData *data_p, GrassrootsServer *grassroots_p)
 
const char * GetDatatypeAsString (const FieldTrialDatatype data_type)
 
const char * GetDatatypeDescriptionAsString (const FieldTrialDatatype data_type)
 
FieldTrialDatatype GetDatatypeFromString (const char *type_s)
 
const char * GetImageForDatatype (const FieldTrialServiceData *data_p, const char *data_type_s)
 
bool EnableMeasuredVariablesCache (FieldTrialServiceData *data_p)
 
void ClearMeasuredVariablesCache (FieldTrialServiceData *data_p)
 
struct MeasuredVariableGetCachedMeasuredVariableById (FieldTrialServiceData *data_p, const char *mv_id_s)
 
struct MeasuredVariableGetCachedMeasuredVariableByName (FieldTrialServiceData *data_p, const char *name_s)
 
bool AddMeasuredVariableToCache (FieldTrialServiceData *data_p, struct MeasuredVariable *mv_p, MEM_FLAG mf)
 
bool RemoveCachedMeasuredVariableByName (FieldTrialServiceData *data_p, const char *name_s)
 
bool HasMeasuredVariableCache (FieldTrialServiceData *data_p)
 
bool EnableTreatmentsCache (FieldTrialServiceData *data_p)
 
void ClearTreatmentsCache (FieldTrialServiceData *data_p)
 
struct TreatmentGetCachedTreatmentByURL (FieldTrialServiceData *data_p, const char *url_s)
 
bool AddTreatmentToCache (FieldTrialServiceData *data_p, struct Treatment *treatment_p, MEM_FLAG mf)
 
bool HasTreatmentCache (FieldTrialServiceData *data_p)
 
char * GetFullCacheFilename (const char *name_s, const FieldTrialServiceData *data_p)
 

Macro Definition Documentation

◆ DFT_GROUP_ALIAS_PREFIX_S

#define DFT_GROUP_ALIAS_PREFIX_S   "field_trial"

The prefix to use for Field Trial Service aliases.

Enumeration Type Documentation

◆ FieldTrialDatatype

Enumerator
DFTD_PROGRAMME 
DFTD_FIELD_TRIAL 
DFTD_STUDY 
DFTD_LOCATION 
DFTD_PLOT 
DFTD_MATERIAL 
DFTD_DRILLING 
DFTD_MEASURED_VARIABLE 
DFTD_OBSERVATION 
DFTD_INSTRUMENT 
DFTD_GENE_BANK 
DFTD_CROP 
DFTD_TREATMENT 
DFTD_NUM_TYPES 

Function Documentation

◆ DFW_FIELD_TRIAL_VAL() [1/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_PROGRAM_BACKUP_S DFW_FIELD_TRIAL_VAL ( "Programs_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [2/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_FIELD_TRIALS_BACKUP_S DFW_FIELD_TRIAL_VAL ( "FieldTrials_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [3/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_STUDIES_BACKUP_S DFW_FIELD_TRIAL_VAL ( "Studies_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [4/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_LOCATION_BACKUP_S DFW_FIELD_TRIAL_VAL ( "Locations_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [5/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_PLOT_BACKUP_S DFW_FIELD_TRIAL_VAL ( "Plots_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [6/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_DRILLING_BACKUP_S DFW_FIELD_TRIAL_VAL ( "Drillings_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [7/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_MATERIAL_BACKUP_S DFW_FIELD_TRIAL_VAL ( "Materials_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [8/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_PHENOTYPE_BACKUP_S DFW_FIELD_TRIAL_VAL ( "Phenotypes_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [9/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_OBSERVATION_BACKUP_S DFW_FIELD_TRIAL_VAL ( "Observations_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [10/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_INSTRUMENT_BACKUP_S DFW_FIELD_TRIAL_VAL ( "Instruments_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [11/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_GENE_BANK_BACKUP_S DFW_FIELD_TRIAL_VAL ( "GeneBanks_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [12/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_CROP_BACKUP_S DFW_FIELD_TRIAL_VAL ( "Crops_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [13/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_TREATMENT_BACKUP_S DFW_FIELD_TRIAL_VAL ( "Treatments_versions"  )

◆ DFW_FIELD_TRIAL_VAL() [14/15]

const DFW_FIELD_TRIAL_PREFIX char DFT_DEFAULT_COLUMN_DELIMITER DFW_FIELD_TRIAL_VAL ( ,
 
)

◆ DFW_FIELD_TRIAL_VAL() [15/15]

const DFW_FIELD_TRIAL_PREFIX char* DFT_BACKUPS_ID_KEY_S DFW_FIELD_TRIAL_VAL ( "original_id"  )

◆ DFW_FIELD_TRIAL_STRUCT_VAL() [1/7]

const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_DURATION DFW_FIELD_TRIAL_STRUCT_VAL ( "Duration"  ,
PT_SIGNED_REAL   
)

◆ DFW_FIELD_TRIAL_STRUCT_VAL() [2/7]

const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_NOMINAL DFW_FIELD_TRIAL_STRUCT_VAL ( "Nominal"  ,
PT_STRING   
)

◆ DFW_FIELD_TRIAL_STRUCT_VAL() [3/7]

const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_NUMERICAL DFW_FIELD_TRIAL_STRUCT_VAL ( "Numerical"  ,
PT_SIGNED_REAL   
)

◆ DFW_FIELD_TRIAL_STRUCT_VAL() [4/7]

const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_CODE DFW_FIELD_TRIAL_STRUCT_VAL ( "Code"  ,
PT_STRING   
)

◆ DFW_FIELD_TRIAL_STRUCT_VAL() [5/7]

const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_ORDINAL DFW_FIELD_TRIAL_STRUCT_VAL ( "Ordinal"  ,
PT_UNSIGNED_INT   
)

◆ DFW_FIELD_TRIAL_STRUCT_VAL() [6/7]

const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_TEXT DFW_FIELD_TRIAL_STRUCT_VAL ( "Text"  ,
PT_STRING   
)

◆ DFW_FIELD_TRIAL_STRUCT_VAL() [7/7]

const DFW_FIELD_TRIAL_PREFIX ScaleClass SCALE_DATE DFW_FIELD_TRIAL_STRUCT_VAL ( "Date"  ,
PT_TIME   
)

◆ AllocateFieldTrialServiceData()

FieldTrialServiceData* AllocateFieldTrialServiceData ( void  )

◆ FreeFieldTrialServiceData()

void FreeFieldTrialServiceData ( FieldTrialServiceData data_p)

◆ ConfigureFieldTrialService()

bool ConfigureFieldTrialService ( FieldTrialServiceData data_p,
GrassrootsServer grassroots_p 
)

◆ GetDatatypeAsString()

const char* GetDatatypeAsString ( const FieldTrialDatatype  data_type)

◆ GetDatatypeDescriptionAsString()

const char* GetDatatypeDescriptionAsString ( const FieldTrialDatatype  data_type)

◆ GetDatatypeFromString()

FieldTrialDatatype GetDatatypeFromString ( const char *  type_s)

◆ GetImageForDatatype()

const char* GetImageForDatatype ( const FieldTrialServiceData data_p,
const char *  data_type_s 
)

◆ EnableMeasuredVariablesCache()

bool EnableMeasuredVariablesCache ( FieldTrialServiceData data_p)

◆ ClearMeasuredVariablesCache()

void ClearMeasuredVariablesCache ( FieldTrialServiceData data_p)

◆ GetCachedMeasuredVariableById()

struct MeasuredVariable* GetCachedMeasuredVariableById ( FieldTrialServiceData data_p,
const char *  mv_id_s 
)

◆ GetCachedMeasuredVariableByName()

struct MeasuredVariable* GetCachedMeasuredVariableByName ( FieldTrialServiceData data_p,
const char *  name_s 
)

◆ AddMeasuredVariableToCache()

bool AddMeasuredVariableToCache ( FieldTrialServiceData data_p,
struct MeasuredVariable mv_p,
MEM_FLAG  mf 
)

◆ RemoveCachedMeasuredVariableByName()

bool RemoveCachedMeasuredVariableByName ( FieldTrialServiceData data_p,
const char *  name_s 
)

◆ HasMeasuredVariableCache()

bool HasMeasuredVariableCache ( FieldTrialServiceData data_p)

◆ EnableTreatmentsCache()

bool EnableTreatmentsCache ( FieldTrialServiceData data_p)

◆ ClearTreatmentsCache()

void ClearTreatmentsCache ( FieldTrialServiceData data_p)

◆ GetCachedTreatmentByURL()

struct Treatment* GetCachedTreatmentByURL ( FieldTrialServiceData data_p,
const char *  url_s 
)

◆ AddTreatmentToCache()

bool AddTreatmentToCache ( FieldTrialServiceData data_p,
struct Treatment treatment_p,
MEM_FLAG  mf 
)

◆ HasTreatmentCache()

bool HasTreatmentCache ( FieldTrialServiceData data_p)

◆ GetFullCacheFilename()

char* GetFullCacheFilename ( const char *  name_s,
const FieldTrialServiceData data_p 
)