Skip to content

reading support ranges from spring.io API throws exception #1692

@martinlippert

Description

@martinlippert

Looks like something has changed and our parsing logic is a bit too strict when reading generation information from https://api.spring.io/

ERROR o.s.i.v.b.maven.PomInlayHintHandler - 
java.lang.IllegalArgumentException: Unrecognized field "support" (class org.springframework.ide.vscode.boot.validation.generations.json.Generation), not marked as ignorable (5 known properties: "ossSupportEndDate", "_links", "name", "commercialSupportEndDate", "initialReleaseDate"])
 at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: org.springframework.ide.vscode.boot.validation.generations.json.Generations["generations"]->java.util.ArrayList[0]->org.springframework.ide.vscode.boot.validation.generations.json.Generation["support"])
	at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4636)
	at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:4567)
	at org.springframework.ide.vscode.boot.validation.generations.SpringProjectsClient.fromEmbedded(SpringProjectsClient.java:62)
	at org.springframework.ide.vscode.boot.validation.generations.SpringProjectsClient.getGenerations(SpringProjectsClient.java:48)
	at org.springframework.ide.vscode.boot.validation.generations.json.ResolvedSpringProject.getGenerations(ResolvedSpringProject.java:43)
	at org.springframework.ide.vscode.boot.validation.generations.GenerationsValidator.getGenerationForJavaProject(GenerationsValidator.java:46)
	at org.springframework.ide.vscode.boot.maven.PomInlayHintHandler.handle(PomInlayHintHandler.java:155)
	at org.springframework.ide.vscode.commons.languageserver.composable.CompositeLanguageServerComponents$5.lambda$handle$2(CompositeLanguageServerComponents.java:184)
	at java.base/java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source)
	at org.springframework.ide.vscode.commons.languageserver.composable.CompositeLanguageServerComponents$5.handle(CompositeLanguageServerComponents.java:185)
	at org.springframework.ide.vscode.commons.languageserver.util.SimpleTextDocumentService.lambda$inlayHint$20(SimpleTextDocumentService.java:611)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture$Completion.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "support" (class org.springframework.ide.vscode.boot.validation.generations.json.Generation), not marked as ignorable (5 known properties: "ossSupportEndDate", "_links", "name", "commercialSupportEndDate", "initialReleaseDate"])
 at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: org.springframework.ide.vscode.boot.validation.generations.json.Generations["generations"]->java.util.ArrayList[0]->org.springframework.ide.vscode.boot.validation.generations.json.Generation["support"])
	at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
	at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1153)
	at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2241)
	at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1821)
	at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1799)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:316)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
	at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:361)
	at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:246)
	at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:30)
	at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:310)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
	at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4631)
	... 23 common frames omitted

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions