Opened 8 years ago
Closed 8 years ago
#1518 closed defect (fixed)
WCST_Import check the evaluation expressions metadata result in ingredient file
Reported by: | Bang Pham Huu | Owned by: | Bang Pham Huu |
---|---|---|---|
Priority: | major | Milestone: | 9.4 |
Component: | wcst_import | Version: | development |
Keywords: | wcst_import expression, ingredient file | Cc: | Vlad Merticariu, Dimitar Misev |
Complexity: | Medium |
Description
wcst_import evaluation expression has the syntax ${…} and the expression will be evaluated to get the value (e.g: netCDF variable's metadata).
However, if the $ is missing, it just pass the invalidate message to petascope such as: "description": "'{grib:marsClass}'",
and could lead to petascope postgresql query is not valid due to the expression is not evaluated:
SELECT id,label FROM ps_quantity WHERE uom_id='1' AND description=''{grib:marsClass}'' AND nil_ids='{13}' ERROR: syntax error at or near "{" LINE 1: ...OM ps_quantity WHERE uom_id='1' AND description=''{grib:mars... ^
Ingredient file example: https://pastebin.com/FcAraFhC
which has invalid syntax in band's metadata with description element which needs to throw error in wcst_import
"bands": [ { "name": "2_metre_temperature_surface", "identifier": "'${grib:cfVarName}'", "description": "'{grib:marsClass}'", "nilReason": "Nil value represents missing values.", "nilValue": "'${grib:missingValue}'" }
Change History (10)
comment:1 by , 8 years ago
follow-up: 4 comment:3 by , 8 years ago
Just be careful; if you're going to change whether "'text'"
is valid or not, make sure that existing ingredients files are not broken.
comment:4 by , 8 years ago
Replying to dmisev:
Just be careful; if you're going to change whether
"'text'"
is valid or not, make sure that existing ingredients files are not broken.
I only check if the evaluation with {} miss the $.
follow-up: 6 comment:5 by , 8 years ago
Why is it invalid? I understand that "'This is a test coverage'"
is just text; I can't have {
or }
in a title?
comment:6 by , 8 years ago
Replying to dmisev:
Why is it invalid? I understand that
"'This is a test coverage'"
is just text; I can't have{
or}
in a title?
metadata could be in JSON format then the "{" or "}" is keywords and should not be used in string.
comment:8 by , 8 years ago
Replying to dmisev:
here it's xml type so they are valid I guess?
Actually, I'm not the one who created this syntax, so I will check wcst_import first, I think in the ticket error, it should just remove the and "{….}" is a valid string as well in SQL, instead of "'{….}'". "'" seems to be used for making this evaluation returns a string.
comment:9 by , 8 years ago
Summary: | WCST_Import validate all the evaluation expressions in ingredient file → WCST_Import check the evaluation expressions metadata result in ingredient file |
---|
comment:10 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
So is this valid?