oml icon indicating copy to clipboard operation
oml copied to clipboard

[BUG] - improve error message

Open NicolasRouquette opened this issue 3 years ago • 0 comments

Description

A clear and concise description of what the bug is.

The OML 0.9.0 validation on save is useful; however, it lacks enough context to trace the error to a precise location in the OML model.

example:

2021-09-29 16:17:02 INFO  App$:97 - Saving oml/omlxmi file for Description: http://europa.jpl.nasa.gov/efse/flightsystem/decomposition/functional/power...
2021-09-29 16:17:02 INFO  App$:100 - -saved file for Description: http://europa.jpl.nasa.gov/efse/flightsystem/decomposition/functional/power
2021-09-29 16:17:02 INFO  App$:97 - Saving oml/omlxmi file for Vocabulary: http://europa.jpl.nasa.gov/efse/libraries/EuropaTypes...
Exception in thread "main" java.lang.RuntimeException: Error while converting value '"""""""""""""PMETLM_MUX0_prt[0-14]_of_prt[0][0]"^^xsd:string
PMETLM_MUX0_prt[0-14]_of_prt[1][1]"
PMETLM_MUX0_prt[0-14]_of_prt[2][2]"
PMETLM_MUX0_prt[0-14]_of_prt[3][3]"
PMETLM_MUX0_prt[0-14]_of_prt[4][4]"
PMETLM_MUX0_prt[0-14]_of_prt[5][5]"
PMETLM_MUX0_prt[0-14]_of_prt[6][6]"
PMETLM_MUX0_prt[0-14]_of_prt[7][7]"
PMETLM_MUX0_prt[0-14]_of_prt[8][8]"
PMETLM_MUX0_prt[0-14]_of_prt[9][9]"
PMETLM_MUX0_prt[0-14]_of_prt[10][10]"
PMETLM_MUX0_prt[0-14]_of_prt[11][11]"
PMETLM_MUX0_prt[0-14]_of_prt[12][12]"
PMETLM_MUX0_prt[0-14]_of_prt[13][13]' for grammar rule 'STRING' to string via ValueConverter.
Caused By: org.eclipse.xtext.conversion.ValueConverterException: The value '"""""""""""""PMETLM_MUX0_prt[0-14]_of_prt[0][0]"^^xsd:string
PMETLM_MUX0_prt[0-14]_of_prt[1][1]"
PMETLM_MUX0_prt[0-14]_of_prt[2][2]"
PMETLM_MUX0_prt[0-14]_of_prt[3][3]"
PMETLM_MUX0_prt[0-14]_of_prt[4][4]"
PMETLM_MUX0_prt[0-14]_of_prt[5][5]"
PMETLM_MUX0_prt[0-14]_of_prt[6][6]"
PMETLM_MUX0_prt[0-14]_of_prt[7][7]"
PMETLM_MUX0_prt[0-14]_of_prt[8][8]"
PMETLM_MUX0_prt[0-14]_of_prt[9][9]"
PMETLM_MUX0_prt[0-14]_of_prt[10][10]"
PMETLM_MUX0_prt[0-14]_of_prt[11][11]"
PMETLM_MUX0_prt[0-14]_of_prt[12][12]"
PMETLM_MUX0_prt[0-14]_of_prt[13][13]' is an invalid STRING
Semantic Object: Vocabulary.ownedStatements[64]->Concept'ID_4JJRt3LLASAuo2feJ2nVQpw4gvDwPcAjCRAkgC3Q8T1JBsBWMWMnyjk'.ownedAnnotations[1]->Annotation.value->QuotedLiteral
URI: file:/data/outputs/process/normalized/src/oml/europa.jpl.nasa.gov/efse/libraries/EuropaTypes.oml
EStructuralFeature: oml::QuotedLiteral.value
	at org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic$ExceptionThrowingAcceptor.accept(ISerializationDiagnostic.java:130)
	at org.eclipse.xtext.serializer.tokens.ValueSerializer.serializeAssignedValue(ValueSerializer.java:83)
	at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.getToken(SequenceFeeder.java:491)
	at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.accept(SequenceFeeder.java:246)
	at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.accept(BacktrackingSemanticSequencer.java:452)
	at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:512)
	at io.opencaesar.oml.dsl.serializer.OmlSemanticSequencer.sequence_QuotedLiteral(OmlSemanticSequencer.java:957)
	at io.opencaesar.oml.dsl.serializer.OmlSemanticSequencer.sequence(OmlSemanticSequencer.java:206)
	at org.eclipse.xtext.serializer.sequencer.AbstractSemanticSequencer.createSequence(AbstractSemanticSequencer.java:68)
	at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptEObjectRuleCall(SequenceFeeder.java:327)
	at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptRuleCall(SequenceFeeder.java:354)
	at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.accept(SequenceFeeder.java:248)
	at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.accept(BacktrackingSemanticSequencer.java:452)
	at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:512)
	at io.opencaesar.oml.dsl.serializer.OmlSemanticSequencer.sequence_Annotation(OmlSemanticSequencer.java:376)
	at io.opencaesar.oml.dsl.serializer.OmlSemanticSequencer.sequence(OmlSemanticSequencer.java:116)
	at org.eclipse.xtext.serializer.sequencer.AbstractSemanticSequencer.createSequence(AbstractSemanticSequencer.java:68)
	at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptEObjectRuleCall(SequenceFeeder.java:327)
	at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptRuleCall(SequenceFeeder.java:354)
	at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.accept(SequenceFeeder.java:265)
	at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.accept(BacktrackingSemanticSequencer.java:445)
	at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:512)
	at io.opencaesar.oml.dsl.serializer.OmlSemanticSequencer.sequence_Concept(OmlSemanticSequencer.java:574)
	at io.opencaesar.oml.dsl.serializer.OmlSemanticSequencer.sequence(OmlSemanticSequencer.java:134)
	at org.eclipse.xtext.serializer.sequencer.AbstractSemanticSequencer.createSequence(AbstractSemanticSequencer.java:68)
	at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptEObjectRuleCall(SequenceFeeder.java:327)
	at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptRuleCall(SequenceFeeder.java:354)
	at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.accept(SequenceFeeder.java:265)
	at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.accept(BacktrackingSemanticSequencer.java:445)
	at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:512)
	at io.opencaesar.oml.dsl.serializer.OmlSemanticSequencer.sequence_Vocabulary(OmlSemanticSequencer.java:1701)
	at io.opencaesar.oml.dsl.serializer.OmlSemanticSequencer.sequence(OmlSemanticSequencer.java:302)
	at org.eclipse.xtext.serializer.sequencer.AbstractSemanticSequencer.createSequence(AbstractSemanticSequencer.java:68)
	at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:122)
	at org.eclipse.xtext.serializer.impl.Serializer.serializeToRegions(Serializer.java:144)
	at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:150)
	at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:202)
	at org.eclipse.xtext.resource.XtextResource.doSave(XtextResource.java:387)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1475)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1044)
	at gov.nasa.jpl.imce.caesar.oml.adapter.app.App$.$anonfun$tryRun$2(App.scala:99)
	at gov.nasa.jpl.imce.caesar.oml.adapter.app.App$.$anonfun$tryRun$2$adapted(App.scala:96)
	at scala.collection.immutable.BitmapIndexedSetNode.foreach(HashSet.scala:937)
	at scala.collection.immutable.HashSet.foreach(HashSet.scala:944)
	at gov.nasa.jpl.imce.caesar.oml.adapter.app.App$.tryRun(App.scala:96)
	at gov.nasa.jpl.imce.caesar.oml.adapter.app.App$.run(App.scala:37)
	at gov.nasa.jpl.imce.caesar.oml.adapter.app.App$.main(App.scala:31)
	at gov.nasa.jpl.imce.caesar.oml.adapter.app.App.main(App.scala)
Caused by: org.eclipse.xtext.conversion.ValueConverterException: The value '"""""""""""""PMETLM_MUX0_prt[0-14]_of_prt[0][0]"^^xsd:string
PMETLM_MUX0_prt[0-14]_of_prt[1][1]"
PMETLM_MUX0_prt[0-14]_of_prt[2][2]"
PMETLM_MUX0_prt[0-14]_of_prt[3][3]"
PMETLM_MUX0_prt[0-14]_of_prt[4][4]"
PMETLM_MUX0_prt[0-14]_of_prt[5][5]"
PMETLM_MUX0_prt[0-14]_of_prt[6][6]"
PMETLM_MUX0_prt[0-14]_of_prt[7][7]"
PMETLM_MUX0_prt[0-14]_of_prt[8][8]"
PMETLM_MUX0_prt[0-14]_of_prt[9][9]"
PMETLM_MUX0_prt[0-14]_of_prt[10][10]"
PMETLM_MUX0_prt[0-14]_of_prt[11][11]"
PMETLM_MUX0_prt[0-14]_of_prt[12][12]"
PMETLM_MUX0_prt[0-14]_of_prt[13][13]' is an invalid STRING
	at org.eclipse.xtext.conversion.impl.AbstractLexerBasedConverter.createTokenContentMismatchException(AbstractLexerBasedConverter.java:83)
	at org.eclipse.xtext.conversion.impl.AbstractLexerBasedConverter.assertTokens(AbstractLexerBasedConverter.java:74)
	at org.eclipse.xtext.conversion.impl.AbstractLexerBasedConverter.assertTokens(AbstractLexerBasedConverter.java:59)
	at org.eclipse.xtext.conversion.impl.AbstractLexerBasedConverter.toString(AbstractLexerBasedConverter.java:50)
	at org.eclipse.xtext.conversion.impl.AbstractDeclarativeValueConverterService.toString(AbstractDeclarativeValueConverterService.java:75)
	at org.eclipse.xtext.serializer.tokens.ValueSerializer.serializeAssignedValue(ValueSerializer.java:75)
	... 46 more

The location in the model is reported as follows:

Semantic Object: Vocabulary.ownedStatements[64]->Concept'ID_4JJRt3LLASAuo2feJ2nVQpw4gvDwPcAjCRAkgC3Q8T1JBsBWMWMnyjk'.ownedAnnotations[1]->Annotation.value->QuotedLiteral
URI: file:/data/outputs/process/normalized/src/oml/europa.jpl.nasa.gov/efse/libraries/EuropaTypes.oml
EStructuralFeature: oml::QuotedLiteral.value

Given that there are potentially many annotations, reporting its position in the ownedAnnotations container is insufficient. Suggest reporting what is the annotation property involved.

Steps to Reproduce

Steps to reproduce the behavior:

  • [ ] Step 1
  • [ ] Step 2
  • [ ] Step 3

Expected Behavior

A clear and concise description of what should be the expected behavior.

Additional Context

Enter any other details such as dependencies, environment, examples, etc.

Relevant screenshots

If applicable, add screenshots to help illustrate the issue.

NicolasRouquette avatar Sep 29 '21 23:09 NicolasRouquette