Class V7Loader
- All Implemented Interfaces:
SpaceSystemLoader
Note about handling of data types: before Yamcs 5, the parameter and argument types were created anonymous. They were
not stored into the Mdb
structures. An attempt to do so has failed because in XTCE the data types include the
alarms and command argument validity whereas in the XTCE they are not defined in the DataType sheets. In addition in
the spreadhseet we have one definition which can be shared between TC and TM.
Starting with Yamcs 5, we do register the types in the MDB and we duplicate them for each parameter/command that defines alarms or validity ranges.
The name of the duplicated types is <type_name_from_DataTypes_sheet>_<parameter_name> for parameters and <type_name_from_DataTypes_sheet>_<command_name>_<argument_name> for command arguments.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.yamcs.mdb.BaseSpreadsheetLoader
BaseSpreadsheetLoader.BasicPrefFactory, BaseSpreadsheetLoader.EnumerationDefinition, BaseSpreadsheetLoader.Range
-
Field Summary
Modifier and TypeFieldDescriptionprotected Map<org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord,
ArgumentType> protected Map<String,
Calibrator> protected Map<String,
List<ContextCalibrator>> protected Map<String,
BaseSpreadsheetLoader.EnumerationDefinition> protected Map<org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord,
ParameterType> protected SpaceSystem
protected Map<String,
SpreadsheetLoadContext> Fields inherited from class org.yamcs.xtce.xlsv7.V7LoaderBase
CALIB_TYPE_ENUMERATION, CALIB_TYPE_JAVA_EXPRESSION, CALIB_TYPE_POLYNOMIAL, CALIB_TYPE_SPLINE, CALIB_TYPE_TIME, CN_CMD_ARG_ASSIGNMENT, CN_CMD_ARGNAME, CN_CMD_DEFVALUE, CN_CMD_DESCRIPTION, CN_CMD_DTYPE, CN_CMD_FLAGS, CN_CMD_LONG_DESCRIPTION, CN_CMD_NAME, CN_CMD_PARENT, CN_CMD_POSITION, CN_CMD_RANGEHIGH, CN_CMD_RANGELOW, CN_CMDVERIF_CHECKWINDOW, CN_CMDVERIF_CHECKWINDOW_RELATIVETO, CN_CMDVERIF_NAME, CN_CMDVERIF_ONFAIL, CN_CMDVERIF_ONSUCCESS, CN_CMDVERIF_ONTIMEOUT, CN_CMDVERIF_STAGE, CN_CMDVERIF_TEXT, CN_CMDVERIF_TYPE, IDX_CMDOPT_NAME, IDX_CMDOPT_SIGNIFICANCE, IDX_CMDOPT_SIGNIFICANCE_REASON, IDX_CMDOPT_TXCONST, IDX_CMDOPT_TXCONST_TIMEOUT, IDX_LOG_AUTHOR, IDX_LOG_DATE, IDX_LOG_MESSAGE, IDX_LOG_VERSION, PARAM_RAWTYPE_STRING_FIXED, PARAM_RAWTYPE_STRING_PREPENDED, PARAM_RAWTYPE_STRING_TERMINATED, SHEET_DATATYPES
Fields inherited from class org.yamcs.mdb.BaseSpreadsheetLoader
CN_CALIB_CALIB1, CN_CALIB_CALIB2, CN_CALIB_DESCRIPTION, CN_CALIB_NAME, CN_CALIB_TYPE, CN_CONTEXT, ctx, enableXtceNameRestrictions, h, headers, PARAM_ENGTYPE_BINARY, PARAM_ENGTYPE_BOOLEAN, PARAM_ENGTYPE_DOUBLE, PARAM_ENGTYPE_ENUMERATED, PARAM_ENGTYPE_FLOAT, PARAM_ENGTYPE_INT32, PARAM_ENGTYPE_INT64, PARAM_ENGTYPE_STRING, PARAM_ENGTYPE_TIME, PARAM_ENGTYPE_UINT32, PARAM_ENGTYPE_UINT64, PARAM_RAWTYPE_BINARY, PARAM_RAWTYPE_BINARY_PREPENDED, PARAM_RAWTYPE_BINARY_TERMINATED, PARAM_RAWTYPE_BOOLEAN, PARAM_RAWTYPE_DOUBLE, PARAM_RAWTYPE_FLOAT, PARAM_RAWTYPE_INT, PARAM_RAWTYPE_STRING, PARAM_RAWTYPE_UINT, SHEET_ALARMS, SHEET_ALGORITHMS, SHEET_CALIBRATION, SHEET_CHANGELOG, SHEET_COMMANDOPTIONS, SHEET_COMMANDS, SHEET_COMMANDVERIFICATION, SHEET_CONTAINERS, SHEET_DERIVED_PARAMETERS, SHEET_GENERAL, SHEET_LOCAL_PARAMETERS, SHEET_TELEMETERED_PARAMETERS, workbook
Fields inherited from class org.yamcs.mdb.AbstractFileLoader
configName, log, path
-
Constructor Summary
ConstructorDescriptionV7Loader
(YConfiguration config) V7Loader
(YConfiguration config, jxl.Workbook workbook) -
Method Summary
Modifier and TypeMethodDescriptionThe filename used to save the database after all the loaders have loaded it, is based on a concatenation of the config names returned by the loaders.protected DataType
getOrCreateDataType
(SpaceSystem spaceSystem, org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord dtr, boolean param) load()
loads the SpaceSystem database in memory.protected void
loadAlarmsSheet
(SpaceSystem spaceSystem, String sheetName) protected void
loadAlgorithmsSheet
(SpaceSystem spaceSystem, String sheetName) protected void
loadCalibrationSheet
(SpaceSystem spaceSystem, String sheetName) protected void
loadChangelogSheet
(boolean required) protected void
loadCommandOptionsSheet
(SpaceSystem spaceSystem, String sheetName) protected void
loadCommandSheet
(SpaceSystem spaceSystem, String sheetName) protected void
loadCommandVerificationSheet
(SpaceSystem spaceSystem, String sheetName) protected void
loadContainersSheet
(SpaceSystem spaceSystem, String sheetName) protected void
loadDataTypesSheet
(SpaceSystem spaceSystem, String sheetName) protected void
loadGeneralSheet
(boolean required) protected void
loadParametersSheet
(SpaceSystem spaceSystem, String sheetName, DataSource dataSource) protected void
protected void
loadSpaceSystem
(String sheetNamePrefix, SpaceSystem spaceSystem) Methods inherited from class org.yamcs.xtce.xlsv7.V7LoaderBase
oldToNewEncoding, parseAggregateExpr, readHeaders
Methods inherited from class org.yamcs.mdb.BaseSpreadsheetLoader
findRange, getCell, getContent, getContent, getParameterReference, hasColumn, hasColumn, isCellEmpty, isEmptyOrCommentedOut, isRowEmpty, jumpToRow, loadWorkbook, parseByte, parseDouble, parseDouble, parseInt, parseInt, switchToSheet, validateNameType
Methods inherited from class org.yamcs.mdb.AbstractFileLoader
needsUpdate, writeConsistencyDate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.yamcs.mdb.SpaceSystemLoader
getWriter, isWritable, loadList
-
Field Details
-
calibrators
-
contextCalibrators
-
timeCalibEpochs
-
timeCalibScales
-
timeCalibContexts
-
dataTypesDefs
-
parameterDataTypes
-
argumentDataTypes
-
enumerations
-
parameters
-
outputParameters
-
rootSpaceSystem
-
-
Constructor Details
-
V7Loader
-
V7Loader
-
V7Loader
-
-
Method Details
-
getConfigName
Description copied from interface:SpaceSystemLoader
The filename used to save the database after all the loaders have loaded it, is based on a concatenation of the config names returned by the loaders. Thus if a loader can have multiple versions of the database, they should be saved in multiple files.- Specified by:
getConfigName
in interfaceSpaceSystemLoader
- Overrides:
getConfigName
in classAbstractFileLoader
- Returns:
- a string to be used as the filename where the serialised instance will be stored.
-
load
Description copied from interface:SpaceSystemLoader
loads the SpaceSystem database in memory. Some references may be unresolved -
loadSheets
- Throws:
SpreadsheetLoadException
-
loadSpaceSystem
-
loadGeneralSheet
protected void loadGeneralSheet(boolean required) -
loadCalibrationSheet
-
loadDataTypesSheet
-
getOrCreateDataType
protected DataType getOrCreateDataType(SpaceSystem spaceSystem, org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord dtr, boolean param) -
loadParametersSheet
protected void loadParametersSheet(SpaceSystem spaceSystem, String sheetName, DataSource dataSource) -
loadContainersSheet
-
loadCommandSheet
-
loadCommandOptionsSheet
-
loadCommandVerificationSheet
-
loadChangelogSheet
protected void loadChangelogSheet(boolean required) -
loadAlgorithmsSheet
-
loadAlarmsSheet
-