Skip to content

Commit 5fc8028

Browse files
committed
bugfix/add safe map access for ScannedApis to prevent NoSuchElementException in Fat JAR
1 parent 3bf36c3 commit 5fc8028

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ trait ResourceDocsAPIMethods extends MdcLoggable with APIMethods220 with APIMeth
138138
case ApiVersion.v1_2_1 => Implementations1_2_1.resourceDocs
139139
case ApiVersion.`dynamic-endpoint` => OBPAPIDynamicEndpoint.allResourceDocs
140140
case ApiVersion.`dynamic-entity` => OBPAPIDynamicEntity.allResourceDocs
141-
case version: ScannedApiVersion => ScannedApis.versionMapScannedApis(version).allResourceDocs
141+
case version: ScannedApiVersion => ScannedApis.versionMapScannedApis.get(version).map(_.allResourceDocs).getOrElse(ArrayBuffer.empty[ResourceDoc])
142142
case _ => ArrayBuffer.empty[ResourceDoc]
143143
}
144144

@@ -161,7 +161,7 @@ trait ResourceDocsAPIMethods extends MdcLoggable with APIMethods220 with APIMeth
161161
case ApiVersion.v1_2_1 => OBPAPI1_2_1.routes
162162
case ApiVersion.`dynamic-endpoint` => OBPAPIDynamicEndpoint.routes
163163
case ApiVersion.`dynamic-entity` => OBPAPIDynamicEntity.routes
164-
case version: ScannedApiVersion => ScannedApis.versionMapScannedApis(version).routes
164+
case version: ScannedApiVersion => ScannedApis.versionMapScannedApis.get(version).map(_.routes).getOrElse(Nil)
165165
case _ => Nil
166166
}
167167

obp-api/src/main/scala/code/api/util/APIUtil.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2823,7 +2823,8 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
28232823
case ApiVersion.v6_0_0 => LiftRules.statelessDispatch.append(v6_0_0.OBPAPI6_0_0)
28242824
case ApiVersion.`dynamic-endpoint` => LiftRules.statelessDispatch.append(OBPAPIDynamicEndpoint)
28252825
case ApiVersion.`dynamic-entity` => LiftRules.statelessDispatch.append(OBPAPIDynamicEntity)
2826-
case version: ScannedApiVersion => LiftRules.statelessDispatch.append(ScannedApis.versionMapScannedApis(version))
2826+
case version: ScannedApiVersion =>
2827+
ScannedApis.versionMapScannedApis.get(version).foreach(api => LiftRules.statelessDispatch.append(api))
28272828
case _ => logger.info(s"There is no ${version.toString}")
28282829
}
28292830

0 commit comments

Comments
 (0)