package Ġde . z al ando . z ally . rule . z al ando Ċ Ċ import Ġcom . types afe . config . Config Ċ import Ġde . z al ando . z ally . rule . api . Check Ċ import Ġde . z al ando . z ally . rule . api . Rule Ċ import Ġde . z al ando . z ally . rule . api . Severity Ċ import Ġde . z al ando . z ally . rule . api . Violation Ċ import Ġio . swagger . models . Swagger Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ Ċ @ Rule ( ĊĠĠĠĠĠĠĠ Ġrule Set Ġ= ĠZ al ando Rule Set :: class , ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ" 1 5 1 ", ĊĠĠĠĠĠĠĠ Ġseverity Ġ= ĠSeverity . HINT , ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Not ĠSpecify ĠStandard ĠError ĠCode s " Ċ ) Ċ class ĠNot Specify Standard ErrorCode s Rule (@ Autowired Ġrules Config : ĠConfig ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġdescription Ġ= Ġ" Not ĠSpecify ĠStandard ĠError ĠStatus ĠCode s ĠLike Ġ 4 0 0 , Ġ 4 0 4 , Ġ 5 0 3 Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Unless ĠThey ĠHave ĠAnother ĠMean ing ĠOr ĠSpecial ĠImplementation / Contract ĠDetail " ĊĊĠĠĠ Ġprivate Ġval Ġstandard Error StatusCode s Ġ= Ġrules Config . getConfig ( java Class . simple Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. getInt List (" standard _ error _ codes "). toSet () ĊĊĠĠĠ Ġ@ Check ( severity Ġ= ĠSeverity . HINT ) ĊĠĠĠ Ġfun Ġvalidate ( swagger : ĠSwagger ): ĠVi olation ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġpaths Ġ= Ġswagger . paths . or Empty (). flatMap Ġ{ Ġpath Entry Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Entry . value . operation Map . or Empty (). flatMap Ġ{ Ġop Entry Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġop Entry . value . responses . or Empty (). flatMap Ġ{ Ġresponse Entry Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhttp Code Ġ= Ġresponse Entry . key . toInt OrNull () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Standard ErrorCode ( http Code )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ("${ path Entry . key } Ġ${ op Entry . key } Ġ${ response Entry . key }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( paths . isNotEmpty ()) ĠVi olation ( description , Ġpaths ) Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Standard ErrorCode ( http StatusCode : ĠInt ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġhttp StatusCode Ġin Ġstandard Error StatusCode s ĊĠĠĠ Ġ} Ċ } Ċ