package Ġcom . g gl . openapi . linter . plugin . service Ċ Ċ import Ġarrow . core . Validated N el Ċ import Ġcom . fasterxml . jackson . databind . JsonNode Ċ import Ġcom . g gl . arrow . addon . List Extensions . find Ċ import Ġcom . g gl . arrow . addon . Option Extensions . to Validated Ċ import Ġcom . g gl . arrow . addon . Validated Extensions . flatMap Ċ import Ġcom . g gl . arrow . addon . Validated Extensions . peek Ċ import Ġcom . g gl . arrow . addon . Validated Extensions . peek Left Ċ import Ġcom . g gl . openapi . linter . plugin . model . L inter Ċ import Ġcom . g gl . openapi . linter . plugin . model . Open API L inter Error Ċ import Ġcom . g gl . openapi . linter . plugin . model . Open API L inter Error . L inter Validation Service Error Ċ import Ġcom . g gl . openapi . linter . plugin . model . validation . Validation Response Ċ import Ġorg . apache . maven . plugin . logging . Log Ċ Ċ class ĠValidation Service ( private Ġval Ġvalidation Services : ĠSet < L inter Validation Service >) Ġ{ ĊĊĠĠĠ Ġfun Ġvalidate ( log : ĠLog , Ġlinter : ĠL inter , Ġserver : ĠString , Ġjson : ĠJsonNode ): ĠValid ated N el < Open API L inter Error , ĠValidation Response > Ġ= ĊĠĠĠĠĠĠĠ Ġlog . debug (" Choose Ġvalidation Ġservice Ġfor Ġlinter ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalidation Services ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. find Ġ{ Ġit . linter Ġ== Ġlinter Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Validated Ġ{ ĠL inter Validation Service Error ( linter ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Validated N el () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. peek Left Ġ{ Ġlog . error (" No Ġvalidation Ġservice Ġfound ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. peek Ġ{ Ġlog . debug (" Found Ġ${ it . java Class . simple Name }") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. peek Ġ{ Ġlog . info (" Process Ġschema Ġvalidation Ġwith Ġ${ it . linter }") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . validate ( log , Ġserver , Ġjson ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ } Ċ