- 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
FieldsModifier and TypeFieldDescriptionprotected Map<org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord,org.yamcs.xtce.ArgumentType> protected Map<String,BaseSpreadsheetLoader.EnumerationDefinition> protected Set<org.yamcs.xtce.Parameter>protected Map<org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord,org.yamcs.xtce.ParameterType> protected org.yamcs.xtce.SpaceSystemprotected 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_DATATYPESFields 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, 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, workbookFields inherited from class org.yamcs.mdb.AbstractFileLoader
configName, log, path -
Constructor Summary
ConstructorsConstructorDescriptionV7Loader(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 org.yamcs.xtce.DataTypegetOrCreateDataType(org.yamcs.xtce.SpaceSystem spaceSystem, org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord dtr, boolean param) org.yamcs.xtce.SpaceSystemload()loads the SpaceSystem database in memory.protected voidloadAlarmsSheet(org.yamcs.xtce.SpaceSystem spaceSystem, String sheetName) protected voidloadAlgorithmsSheet(org.yamcs.xtce.SpaceSystem spaceSystem, String sheetName) protected voidloadCalibrationSheet(org.yamcs.xtce.SpaceSystem spaceSystem, String sheetName) protected voidloadChangelogSheet(boolean required) protected voidloadCommandOptionsSheet(org.yamcs.xtce.SpaceSystem spaceSystem, String sheetName) protected voidloadCommandSheet(org.yamcs.xtce.SpaceSystem spaceSystem, String sheetName) protected voidloadCommandVerificationSheet(org.yamcs.xtce.SpaceSystem spaceSystem, String sheetName) protected voidloadContainersSheet(org.yamcs.xtce.SpaceSystem spaceSystem, String sheetName) protected voidloadDataTypesSheet(org.yamcs.xtce.SpaceSystem spaceSystem, String sheetName) protected voidloadGeneralSheet(boolean required) protected voidloadParametersSheet(org.yamcs.xtce.SpaceSystem spaceSystem, String sheetName, org.yamcs.xtce.DataSource dataSource) protected voidprotected voidloadSpaceSystem(String sheetNamePrefix, org.yamcs.xtce.SpaceSystem spaceSystem) Methods inherited from class org.yamcs.xtce.xlsv7.V7LoaderBase
oldToNewEncoding, parseAggregateExpr, readHeadersMethods 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, validateNameTypeMethods inherited from class org.yamcs.mdb.AbstractFileLoader
needsUpdate, writeConsistencyDateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.yamcs.mdb.SpaceSystemLoader
getWriter, isWritable, loadList
-
Field Details
-
calibrators
-
contextCalibrators
-
timeCalibEpochs
-
timeCalibScales
-
timeCalibContexts
-
dataTypesDefs
-
parameterDataTypes
protected Map<org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord,org.yamcs.xtce.ParameterType> parameterDataTypes -
argumentDataTypes
protected Map<org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord,org.yamcs.xtce.ArgumentType> argumentDataTypes -
enumerations
-
parameters
-
outputParameters
-
rootSpaceSystem
protected org.yamcs.xtce.SpaceSystem rootSpaceSystem
-
-
Constructor Details
-
V7Loader
-
V7Loader
-
V7Loader
-
-
Method Details
-
getConfigName
Description copied from interface:SpaceSystemLoaderThe 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:
getConfigNamein interfaceSpaceSystemLoader- Overrides:
getConfigNamein classAbstractFileLoader- Returns:
- a string to be used as the filename where the serialised instance will be stored.
-
load
public org.yamcs.xtce.SpaceSystem load()Description copied from interface:SpaceSystemLoaderloads the SpaceSystem database in memory. Some references may be unresolved -
loadSheets
- Throws:
SpreadsheetLoadException
-
loadSpaceSystem
-
loadGeneralSheet
protected void loadGeneralSheet(boolean required) -
loadCalibrationSheet
-
loadDataTypesSheet
-
getOrCreateDataType
protected org.yamcs.xtce.DataType getOrCreateDataType(org.yamcs.xtce.SpaceSystem spaceSystem, org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord dtr, boolean param) -
loadParametersSheet
protected void loadParametersSheet(org.yamcs.xtce.SpaceSystem spaceSystem, String sheetName, org.yamcs.xtce.DataSource dataSource) -
loadContainersSheet
-
loadCommandSheet
-
loadCommandOptionsSheet
-
loadCommandVerificationSheet
protected void loadCommandVerificationSheet(org.yamcs.xtce.SpaceSystem spaceSystem, String sheetName) -
loadChangelogSheet
protected void loadChangelogSheet(boolean required) -
loadAlgorithmsSheet
-
loadAlarmsSheet
-