Class V7Loader
- java.lang.Object
-
- org.yamcs.xtce.AbstractFileLoader
-
- org.yamcs.xtce.BaseSpreadsheetLoader
-
- org.yamcs.xtce.xlsv7.V7LoaderBase
-
- org.yamcs.xtce.xlsv7.V7Loader
-
- All Implemented Interfaces:
SpaceSystemLoader
public class V7Loader extends V7LoaderBase
This class loads database from excel spreadsheets.Note about handling of data types: before Yamcs 5, the parameter and argument types were created anonymous. They were not stored into the
XtceDb
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 XtceDb 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.xtce.BaseSpreadsheetLoader
BaseSpreadsheetLoader.BasicPrefFactory, BaseSpreadsheetLoader.EnumerationDefinition, BaseSpreadsheetLoader.Range
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord,ArgumentType>
argumentDataTypes
protected Map<String,Calibrator>
calibrators
protected Map<String,List<ContextCalibrator>>
contextCalibrators
protected Map<String,org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord>
dataTypesDefs
protected Map<String,BaseSpreadsheetLoader.EnumerationDefinition>
enumerations
protected Set<Parameter>
outputParameters
protected Map<org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord,ParameterType>
parameterDataTypes
protected Map<String,Parameter>
parameters
protected SpaceSystem
rootSpaceSystem
protected Map<String,SpreadsheetLoadContext>
timeCalibContexts
protected Map<String,String>
timeCalibEpochs
protected Map<String,String>
timeCalibScales
-
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_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.xtce.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.xtce.AbstractFileLoader
configName, log, path
-
-
Constructor Summary
Constructors Constructor Description V7Loader(String filename)
V7Loader(YConfiguration config)
V7Loader(YConfiguration config, jxl.Workbook workbook)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getConfigName()
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.protected DataType
getOrCreateDataType(SpaceSystem spaceSystem, org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord dtr, boolean param)
SpaceSystem
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
loadSheets()
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.xtce.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.xtce.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.xtce.SpaceSystemLoader
loadList
-
-
-
-
Field Detail
-
calibrators
protected Map<String,Calibrator> calibrators
-
contextCalibrators
protected Map<String,List<ContextCalibrator>> contextCalibrators
-
timeCalibContexts
protected Map<String,SpreadsheetLoadContext> timeCalibContexts
-
parameterDataTypes
protected Map<org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord,ParameterType> parameterDataTypes
-
argumentDataTypes
protected Map<org.yamcs.xtce.xlsv7.V7LoaderBase.DataTypeRecord,ArgumentType> argumentDataTypes
-
enumerations
protected Map<String,BaseSpreadsheetLoader.EnumerationDefinition> enumerations
-
rootSpaceSystem
protected SpaceSystem rootSpaceSystem
-
-
Constructor Detail
-
V7Loader
public V7Loader(YConfiguration config)
-
V7Loader
public V7Loader(String filename)
-
V7Loader
public V7Loader(YConfiguration config, jxl.Workbook workbook)
-
-
Method Detail
-
getConfigName
public String 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
public SpaceSystem load()
Description copied from interface:SpaceSystemLoader
loads the SpaceSystem database in memory. Some references may be unresolved
-
loadSheets
protected void loadSheets() throws SpreadsheetLoadException
- Throws:
SpreadsheetLoadException
-
loadSpaceSystem
protected void loadSpaceSystem(String sheetNamePrefix, SpaceSystem spaceSystem)
-
loadGeneralSheet
protected void loadGeneralSheet(boolean required)
-
loadCalibrationSheet
protected void loadCalibrationSheet(SpaceSystem spaceSystem, String sheetName)
-
loadDataTypesSheet
protected void loadDataTypesSheet(SpaceSystem spaceSystem, String sheetName)
-
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
protected void loadContainersSheet(SpaceSystem spaceSystem, String sheetName)
-
loadCommandSheet
protected void loadCommandSheet(SpaceSystem spaceSystem, String sheetName)
-
loadCommandOptionsSheet
protected void loadCommandOptionsSheet(SpaceSystem spaceSystem, String sheetName)
-
loadCommandVerificationSheet
protected void loadCommandVerificationSheet(SpaceSystem spaceSystem, String sheetName)
-
loadChangelogSheet
protected void loadChangelogSheet(boolean required)
-
loadAlgorithmsSheet
protected void loadAlgorithmsSheet(SpaceSystem spaceSystem, String sheetName)
-
loadAlarmsSheet
protected void loadAlarmsSheet(SpaceSystem spaceSystem, String sheetName)
-
-