validate
validate copied to clipboard
Exception when trying to handle `missing_constant` == `Infinity`
Checked for duplicates
Yes - I've already checked
🐛 Describe the bug
When I tried validating a product with missing_constant
== Infinity
, I get a FATAL_ERROR.
Upon further investigation, it is throwing a java.lang.NumberFormatException
🕵️ Expected behavior
I expected validate to complete successfully.
📜 To Reproduce
$ validate-3.5.0-SNAPSHOT/bin/validate -t ~/Downloads/MDIS_RTM_N01_010599_7521824_1.xml
java.lang.NumberFormatException: For input string: "Infinity"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
at java.base/java.lang.Integer.parseInt(Integer.java:668)
at java.base/java.math.BigInteger.<init>(BigInteger.java:538)
at gov.nasa.pds.tools.validate.content.SpecialConstantBitPatternTransforms.asBigInt(SpecialConstantBitPatternTransforms.java:25)
at gov.nasa.pds.tools.validate.content.array.ArrayContentValidator.sameContent(ArrayContentValidator.java:352)
at gov.nasa.pds.tools.validate.content.array.ArrayContentValidator.isSpecialConstant(ArrayContentValidator.java:372)
at gov.nasa.pds.tools.validate.content.array.ArrayContentValidator.validatePosition(ArrayContentValidator.java:295)
at gov.nasa.pds.tools.validate.content.array.ArrayContentValidator.process(ArrayContentValidator.java:161)
at gov.nasa.pds.tools.validate.content.array.ArrayContentValidator.process(ArrayContentValidator.java:152)
at gov.nasa.pds.tools.validate.content.array.ArrayContentValidator.process(ArrayContentValidator.java:152)
at gov.nasa.pds.tools.validate.content.array.ArrayContentValidator.validate(ArrayContentValidator.java:126)
at gov.nasa.pds.tools.validate.rule.pds4.ArrayValidator.validateDataObjectContents(ArrayValidator.java:104)
at gov.nasa.pds.tools.validate.rule.pds4.ArrayValidator.validate(ArrayValidator.java:59)
at gov.nasa.pds.tools.validate.rule.pds4.DataDefinitionAndContentValidationRule.validate(DataDefinitionAndContentValidationRule.java:127)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at gov.nasa.pds.tools.validate.rule.AbstractValidationRule.execute(AbstractValidationRule.java:64)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at gov.nasa.pds.tools.validate.task.ValidationTask.execute(ValidationTask.java:130)
at gov.nasa.pds.tools.validate.task.BlockingTaskManager.submit(BlockingTaskManager.java:26)
at gov.nasa.pds.tools.label.LocationValidator.validate(LocationValidator.java:285)
at gov.nasa.pds.validate.ValidateLauncher.doValidation(ValidateLauncher.java:1429)
at gov.nasa.pds.validate.ValidateLauncher.processMain(ValidateLauncher.java:1715)
🖥 Environment Info
No response
📚 Version of Software Used
3.5.0-SNAPSHOT
🩺 Test Data / Additional context
Data product is very large, so to-be-sent via LFT.
🦄 Related requirements
No response
⚙️ Engineering Details
No response