Uploaded image for project: 'yangtools'
  1. yangtools
  2. YANGTOOLS-1550

Improve ImmutableOffsetMapTemplate error reporting

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Done
    • Icon: Medium Medium
    • 12.0.0, 11.0.5, 10.0.13
    • None
    • common
    • None

      We have the following splat:

      java.lang.IllegalArgumentException
      	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:129)
      	at org.opendaylight.yangtools.util.ImmutableOffsetMapTemplate.instantiateTransformed(ImmutableOffsetMapTemplate.java:103)
      	at org.opendaylight.yangtools.util.ImmutableOffsetMapTemplate$Ordered.instantiateTransformed(ImmutableOffsetMapTemplate.java:34)
      	at org.opendaylight.yangtools.yang.data.util.ListEntryNodeDataWithSchema$Keyed.write(ListEntryNodeDataWithSchema.java:62)
      	at org.opendaylight.yangtools.yang.data.util.CompositeNodeDataWithSchema.write(CompositeNodeDataWithSchema.java:223)
      	at org.opendaylight.yangtools.yang.data.util.ListNodeDataWithSchema.write(ListNodeDataWithSchema.java:39)
      	at org.opendaylight.yangtools.yang.data.util.CompositeNodeDataWithSchema.write(CompositeNodeDataWithSchema.java:223)
      	at org.opendaylight.yangtools.yang.data.util.AbstractNodeDataWithSchema.write(AbstractNodeDataWithSchema.java:99)
      	at org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.parse(JsonParserStream.java:192)
      	at org.opendaylight.restconf.nb.rfc8040.databind.JsonResourceBody.streamTo(JsonResourceBody.java:34)
      	at org.opendaylight.restconf.nb.rfc8040.databind.ResourceBody.toNormalizedNode(ResourceBody.java:64)
      	at org.opendaylight.restconf.nb.rfc8040.databind.AbstractResourceBodyTest.parse(AbstractResourceBodyTest.java:86)
      	at org.opendaylight.restconf.nb.rfc8040.databind.JsonResourceBodyTest.testMissingKeys(JsonResourceBodyTest.java:109)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
      	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
      

      This is quite ugly, as we have no message. Audit ImmutableOffsetMapTemplate and make sure we use descriptive exceptions.

            rovarga Robert Varga
            rovarga Robert Varga
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: