* KILL (after V2): [ ] this.checker.info("Analysing image [ImageHDU#" + i + "]:"); [position 325:26] [ ] this.checker.info("Analysing table [" + tableId + "]:"); [position 406:30] [ ] this.checker.info("Analysing table [" + tableId + "]:"); [position 466:26] ############################################################################################################# RULE/FILE: PARTIAL [code: 2 | data : NA | TBD: 5] ############################################################################################################# [X] this.checker.severe("File not found: " + absFilePath); [position 229:18] [X] this.checker.severe("Unable to load the file " + absFilePath + " : " + fe.getMessage()); [position 262:18] => REMOVE EXCEPTION ? - Test de structure OIFITS: [ ] checker.severe("No primary HDU found: one must be present"); [position 491:17] [ ] checker.severe("No OI_TARGET table found: one and only one must be present"); [position 501:13] [ ] checker.severe("No OI_WAVELENGTH table found: one or more must be present"); [position 508:13] [ ] checker.severe("No OI_ARRAY table found: one or more must be present"); [position 531:17] [ ] this.checker.severe("No OI_VIS, OI_VIS2, OI_T3 table found: one or more of them must be present"); [position 546:18] ############################################################################################################# RULE/FILE/HDU: TODO [code: 0 | data : NA | TBD: 4] ############################################################################################################# [ ] this.checker.warning("Skipping non-standard OIFITS HDU#" + i); [position 532:26] [ ] this.checker.severe("Unsupported table [" + tableId + "] in OIFITS V1.0"); [position 416:38] [ ] this.checker.severe("Unsupported table [" + tableId + "] in OIFITS V1.0"); [position 477:34] - empty OI_TARGET (0 rows): [ ] checker.severe("No target defined"); [position 577:17] ############################################################################################################# RULE/FILE/HDU/MEMBER: TODO [code: 0 | data : NA | TBD: 21] ############################################################################################################# [ ] checker.severe("ARRNAME identifier has blank value"); [position 369:13] [ ] checker.severe("CORRNAME identifier has blank value"); [position 153:13] [ ] checker.severe("invalid INSNAME identifier"); [position 596:21] [ ] checker.severe("invalid CORRNAME identifier"); [position 660:21] [ ] checker.severe("invalid MJD_OBS, cannot be < 0"); [position 266:17] [ ] checker.severe("invalid MJD_OBS, cannot be > MJD_END"); [position 268:17] [ ] checker.severe("Missing OI_CORR table but the column CORRINDX_FLUXDATA is defined."); [position 251:17] [ ] checker.severe("Missing OI_CORR table but the column CORRINDX_T3AMP or CORRINDX_T3PHI is defined."); [position 472:17] [ ] checker.severe("Missing OI_CORR table but the column CORRINDX_VISAMP," + " CORRINDX_VISPHI, CORRINDX_RVIS or CORRINDX_IVIS is defined."); [ ] checker.severe("Missing OI_CORR table but the column CORRINDX_VIS2DATA is defined."); [position 315:17] [ ] checker.severe("INSNAME identifier has blank value"); [position 235:13] [ ] checker.severe("Missing keyword '" + keywordName + "'"); [ ] checker.severe("Missing column '" + columnName + "'"); [position 1014:21] [ ] this.checker.severe("Missing column '" + name + "'"); [position 610:26] [ ] checker.warning("Can't check repeat for column '" + this.getName() + "'"); [position 330:13] [ ] checker.warning("Can't check repeat for column '" + column.getName() + "'"); [position 697:13] [ ] checker.warning("Missing unit for column '" + column.getName() + "', should be not empty"); [position 745:21] [ ] checker.warning(FitsConstants.KEYWORD_REFERENC + " keyword must be present"); [position 880:17] [ ] checker.warning(OIFitsConstants.KEYWORD_PROG_ID + " keyword must be present"); [position 883:17] [ ] checker.warning(OIFitsConstants.KEYWORD_PROCSOFT + " keyword must be present"); [position 886:17] [ ] checker.warning(OIFitsConstants.KEYWORD_OBSTECH + " keyword must be present"); [position 889:17] .~'°¤.VALUES.¤°'~. ################################################################################################### RULE/FILE/TABLE/MEMBER/VALUE: TODO [code: 0 | data : 0 | TBD: 11] => ruleFailed(Rule, fileRef, hduRef, member).addKeywordValue(value) ################################################################################################### checker.severe(keywordName + " keyword must contain the value '" + value + "' when multi targets and array"); [position 863:17] checker.warning(name + " [" + mjd + "] is out of range, expected in [" + MJD_1933 + " - " + MJD_2150 + "]"); [position 550:13] checker.warning("The keyword " + name + " '" + dateObs + "' is not in a standard format 'YYYY-MM-DD'"); [position 587:17] checker.warning("The keyword " + name + " '" + dateObs + "' has an incorrect year [" + year + "], expected in [" + YEAR_MIN + " - " + YEAR_MAX + "]"); [position 594:21] checker.warning("Invalid ARRAY_X/Y/Z keywords: " + Arrays.toString(arrayXYZ)); [position 382:17] - value=arrName: checker.severe("Missing OI_ARRAY table that describes the '" + getArrName() + "' array"); [position 187:13] checker.severe("Missing OI_ARRAY table that describes the '" + arrName + "' array"); [position 628:21] // table.column [format => VALUE] this.checker.warning("Skipping non-standard OIFITS column '" + table.getExtName() + "." + name + "' [" + hdu.getColumnLength(i) + " " + hdu.getColumnType(i) + "]"); * Rule[type=Fix]: RULE/FILE/TABLE/MEMBER/VALUE: [ ] checker.warning("Fixed ARRAY_X/Y/Z to VLTI."); [position 391:25] [ ] checker.warning("Fixed ARRAY_X/Y/Z to CHARA."); [position 394:25] [ ] checker.warning("Fixed OI_REVN to " + revision + "."); [position 133:13] ############################################################################################################# RULE/FILE/TABLE/MEMBER/VALUE/EXPECTED (comparaison): TODO [code: 1 | data : 12 | TBD: 11] => addKeywordValueAt(Object value, String expected) ############################################################################################################# - value=kDataType.getRepresentation() / expected=keyword.getType() checker.severe("Invalid format for keyword '" + keyword.getName() + "', found '" + kDataType.getRepresentation() + "' should be '" + keyword.getType() + "'"); [position 671:17] checker.severe("Invalid format for keyword '" + this.getName() + "', found '" + kDataType.getRepresentation() + "' should be '" + this.getType() + "'"); [position 113:13] checker.severe("Invalid length for column '" + this.getName() + "', found " + columnRows + "row(s) should be " + nbRows + " row(s)"); [position 272:13] checker.severe("Invalid format for column '" + this.getName() + "', found '" + columnType + "' should be '" + descType + "'"); [position 333:17] checker.severe("Invalid format for column '" + this.getName() + "', found '" + columnRepeat + columnType + "' should be '" + descRepeat + descType + "'"); [position 351:17] checker.severe("Invalid format for column '" + column.getName() + "', found '" + columnType + "' should be '" + descType + "'"); [position 700:17] checker.severe("Invalid format for column '" + column.getName() + "', found '" + columnRepeat + columnType + "' should be '" + descRepeat + descType + "'"); [position 733:17] checker.warning("Invalid format for column '" + column.getName() + "', found '" + columnRepeat + columnType + "' should be '" + descRepeat + descType + "'"); [position 714:21] checker.warning("Missing unit for column '" + column.getName() + "', should be '" + column.getUnit() + "'"); [position 747:21] checker.warning("Invalid unit for column '" + column.getName() + "', found '" + columnUnit + "' should be '" + column.getUnit() + "'"); [position 760:21] checker.severe("Invalid value for keyword '" + this.getName() + "', found '" + val + "' should be '" + getIntAcceptedValuesAsString() + "'"); [position 144:13] checker.severe("Invalid value for keyword '" + this.getName() + "', found '" + val + "' should be '" + getStringAcceptedValuesAsString() + "'"); [position 158:13] ############################################################################################################ RULE/FILE/TABLE/MEMBER/ROW: TODO [code: 0 | data : 0 | TBD: 12] => ruleFailed(Rule, fileRef, hduRef, member).addColumnValue(value, rowIndex) rowIndex [0..nbrows-1] (0-based) ############################################################################################################# * missing value ? => use "" or null ? checker.severe("STA_NAME undefined at row " + i); [position 410:17] checker.severe("TARGET coordinates : the right ascension or declination is undefined at row " + i); [position 366:17] checker.severe("TARGET undefined at row " + i); [position 377:17] checker.warning("TARGET coordinates: the right ascension and declination are 0.0 at row " + i); [position 371:17] ############################################################################################################# RULE/FILE/TABLE/MEMBER/ROW/VALUE: TODO [code: 1 | data : 12 | TBD: 11] => addValueAt(Object value, String expected, int row) ############################################################################################################# checker.warning("STA_INDEX[" + refId + "] cannot be < 1 at row " + i); [position 418:21] checker.severe("IINDX index [" + idxI + "] cannot be < 1 at row " + i); [position 170:17] checker.severe(colName + " index [" + idxI + "] cannot be < 1 at row " + row); [position 738:21] checker.warning("TARGET_ID[" + refId + "] cannot be < 1 at row " + i); [position 384:21] checker.severe("EFF_WAVE are out of range"); // EFFWAVE column value '...' at row 'i' is out of range [[0.1x10^-6 - 20x10^-6]] checker.severe("Invalid value at index " + r + " for column '" + this.getName() + "' line " + rowNb + ", found '" + values[r] + "' should be >= 0"); [position 470:33] checker.severe("Invalid value for column '" + this.getName() + "' line " + rowNb + ", found '" + values[r] + "' should be >= 0"); [position 472:33] checker.severe("Invalid value at index " + r + " for column '" + this.getName() + "' line " + rowNb + ", found '" + values[r] + "' should be >= 0"); [position 502:33] checker.severe("Invalid value for column '" + this.getName() + "' line " + rowNb + ", found '" + values[r] + "' should be >= 0"); [position 504:33] checker.severe("Invalid value at index " + r + " for column '" + this.getName() + "' line " + rowNb + ", found '" + values[r] + "' should be '" + getIntAcceptedValuesAsString() + "'"); [position 405:33] checker.severe("Invalid value for column '" + this.getName() + "' line " + rowNb + ", found '" + values[r] + "' should be '" + getIntAcceptedValuesAsString() + "'"); [position 407:33] checker.severe("Invalid value for column '" + this.getName() + "' line " + rowNb + ", found '" + val + "' should be '" + getStringAcceptedValuesAsString() + "'"); [position 439:21] ############################################################################################################# RULE/FILE/TABLE/MEMBER/ROW/VALUE/COL (2D) TOUT CAS TRAITEE ! TODO [code: 8 | data : 8 | TBD: 0] => addColValueAt(Object value, int row, int col) ############################################################################################################# checker.severe("Invalid value at index " + j + " for column '" + OIFitsConstants.COLUMN_FLUXERR + "' line " + i + ", found '" + rowFluxErr[j] + "' should be >= 0 or NaN or flagged out"); checker.severe("Invalid value at index " + j + " for column '" + OIFitsConstants.COLUMN_T3AMPERR + "' line " + i + ", found '" + rowFluxErr[j] + "' should be >= 0 or NaN or flagged out");[position 448:25] checker.severe("Invalid value at index " + j + " for column '" + OIFitsConstants.COLUMN_T3PHIERR + "' line " + i + ", found '" + rowFluxErr[j] + "' should be >= 0 or NaN or flagged out");[position 452:25] checker.severe("Invalid value at index " + j + " for column '" + OIFitsConstants.COLUMN_VISAMPERR + "' line " + i + ", found '" + rowFluxErr[j] + "' should be >= 0 or NaN or flagged out");[position 527:25] checker.severe("Invalid value at index " + j + " for column '" + OIFitsConstants.COLUMN_VISPHIERR + "' line " + i + ", found '" + rowFluxErr[j] + "' should be >= 0 or NaN or flagged out");[position 531:25] checker.severe("Invalid value at index " + j + " for column '" + OIFitsConstants.COLUMN_RVISERR + "' line " + i + ", found '" + rowFluxErr[j] + "' should be >= 0 or NaN or flagged out");[position 535:25] checker.severe("Invalid value at index " + j + " for column '" + OIFitsConstants.COLUMN_IVISERR + "' line " + i + ", found '" + rowFluxErr[j] + "' should be >= 0 or NaN or flagged out");[position 539:25] checker.severe("Invalid value at index " + j + " for column '" + OIFitsConstants.COLUMN_VIS2ERR + "' line " + i + ", found '" + rowFluxErr[j] + "' should be >= 0 or NaN or flagged out");[position 297:25] ############################################################################################################# DISCUTER ############################################################################################################# - conflit entre 2 col indexes: checker.severe("STA_INDEX[" + refId + "] duplicated at row " + i + " at indexes " + k + " | " + j); [position 705:25] ############################################################################################################# RULE/FILE/TABLE/MEMBER/VALUE/2(ROW/COL): TODO [code: 0 | data : 0 | TBD: 4] => ruleFailed(Rule, fileRef, hduRef, member).addDuplicatedValue(value, rowIndexI, rowIndexJ) ############################################################################################################# checker.severe("STA_INDEX[" + refId + "] duplicated at rows " + i + " | " + j); [position 424:25] checker.severe("STA_NAME[" + refName + "] duplicated at rows " + i + " | " + j); [position 429:25] checker.severe("TARGET_ID[" + refId + "] duplicated at rows " + i + " | " + j); [position 396:25] checker.severe("TARGET[" + refName + "] duplicated at rows " + i + " | " + j); [position 400:25] >>>>>>>>> TODO HERE: <<<<<<<<<<<<<<<<<< 4 rule a voir RULE/FILE/TABLE/MEMBER/ROW/2VALUE: - range check = min <= index < max ? checker.severe("JINDX index [" + idxJ + "] cannot be <= IINDX index [" + idxI + "] at row " + i); [position 175:17] checker.severe("IINDX index [" + idxI + "] cannot be > NDATA [" + ndata + "] at row " + i); [position 180:17] checker.severe("JINDX index [" + idxJ + "] cannot be > NDATA [" + ndata + "] at row " + i); [position 185:17] checker.severe(colName + " index [" + idxI + "] cannot be > NDATA [" + ndata + "] at row " + row); [position 743:21] 4 rules on sais pas ++ RULE/FILE/TABLE/MEMBER/VALUE/ORIGINS ??? 1 value mais plusieurs origines: => Comment faire ? checker.severe("OI_WAVELENGTH tables [" + sb.toString().substring(1) + "] are identified by same INSNAME='" + oiwavelength.getInsName() + "'"); [position 606:21] checker.severe("OI_ARRAY tables [" + sb.toString().substring(1) + "] are identified by same ARRNAME='" + oiarray.getArrName() + "'"); [position 638:21] checker.severe("OI_CORR tables [" + sb.toString().substring(1) + "] are identified by same CORRNAME='" + oicorr.getCorrName() + "'"); [position 670:21] - rule [GENERIC_CORRINDX_UNIQ] check duplicates or overlaps within correlation indexes (CORRINDX) value=index, row/col (conflict with origin as string) checker.severe(colName + " index [" + index + "] at [row=" + row + ", wlen=" + l + "] already used by " + ((OIFitsChecker.isInspectRules()) ? "undefined" : corrChecker.getOriginAsString(index))); TODO: rewrite CorrChecker ...