urls to swagger draft

This commit is contained in:
rdavidek 2025-12-15 14:17:49 +01:00
parent 8e8fb1ddee
commit 39588039f2

View File

@ -107,9 +107,10 @@ public class Wso2v32ToApicurioFromDir extends AbstractProcess {
APIInfo api = new APIInfo(); APIInfo api = new APIInfo();
api.setName(apiDef.getId().getApiName()); api.setName(apiDef.getId().getApiName());
api.setVersion(apiDef.getId().getVersion()); api.setVersion(apiDef.getId().getVersion());
api.setContext(apiDef.getContext()); api.setContext(apiDef.getContext().substring(0, apiDef.getContext().indexOf('/', 1)));
api.setDescription((String) ((Map<String, Object>) swaggerMap.get("info")).get("description")); api.setDescription((String) ((Map<String, Object>) swaggerMap.get("info")).get("description"));
api.setType(apiDef.getType()); api.setType(apiDef.getType());
api.setId(apiDef.getUuid());
System.out.println("Context: " + apiDef.getContext()); System.out.println("Context: " + apiDef.getContext());
@ -134,7 +135,7 @@ public class Wso2v32ToApicurioFromDir extends AbstractProcess {
+ devPortUrl; + devPortUrl;
ObjectNode swaggerObj = mapperYaml.valueToTree(swaggerMap); ObjectNode swaggerObj = mapperYaml.valueToTree(swaggerMap);
// updateSwagger(swaggerObj, apiMap, fullDesc); updateSwagger(swaggerObj, apiDef, fullDesc);
String group = config.getApicurio().getDefaultApiGroup(); String group = config.getApicurio().getDefaultApiGroup();
String mainArtifactId = api.getName() + api.getContext(); String mainArtifactId = api.getName() + api.getContext();
@ -209,7 +210,7 @@ public class Wso2v32ToApicurioFromDir extends AbstractProcess {
/* Helper methods */ /* Helper methods */
/* --------------------------------------------------------------------- */ /* --------------------------------------------------------------------- */
private void updateSwagger(ObjectNode swagger, Map<String, Object> apiMap, String description) { private void updateSwagger(ObjectNode swagger, ApiDefinition32 apiDef, String description) {
// Update "info.description" // Update "info.description"
ObjectNode info = (ObjectNode) swagger.get("info"); ObjectNode info = (ObjectNode) swagger.get("info");
if (info != null) { if (info != null) {
@ -219,41 +220,25 @@ public class Wso2v32ToApicurioFromDir extends AbstractProcess {
// Build "servers" array // Build "servers" array
ArrayNode servers = mapper.createArrayNode(); ArrayNode servers = mapper.createArrayNode();
List<Map<String, Object>> endpoints = (List<Map<String, Object>>) apiMap.get("endpointURLs"); Map<String, Object> endpoints = apiDef.getEndpointConfig();
if (endpoints != null) { if (endpoints != null) {
for (Map<String, Object> env : endpoints) {
Map<String, String> urls = (Map<String, String>) env.get("URLs"); Map<String, Object> prodEps = (Map<String, Object>) endpoints.get("production_endpoints");
if (urls == null || urls.isEmpty()) Map<String, Object> sandEps = (Map<String, Object>) endpoints.get("sandbox_endpoints");
continue;
ObjectNode server = mapper.createObjectNode(); ObjectNode server = mapper.createObjectNode();
urls.forEach((k, v) -> {
if (v != null && !v.isBlank()) {
if (k.equals("https") || k.equals("wss")) { if (k.equals("https") || k.equals("wss")) {
server.put("url", v); server.put("url", v);
} }
}
});
server.put("description", "Gateway: " + env.getOrDefault("environmentName", "")); server.put("description", "Gateway: " + env.getOrDefault("environmentName", ""));
servers.add(server); servers.add(server);
} }
} }
// Replace "servers" node // Replace "servers" node
swagger.set("servers", servers); swagger.set("servers",servers);
}
private void addSubscriptionsToProps(Map<String, String> props, Subscriptions subs) {
if (subs == null || subs.getList() == null || subs.getList().isEmpty())
return;
int i = 1;
for (Subscription sub : subs.getList()) {
ApplicationInfo appInfo = sub.getApplicationInfo();
if (appInfo == null)
continue;
props.put("subscription" + i, appInfo.getName() + " (Owner: " + appInfo.getSubscriber() + ")");
i++;
}
} }
private void addEndpointsToProps(Map<String, String> props, Map<String, Object> apiMap) { private void addEndpointsToProps(Map<String, String> props, Map<String, Object> apiMap) {
@ -303,29 +288,4 @@ public class Wso2v32ToApicurioFromDir extends AbstractProcess {
} }
return references; return references;
} }
private void addSubscriptionsToReferences(List<ArtifactReference> references, Subscriptions subs, APIInfo api)
throws Exception {
if (subs == null || subs.getList() == null || subs.getList().isEmpty())
return;
String artifactId = api.getName() + "/" + api.getVersion() + "/" + ARTIFACT_NAME_SUBSCRIPTIONS;
byte[] subsBytes = mapperYaml.writeValueAsBytes(subs);
try (ByteArrayInputStream is = new ByteArrayInputStream(subsBytes)) {
ArtifactMetaData meta = client.createArtifactWithVersion(ARTIFACT_GROUP_SUBSCRIPTIONS, artifactId,
api.getVersion(), is);
Map<String, String> props = new LinkedHashMap<>();
props.put(PARAM_SOURCE_APIM, VERSION_32);
setArtifactMetaData(meta, props);
}
ArtifactReference ref = new ArtifactReference();
ref.setName(ARTIFACT_NAME_SUBSCRIPTIONS);
ref.setGroupId(ARTIFACT_GROUP_SUBSCRIPTIONS);
ref.setArtifactId(artifactId);
ref.setVersion(api.getVersion());
references.add(ref);
}
} }