From ee7e16244acd2ae0a82a6d0ef818049ddfa0f196 Mon Sep 17 00:00:00 2001 From: Radek Davidek Date: Thu, 23 Oct 2025 14:21:00 +0200 Subject: [PATCH] refactor - format, imports --- .../cz/trask/migration/AbstractProcess.java | 4 +- .../cz/trask/migration/impl/v32/ZipUtils.java | 8 - .../impl/v45/ExportToWso2FromV32.java | 1 - .../migration/model/ApiDefinition32.java | 264 +++++++------ .../migration/model/ApiDefinition45.java | 356 +++++++++--------- .../model/EndpointCertificates45.java | 22 +- .../model/OperationPolicySpecification45.java | 32 +- 7 files changed, 338 insertions(+), 349 deletions(-) diff --git a/src/main/java/cz/trask/migration/AbstractProcess.java b/src/main/java/cz/trask/migration/AbstractProcess.java index 0334b52..7377e21 100644 --- a/src/main/java/cz/trask/migration/AbstractProcess.java +++ b/src/main/java/cz/trask/migration/AbstractProcess.java @@ -34,7 +34,7 @@ public abstract class AbstractProcess { protected static final String PARAM_SOURCE_APIM = "source_apim"; protected static final String VERSION_32 = "v32"; - + public static final String PRIVATE_KEY_APIM_32 = "wso2apim32-pk.pem"; public static ObjectMapper mapper; @@ -51,7 +51,7 @@ public abstract class AbstractProcess { yamlFactory.configure(YAMLGenerator.Feature.SPLIT_LINES, false); mapperYaml = new ObjectMapper(yamlFactory); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - + setTrustStoreCredentials(); javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(new javax.net.ssl.HostnameVerifier() { diff --git a/src/main/java/cz/trask/migration/impl/v32/ZipUtils.java b/src/main/java/cz/trask/migration/impl/v32/ZipUtils.java index b7aa984..202c490 100644 --- a/src/main/java/cz/trask/migration/impl/v32/ZipUtils.java +++ b/src/main/java/cz/trask/migration/impl/v32/ZipUtils.java @@ -3,24 +3,16 @@ package cz.trask.migration.impl.v32; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; -import java.util.zip.ZipOutputStream; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import cz.trask.migration.mapper.ApiDefinitionMapper; -import cz.trask.migration.model.ApiDefinition32; import cz.trask.migration.model.FileType; import cz.trask.migration.model.ZipEntryData; -import io.apicurio.registry.rest.client.RegistryClient; -import io.apicurio.registry.rest.v2.beans.ArtifactMetaData; -import io.apicurio.registry.rest.v2.beans.ArtifactReference; -import io.apicurio.registry.rest.v2.beans.SearchedVersion; public class ZipUtils { diff --git a/src/main/java/cz/trask/migration/impl/v45/ExportToWso2FromV32.java b/src/main/java/cz/trask/migration/impl/v45/ExportToWso2FromV32.java index cb98a40..f9e3883 100644 --- a/src/main/java/cz/trask/migration/impl/v45/ExportToWso2FromV32.java +++ b/src/main/java/cz/trask/migration/impl/v45/ExportToWso2FromV32.java @@ -1,7 +1,6 @@ package cz.trask.migration.impl.v45; import java.io.ByteArrayOutputStream; -import java.io.FileOutputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/src/main/java/cz/trask/migration/model/ApiDefinition32.java b/src/main/java/cz/trask/migration/model/ApiDefinition32.java index 04c3363..10630a3 100644 --- a/src/main/java/cz/trask/migration/model/ApiDefinition32.java +++ b/src/main/java/cz/trask/migration/model/ApiDefinition32.java @@ -17,7 +17,7 @@ import lombok.Data; @Data @JsonIgnoreProperties(ignoreUnknown = true) public class ApiDefinition32 { - + public static class EndpointConfigDeserializer extends JsonDeserializer { @Override public EndpointConfig deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { @@ -27,149 +27,147 @@ public class ApiDefinition32 { } } - private IdSection id; - private String uuid; - private String type; - private String context; - private String contextTemplate; - private List tags; - private List documents; - private String lastUpdated; - private List availableTiers; - private List availableSubscriptionLevelPolicies; - private List uriTemplates; - private boolean apiHeaderChanged; - private boolean apiResourcePatternsChanged; - private String status; - private String visibility; - private List gatewayLabels; - private boolean endpointSecured; - private boolean endpointAuthDigest; - private String transports; - private String inSequence; - private String outSequence; - private String faultSequence; - private String oldInSequence; - private String oldOutSequence; - private String oldFaultSequence; - private boolean advertiseOnly; - private String subscriptionAvailability; - private CorsConfiguration corsConfiguration; - @JsonDeserialize(using = EndpointConfigDeserializer.class) - private EndpointConfig endpointConfig; - private String responseCache; - private int cacheTimeout; - private String implementation; - private String authorizationHeader; - private List scopes; - private boolean isDefaultVersion; - private boolean isPublishedDefaultVersion; - private List keyManagers; - private List environments; - private String createdTime; - private Map additionalProperties; - private Map monetizationProperties; - private boolean isMonetizationEnabled; - private List environmentList; - private String apiSecurity; - private List endpoints; - private boolean enableSchemaValidation; - private List apiCategories; - private boolean enableStore; - private String accessControl; - private double rating; - private boolean isLatest; + private IdSection id; + private String uuid; + private String type; + private String context; + private String contextTemplate; + private List tags; + private List documents; + private String lastUpdated; + private List availableTiers; + private List availableSubscriptionLevelPolicies; + private List uriTemplates; + private boolean apiHeaderChanged; + private boolean apiResourcePatternsChanged; + private String status; + private String visibility; + private List gatewayLabels; + private boolean endpointSecured; + private boolean endpointAuthDigest; + private String transports; + private String inSequence; + private String outSequence; + private String faultSequence; + private String oldInSequence; + private String oldOutSequence; + private String oldFaultSequence; + private boolean advertiseOnly; + private String subscriptionAvailability; + private CorsConfiguration corsConfiguration; + @JsonDeserialize(using = EndpointConfigDeserializer.class) + private EndpointConfig endpointConfig; + private String responseCache; + private int cacheTimeout; + private String implementation; + private String authorizationHeader; + private List scopes; + private boolean isDefaultVersion; + private boolean isPublishedDefaultVersion; + private List keyManagers; + private List environments; + private String createdTime; + private Map additionalProperties; + private Map monetizationProperties; + private boolean isMonetizationEnabled; + private List environmentList; + private String apiSecurity; + private List endpoints; + private boolean enableSchemaValidation; + private List apiCategories; + private boolean enableStore; + private String accessControl; + private double rating; + private boolean isLatest; - // -------------------- inner classes -------------------- + // -------------------- inner classes -------------------- - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class IdSection { - private String providerName; - private String apiName; - private String version; - private int id; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class IdSection { + private String providerName; + private String apiName; + private String version; + private int id; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class Tier { - private String name; - private String displayName; - private String description; - private int requestsPerMin; - private int requestCount; - private int unitTime; - private String timeUnit; - private String tierPlan; - private boolean stopOnQuotaReached; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class Tier { + private String name; + private String displayName; + private String description; + private int requestsPerMin; + private int requestCount; + private int unitTime; + private String timeUnit; + private String tierPlan; + private boolean stopOnQuotaReached; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class CorsConfiguration { - private boolean corsConfigurationEnabled; - private List accessControlAllowOrigins; - private boolean accessControlAllowCredentials; - private List accessControlAllowHeaders; - private List accessControlAllowMethods; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class CorsConfiguration { + private boolean corsConfigurationEnabled; + private List accessControlAllowOrigins; + private boolean accessControlAllowCredentials; + private List accessControlAllowHeaders; + private List accessControlAllowMethods; + } - // ----------- typový objekt endpointConfig ----------- + // ----------- typový objekt endpointConfig ----------- - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class EndpointConfig { - @JsonProperty("endpoint_type") - private String endpointType; + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class EndpointConfig { + @JsonProperty("endpoint_type") + private String endpointType; - @JsonProperty("sandbox_endpoints") - private Endpoint sandboxEndpoints; + @JsonProperty("sandbox_endpoints") + private Endpoint sandboxEndpoints; - @JsonProperty("production_endpoints") - private Endpoint productionEndpoints; + @JsonProperty("production_endpoints") + private Endpoint productionEndpoints; - @JsonProperty("endpoint_security") - private EndpointSecurity endpointSecurity; - } + @JsonProperty("endpoint_security") + private EndpointSecurity endpointSecurity; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class Endpoint { - private String url; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class Endpoint { + private String url; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class EndpointSecurity { - private SecurityEnvironment sandbox; - private SecurityEnvironment production; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class EndpointSecurity { + private SecurityEnvironment sandbox; + private SecurityEnvironment production; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class SecurityEnvironment { - private String tokenUrl; - private String clientId; - private String clientSecret; - private String password; - private String username; - private String type; - private String grantType; - private boolean enabled; - private String customParameters; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class SecurityEnvironment { + private String tokenUrl; + private String clientId; + private String clientSecret; + private String password; + private String username; + private String type; + private String grantType; + private boolean enabled; + private String customParameters; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class ProxyConfigs { - private boolean proxyEnabled; - private String proxyPort; - private String proxyProtocol; - private String proxyUsername; - private String proxyPassword; - private String proxyHost; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class ProxyConfigs { + private boolean proxyEnabled; + private String proxyPort; + private String proxyProtocol; + private String proxyUsername; + private String proxyPassword; + private String proxyHost; + } } - - diff --git a/src/main/java/cz/trask/migration/model/ApiDefinition45.java b/src/main/java/cz/trask/migration/model/ApiDefinition45.java index c50d9ef..0450ba3 100644 --- a/src/main/java/cz/trask/migration/model/ApiDefinition45.java +++ b/src/main/java/cz/trask/migration/model/ApiDefinition45.java @@ -1,204 +1,204 @@ package cz.trask.migration.model; +import java.util.List; +import java.util.Map; + import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; -import java.util.List; -import java.util.Map; - @Data @JsonIgnoreProperties(ignoreUnknown = true) public class ApiDefinition45 { - private String type; - private String version; - private DataSection data; + private String type; + private String version; + private DataSection data; - @lombok.Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class DataSection { - private String id; - private String name; - private String description; - private String context; - private String version; - private String provider; - private String lifeCycleStatus; - private boolean responseCachingEnabled; - private int cacheTimeout; - private boolean hasThumbnail; - @JsonProperty("isDefaultVersion") - private boolean defaultVersion; - @JsonProperty("isRevision") - private boolean revision; - private int revisionId; - private boolean enableSchemaValidation; - private boolean enableSubscriberVerification; - private String type; - private List audiences; - private List transport; - private List tags; - private List policies; - private List organizationPolicies; - private String authorizationHeader; - private String apiKeyHeader; - private List securityScheme; - private String visibility; - private List visibleRoles; - private List visibleTenants; - private List visibleOrganizations; - private List mediationPolicies; - private ApiPolicies apiPolicies; - private String subscriptionAvailability; - private List subscriptionAvailableTenants; - private List additionalProperties; - private Map additionalPropertiesMap; - private String accessControl; - private List accessControlRoles; - private Map businessInformation; - private CorsConfiguration corsConfiguration; - private WebsubSubscriptionConfiguration websubSubscriptionConfiguration; - private String createdTime; - private String lastUpdatedTimestamp; - private String lastUpdatedTime; - private EndpointConfig endpointConfig; - private String endpointImplementationType; - private SubtypeConfiguration subtypeConfiguration; - private List scopes; - private List operations; - private List categories; - private List keyManagers; - private AdvertiseInfo advertiseInfo; - private String gatewayVendor; - private String gatewayType; - private List asyncTransportProtocols; - private boolean egress; - private String organizationId; - } + @lombok.Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class DataSection { + private String id; + private String name; + private String description; + private String context; + private String version; + private String provider; + private String lifeCycleStatus; + private boolean responseCachingEnabled; + private int cacheTimeout; + private boolean hasThumbnail; + @JsonProperty("isDefaultVersion") + private boolean defaultVersion; + @JsonProperty("isRevision") + private boolean revision; + private int revisionId; + private boolean enableSchemaValidation; + private boolean enableSubscriberVerification; + private String type; + private List audiences; + private List transport; + private List tags; + private List policies; + private List organizationPolicies; + private String authorizationHeader; + private String apiKeyHeader; + private List securityScheme; + private String visibility; + private List visibleRoles; + private List visibleTenants; + private List visibleOrganizations; + private List mediationPolicies; + private ApiPolicies apiPolicies; + private String subscriptionAvailability; + private List subscriptionAvailableTenants; + private List additionalProperties; + private Map additionalPropertiesMap; + private String accessControl; + private List accessControlRoles; + private Map businessInformation; + private CorsConfiguration corsConfiguration; + private WebsubSubscriptionConfiguration websubSubscriptionConfiguration; + private String createdTime; + private String lastUpdatedTimestamp; + private String lastUpdatedTime; + private EndpointConfig endpointConfig; + private String endpointImplementationType; + private SubtypeConfiguration subtypeConfiguration; + private List scopes; + private List operations; + private List categories; + private List keyManagers; + private AdvertiseInfo advertiseInfo; + private String gatewayVendor; + private String gatewayType; + private List asyncTransportProtocols; + private boolean egress; + private String organizationId; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class ApiPolicies { - private List request; - private List response; - private List fault; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class ApiPolicies { + private List request; + private List response; + private List fault; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class Policy { - private String policyName; - private String policyVersion; - private String policyType; - private String policyId; - private Map parameters; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class Policy { + private String policyName; + private String policyVersion; + private String policyType; + private String policyId; + private Map parameters; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class CorsConfiguration { - private boolean corsConfigurationEnabled; - private List accessControlAllowOrigins; - private boolean accessControlAllowCredentials; - private List accessControlAllowHeaders; - private List accessControlAllowMethods; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class CorsConfiguration { + private boolean corsConfigurationEnabled; + private List accessControlAllowOrigins; + private boolean accessControlAllowCredentials; + private List accessControlAllowHeaders; + private List accessControlAllowMethods; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class WebsubSubscriptionConfiguration { - private boolean enable; - private String secret; - private String signingAlgorithm; - private String signatureHeader; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class WebsubSubscriptionConfiguration { + private boolean enable; + private String secret; + private String signingAlgorithm; + private String signatureHeader; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class EndpointConfig { - private String endpoint_type; - private EndpointGroup sandbox_endpoints; - private EndpointGroup production_endpoints; - private EndpointSecurity endpoint_security; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class EndpointConfig { + private String endpoint_type; + private EndpointGroup sandbox_endpoints; + private EndpointGroup production_endpoints; + private EndpointSecurity endpoint_security; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class EndpointGroup { - private String url; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class EndpointGroup { + private String url; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class EndpointSecurity { - private SecurityEnv sandbox; - private SecurityEnv production; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class EndpointSecurity { + private SecurityEnv sandbox; + private SecurityEnv production; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class SecurityEnv { - private String tokenUrl; - private String clientId; - private int connectionTimeoutDuration; - private String type; - private int socketTimeoutDuration; - private boolean enabled; - private ProxyConfigs proxyConfigs; - private String password; - private String clientSecret; - private Map customParameters; - private Map additionalProperties; - private String grantType; - private int connectionRequestTimeoutDuration; - private String username; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class SecurityEnv { + private String tokenUrl; + private String clientId; + private int connectionTimeoutDuration; + private String type; + private int socketTimeoutDuration; + private boolean enabled; + private ProxyConfigs proxyConfigs; + private String password; + private String clientSecret; + private Map customParameters; + private Map additionalProperties; + private String grantType; + private int connectionRequestTimeoutDuration; + private String username; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class ProxyConfigs { - private boolean proxyEnabled; - private String proxyPort; - private String proxyProtocol; - private String proxyUsername; - private String proxyPassword; - private String proxyHost; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class ProxyConfigs { + private boolean proxyEnabled; + private String proxyPort; + private String proxyProtocol; + private String proxyUsername; + private String proxyPassword; + private String proxyHost; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class SubtypeConfiguration { - private String subtype; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class SubtypeConfiguration { + private String subtype; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class Operation { - private String id; - private String target; - private String verb; - private String authType; - private String throttlingPolicy; - private List scopes; - private List usedProductIds; - private OperationPolicies operationPolicies; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class Operation { + private String id; + private String target; + private String verb; + private String authType; + private String throttlingPolicy; + private List scopes; + private List usedProductIds; + private OperationPolicies operationPolicies; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class OperationPolicies { - private List request; - private List response; - private List fault; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class OperationPolicies { + private List request; + private List response; + private List fault; + } - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class AdvertiseInfo { - private boolean advertised; - private String apiOwner; - private String vendor; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class AdvertiseInfo { + private boolean advertised; + private String apiOwner; + private String vendor; + } } diff --git a/src/main/java/cz/trask/migration/model/EndpointCertificates45.java b/src/main/java/cz/trask/migration/model/EndpointCertificates45.java index 75851e9..2fc8d3a 100644 --- a/src/main/java/cz/trask/migration/model/EndpointCertificates45.java +++ b/src/main/java/cz/trask/migration/model/EndpointCertificates45.java @@ -10,17 +10,17 @@ import lombok.Data; @JsonIgnoreProperties(ignoreUnknown = true) public class EndpointCertificates45 { - private String type; - private String version; + private String type; + private String version; - private List data; + private List data; - @Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class EndpointCertificate { - private String alias; - private String endpoint; - private String certificate; - private int tenantId; - } + @Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class EndpointCertificate { + private String alias; + private String endpoint; + private String certificate; + private int tenantId; + } } diff --git a/src/main/java/cz/trask/migration/model/OperationPolicySpecification45.java b/src/main/java/cz/trask/migration/model/OperationPolicySpecification45.java index a94b0d7..4e2294b 100644 --- a/src/main/java/cz/trask/migration/model/OperationPolicySpecification45.java +++ b/src/main/java/cz/trask/migration/model/OperationPolicySpecification45.java @@ -11,25 +11,25 @@ import lombok.Data; @JsonIgnoreProperties(ignoreUnknown = true) public class OperationPolicySpecification45 { - private String type; - private String version; - private Data data; + private String type; + private String version; + private Data data; - @lombok.Data - @JsonIgnoreProperties(ignoreUnknown = true) - public static class Data { + @lombok.Data + @JsonIgnoreProperties(ignoreUnknown = true) + public static class Data { - private String category; - private String name; - private String version; // version of the policy itself - private String displayName; - private String description; + private String category; + private String name; + private String version; // version of the policy itself + private String displayName; + private String description; - private List applicableFlows; - private List supportedGateways; - private List supportedApiTypes; + private List applicableFlows; + private List supportedGateways; + private List supportedApiTypes; - private List policyAttributes = new ArrayList<>(); + private List policyAttributes = new ArrayList<>(); - } + } }