Skip to content

Commit 7a0346f

Browse files
authored
fix: Handle errors in apiversions and wrong URLs (#1788)
* Log error coming from versions. Signed-off-by: Jakub Balhar <jakub@balhar.net> * Don't fail on error in Versions Signed-off-by: Jakub Balhar <jakub@balhar.net> * Don't fail on leading and trailing empty characters in URL Signed-off-by: Jakub Balhar <jakub@balhar.net> * Trim non null version Signed-off-by: Jakub Balhar <jakub@balhar.net> * Fix style Signed-off-by: Jakub Balhar <jakub@balhar.net>
1 parent a7703b3 commit 7a0346f

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

api-catalog-services/src/main/java/org/zowe/apiml/apicatalog/services/cached/CachedProductFamilyService.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ private String getInstanceHomePageUrl(InstanceInfo instanceInfo) {
206206
String instanceHomePage = instanceInfo.getHomePageUrl();
207207

208208
if (hasHomePage(instanceInfo)) {
209+
instanceHomePage = instanceHomePage.trim();
209210
RoutedServices routes = metadataParser.parseRoutes(instanceInfo.getMetadata());
210211

211212
try {
@@ -214,7 +215,7 @@ private String getInstanceHomePageUrl(InstanceInfo instanceInfo) {
214215
instanceInfo.getVIPAddress(),
215216
instanceHomePage,
216217
routes);
217-
} catch (URLTransformationException e) {
218+
} catch (URLTransformationException | IllegalArgumentException e) {
218219
apimlLog.log("org.zowe.apiml.apicatalog.homePageTransformFailed", instanceInfo.getAppName(), e.getMessage());
219220
}
220221
}
@@ -326,12 +327,18 @@ private APIService createAPIServiceFromInstance(InstanceInfo instanceInfo) {
326327

327328
String instanceHomePage = getInstanceHomePageUrl(instanceInfo);
328329
String apiBasePath = getApiBasePath(instanceInfo);
329-
Map<String, String> apiId = metadataParser.parseApiInfo(instanceInfo.getMetadata()).stream().filter(apiInfo -> apiInfo.getApiId() != null).collect(
330-
Collectors.toMap(
331-
apiInfo -> (apiInfo.getMajorVersion() < 0) ? "default" : "v" + apiInfo.getMajorVersion(),
332-
ApiInfo::getApiId
333-
)
334-
);
330+
Map<String, String> apiId = new HashMap<>();
331+
try {
332+
apiId = metadataParser.parseApiInfo(instanceInfo.getMetadata()).stream().filter(apiInfo -> apiInfo.getApiId() != null).collect(
333+
Collectors.toMap(
334+
apiInfo -> (apiInfo.getMajorVersion() < 0) ? "default" : "v" + apiInfo.getMajorVersion(),
335+
ApiInfo::getApiId
336+
)
337+
);
338+
} catch (Exception ex) {
339+
log.info("createApiServiceFromInstance#incorrectVersions {}", ex.getMessage());
340+
}
341+
335342
return new APIService.Builder(instanceInfo.getAppName().toLowerCase())
336343
.title(instanceInfo.getMetadata().get(SERVICE_TITLE))
337344
.description(instanceInfo.getMetadata().get(SERVICE_DESCRIPTION))

apiml-common/src/main/java/org/zowe/apiml/product/routing/transform/TransformService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ public String transformURL(ServiceType type,
101101
public String retrieveApiBasePath(String serviceId,
102102
String serviceUrl,
103103
RoutedServices routes) throws URLTransformationException {
104+
serviceUrl = serviceUrl.trim();
104105
URI serviceUri = URI.create(serviceUrl);
105106
String serviceUriPath = serviceUri.getPath();
106107
if (serviceUriPath == null) {

0 commit comments

Comments
 (0)