% ----------------- % Copyright © 2023 ACK Cyfronet AGH, Poland. % ----------------- function parsedValue = parseTextValue(rawValue, type, timeFormat) % DESCRIPTION: Program that parses and returns value read from the text (a cell from a CSV file). % INPUTS: % - rawValue : value to parse % - type : type of the value as defined by CsvColumnContentType.java % - timeFormat : if the rawValue contains time, this format is used to parse it switch type case {'REAL', 'INTEGER'} try parsedValue = str2num(rawValue); catch error('Cannot parse number input (type: %s): %s', type, rawValue); end if isempty(parsedValue) % we checked if the value is empty before parsing (and such value will not be parsed), if the value is empty % here (after parsing), it means that it was in a wrong format and could not be parsed error('Cannot parse number input (type: %s): %s', type, rawValue); end case 'TEXT' parsedValue = {rawValue}; case 'DATE_TIME' try parsedValue = datenum(rawValue, timeFormat); catch error('Invalid input time format specification or CSV content to parse (%s)', rawValue); end otherwise error('Unexpected input column type %s', type); end end