added more mapping

This commit is contained in:
Radek Davidek 2025-10-17 14:33:57 +02:00
parent baf047df00
commit 91186cef68

View File

@ -5,6 +5,7 @@ import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -12,6 +13,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import cz.trask.migration.model.ApiDefinition32; import cz.trask.migration.model.ApiDefinition32;
import cz.trask.migration.model.ApiDefinition45; import cz.trask.migration.model.ApiDefinition45;
import cz.trask.migration.model.ApiDefinition45.ApiPolicies;
public class ApiDefinitionMapper { public class ApiDefinitionMapper {
@ -45,7 +47,8 @@ public class ApiDefinitionMapper {
data.setVisibility(oldApi.getVisibility().toUpperCase()); data.setVisibility(oldApi.getVisibility().toUpperCase());
data.setVisibleRoles(Collections.emptyList()); data.setVisibleRoles(Collections.emptyList());
data.setVisibleTenants(Collections.emptyList()); data.setVisibleTenants(Collections.emptyList());
data.setAccessControl(oldApi.getAccessControl()); data.setAccessControl("NONE");
data.setAccessControlRoles(Collections.emptyList());
data.setOrganizationPolicies(Collections.emptyList()); data.setOrganizationPolicies(Collections.emptyList());
data.setType(oldApi.getType()); data.setType(oldApi.getType());
data.setAudiences(Arrays.asList("all")); data.setAudiences(Arrays.asList("all"));
@ -70,7 +73,7 @@ public class ApiDefinitionMapper {
data.setAsyncTransportProtocols(Collections.emptyList()); data.setAsyncTransportProtocols(Collections.emptyList());
data.setCategories(Collections.emptyList()); data.setCategories(Collections.emptyList());
// ---------- cache ---------- // ---------- cache ----------
data.setResponseCachingEnabled( data.setResponseCachingEnabled(
oldApi.getResponseCache() != null && !"disabled".equalsIgnoreCase(oldApi.getResponseCache())); oldApi.getResponseCache() != null && !"disabled".equalsIgnoreCase(oldApi.getResponseCache()));
@ -84,7 +87,7 @@ public class ApiDefinitionMapper {
data.setEndpointImplementationType(oldApi.getImplementation()); data.setEndpointImplementationType(oldApi.getImplementation());
// ---------- API policies ---------- // ---------- API policies ----------
// data.setApiPolicies(mapApiPolicies(oldApi.getAvailableTiers())); data.setApiPolicies(mapApiPolicies(oldApi));
// ---------- key managers ---------- // ---------- key managers ----------
data.setKeyManagers(oldApi.getKeyManagers()); data.setKeyManagers(oldApi.getKeyManagers());
@ -95,6 +98,8 @@ public class ApiDefinitionMapper {
ai.setApiOwner(oldApi.getId() != null ? oldApi.getId().getProviderName() : null); ai.setApiOwner(oldApi.getId() != null ? oldApi.getId().getProviderName() : null);
ai.setVendor("WSO2"); ai.setVendor("WSO2");
data.setAdvertiseInfo(ai); data.setAdvertiseInfo(ai);
data.setVisibleOrganizations(Arrays.asList("none"));
// ---------- gateway ---------- // ---------- gateway ----------
data.setGatewayVendor("wso2"); data.setGatewayVendor("wso2");
@ -102,10 +107,12 @@ public class ApiDefinitionMapper {
// ---------- business & monetization ---------- // ---------- business & monetization ----------
data.setBusinessInformation(oldApi.getMonetizationProperties()); data.setBusinessInformation(oldApi.getMonetizationProperties());
data.setAdditionalProperties(Collections.emptyList());
data.setAdditionalPropertiesMap(oldApi.getAdditionalProperties()); data.setAdditionalPropertiesMap(oldApi.getAdditionalProperties());
// ---------- subscription ---------- // ---------- subscription ----------
data.setSubscriptionAvailability(oldApi.getSubscriptionAvailability()); data.setSubscriptionAvailability(oldApi.getSubscriptionAvailability().toUpperCase());
data.setSubscriptionAvailableTenants(Collections.emptyList());
// ---------- operations ---------- // ---------- operations ----------
data.setOperations(mapOperations(oldApi)); data.setOperations(mapOperations(oldApi));
@ -121,6 +128,45 @@ public class ApiDefinitionMapper {
return newApi; return newApi;
} }
private static ApiPolicies mapApiPolicies(ApiDefinition32 oldApi) {
ApiDefinition45.ApiPolicies apiPolicies = new ApiDefinition45.ApiPolicies();
// ---------- request policies ----------
if (oldApi.getInSequence()!=null && !oldApi.getInSequence().isEmpty()) {
ApiDefinition45.Policy requestPolicy = new ApiDefinition45.Policy();
requestPolicy.setPolicyName(oldApi.getInSequence());
requestPolicy.setPolicyType("common");
requestPolicy.setPolicyVersion("v1");
requestPolicy.setPolicyId(UUID.randomUUID().toString());
requestPolicy.setParameters(Collections.emptyMap());
apiPolicies.setRequest(List.of(requestPolicy));
} else
apiPolicies.setRequest(Collections.emptyList());
// ---------- response policies ----------
if (oldApi.getOutSequence()!=null && !oldApi.getOutSequence().isEmpty()) {
ApiDefinition45.Policy requestPolicy = new ApiDefinition45.Policy();
requestPolicy.setPolicyName(oldApi.getOutSequence());
requestPolicy.setPolicyType("common");
requestPolicy.setPolicyVersion("v1");
requestPolicy.setPolicyId(UUID.randomUUID().toString());
requestPolicy.setParameters(Collections.emptyMap());
apiPolicies.setResponse(List.of(requestPolicy));
} else
apiPolicies.setResponse(Collections.emptyList());
// ---------- fault policies ----------
if (oldApi.getFaultSequence()!=null && !oldApi.getFaultSequence().isEmpty()) {
ApiDefinition45.Policy requestPolicy = new ApiDefinition45.Policy();
requestPolicy.setPolicyName(oldApi.getFaultSequence());
requestPolicy.setPolicyType("common");
requestPolicy.setPolicyVersion("v1");
requestPolicy.setPolicyId(UUID.randomUUID().toString());
requestPolicy.setParameters(Collections.emptyMap());
apiPolicies.setFault(List.of(requestPolicy));
} else
apiPolicies.setFault(Collections.emptyList());
return apiPolicies;
}
private static ApiDefinition45.CorsConfiguration mapCors(ApiDefinition32.CorsConfiguration oldCors) { private static ApiDefinition45.CorsConfiguration mapCors(ApiDefinition32.CorsConfiguration oldCors) {
if (oldCors == null) if (oldCors == null)
return null; return null;