refactor - format, imports

This commit is contained in:
Radek Davidek 2025-10-23 14:21:00 +02:00
parent cf9ba95e87
commit ee7e16244a
7 changed files with 338 additions and 349 deletions

View File

@ -34,7 +34,7 @@ public abstract class AbstractProcess {
protected static final String PARAM_SOURCE_APIM = "source_apim"; protected static final String PARAM_SOURCE_APIM = "source_apim";
protected static final String VERSION_32 = "v32"; protected static final String VERSION_32 = "v32";
public static final String PRIVATE_KEY_APIM_32 = "wso2apim32-pk.pem"; public static final String PRIVATE_KEY_APIM_32 = "wso2apim32-pk.pem";
public static ObjectMapper mapper; public static ObjectMapper mapper;
@ -51,7 +51,7 @@ public abstract class AbstractProcess {
yamlFactory.configure(YAMLGenerator.Feature.SPLIT_LINES, false); yamlFactory.configure(YAMLGenerator.Feature.SPLIT_LINES, false);
mapperYaml = new ObjectMapper(yamlFactory); mapperYaml = new ObjectMapper(yamlFactory);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
setTrustStoreCredentials(); setTrustStoreCredentials();
javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(new javax.net.ssl.HostnameVerifier() { javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(new javax.net.ssl.HostnameVerifier() {

View File

@ -3,24 +3,16 @@ package cz.trask.migration.impl.v32;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream; import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; 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.FileType;
import cz.trask.migration.model.ZipEntryData; 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 { public class ZipUtils {

View File

@ -1,7 +1,6 @@
package cz.trask.migration.impl.v45; package cz.trask.migration.impl.v45;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;

View File

@ -17,7 +17,7 @@ import lombok.Data;
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class ApiDefinition32 { public class ApiDefinition32 {
public static class EndpointConfigDeserializer extends JsonDeserializer<EndpointConfig> { public static class EndpointConfigDeserializer extends JsonDeserializer<EndpointConfig> {
@Override @Override
public EndpointConfig deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { public EndpointConfig deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
@ -27,149 +27,147 @@ public class ApiDefinition32 {
} }
} }
private IdSection id; private IdSection id;
private String uuid; private String uuid;
private String type; private String type;
private String context; private String context;
private String contextTemplate; private String contextTemplate;
private List<String> tags; private List<String> tags;
private List<Object> documents; private List<Object> documents;
private String lastUpdated; private String lastUpdated;
private List<Tier> availableTiers; private List<Tier> availableTiers;
private List<Object> availableSubscriptionLevelPolicies; private List<Object> availableSubscriptionLevelPolicies;
private List<Object> uriTemplates; private List<Object> uriTemplates;
private boolean apiHeaderChanged; private boolean apiHeaderChanged;
private boolean apiResourcePatternsChanged; private boolean apiResourcePatternsChanged;
private String status; private String status;
private String visibility; private String visibility;
private List<Object> gatewayLabels; private List<Object> gatewayLabels;
private boolean endpointSecured; private boolean endpointSecured;
private boolean endpointAuthDigest; private boolean endpointAuthDigest;
private String transports; private String transports;
private String inSequence; private String inSequence;
private String outSequence; private String outSequence;
private String faultSequence; private String faultSequence;
private String oldInSequence; private String oldInSequence;
private String oldOutSequence; private String oldOutSequence;
private String oldFaultSequence; private String oldFaultSequence;
private boolean advertiseOnly; private boolean advertiseOnly;
private String subscriptionAvailability; private String subscriptionAvailability;
private CorsConfiguration corsConfiguration; private CorsConfiguration corsConfiguration;
@JsonDeserialize(using = EndpointConfigDeserializer.class) @JsonDeserialize(using = EndpointConfigDeserializer.class)
private EndpointConfig endpointConfig; private EndpointConfig endpointConfig;
private String responseCache; private String responseCache;
private int cacheTimeout; private int cacheTimeout;
private String implementation; private String implementation;
private String authorizationHeader; private String authorizationHeader;
private List<Object> scopes; private List<Object> scopes;
private boolean isDefaultVersion; private boolean isDefaultVersion;
private boolean isPublishedDefaultVersion; private boolean isPublishedDefaultVersion;
private List<String> keyManagers; private List<String> keyManagers;
private List<String> environments; private List<String> environments;
private String createdTime; private String createdTime;
private Map<String, Object> additionalProperties; private Map<String, Object> additionalProperties;
private Map<String, Object> monetizationProperties; private Map<String, Object> monetizationProperties;
private boolean isMonetizationEnabled; private boolean isMonetizationEnabled;
private List<String> environmentList; private List<String> environmentList;
private String apiSecurity; private String apiSecurity;
private List<Object> endpoints; private List<Object> endpoints;
private boolean enableSchemaValidation; private boolean enableSchemaValidation;
private List<Object> apiCategories; private List<Object> apiCategories;
private boolean enableStore; private boolean enableStore;
private String accessControl; private String accessControl;
private double rating; private double rating;
private boolean isLatest; private boolean isLatest;
// -------------------- inner classes -------------------- // -------------------- inner classes --------------------
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class IdSection { public static class IdSection {
private String providerName; private String providerName;
private String apiName; private String apiName;
private String version; private String version;
private int id; private int id;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class Tier { public static class Tier {
private String name; private String name;
private String displayName; private String displayName;
private String description; private String description;
private int requestsPerMin; private int requestsPerMin;
private int requestCount; private int requestCount;
private int unitTime; private int unitTime;
private String timeUnit; private String timeUnit;
private String tierPlan; private String tierPlan;
private boolean stopOnQuotaReached; private boolean stopOnQuotaReached;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class CorsConfiguration { public static class CorsConfiguration {
private boolean corsConfigurationEnabled; private boolean corsConfigurationEnabled;
private List<String> accessControlAllowOrigins; private List<String> accessControlAllowOrigins;
private boolean accessControlAllowCredentials; private boolean accessControlAllowCredentials;
private List<String> accessControlAllowHeaders; private List<String> accessControlAllowHeaders;
private List<String> accessControlAllowMethods; private List<String> accessControlAllowMethods;
} }
// ----------- typový objekt endpointConfig ----------- // ----------- typový objekt endpointConfig -----------
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class EndpointConfig { public static class EndpointConfig {
@JsonProperty("endpoint_type") @JsonProperty("endpoint_type")
private String endpointType; private String endpointType;
@JsonProperty("sandbox_endpoints") @JsonProperty("sandbox_endpoints")
private Endpoint sandboxEndpoints; private Endpoint sandboxEndpoints;
@JsonProperty("production_endpoints") @JsonProperty("production_endpoints")
private Endpoint productionEndpoints; private Endpoint productionEndpoints;
@JsonProperty("endpoint_security") @JsonProperty("endpoint_security")
private EndpointSecurity endpointSecurity; private EndpointSecurity endpointSecurity;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class Endpoint { public static class Endpoint {
private String url; private String url;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class EndpointSecurity { public static class EndpointSecurity {
private SecurityEnvironment sandbox; private SecurityEnvironment sandbox;
private SecurityEnvironment production; private SecurityEnvironment production;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class SecurityEnvironment { public static class SecurityEnvironment {
private String tokenUrl; private String tokenUrl;
private String clientId; private String clientId;
private String clientSecret; private String clientSecret;
private String password; private String password;
private String username; private String username;
private String type; private String type;
private String grantType; private String grantType;
private boolean enabled; private boolean enabled;
private String customParameters; private String customParameters;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class ProxyConfigs { public static class ProxyConfigs {
private boolean proxyEnabled; private boolean proxyEnabled;
private String proxyPort; private String proxyPort;
private String proxyProtocol; private String proxyProtocol;
private String proxyUsername; private String proxyUsername;
private String proxyPassword; private String proxyPassword;
private String proxyHost; private String proxyHost;
} }
} }

View File

@ -1,204 +1,204 @@
package cz.trask.migration.model; package cz.trask.migration.model;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
import java.util.Map;
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class ApiDefinition45 { public class ApiDefinition45 {
private String type; private String type;
private String version; private String version;
private DataSection data; private DataSection data;
@lombok.Data @lombok.Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class DataSection { public static class DataSection {
private String id; private String id;
private String name; private String name;
private String description; private String description;
private String context; private String context;
private String version; private String version;
private String provider; private String provider;
private String lifeCycleStatus; private String lifeCycleStatus;
private boolean responseCachingEnabled; private boolean responseCachingEnabled;
private int cacheTimeout; private int cacheTimeout;
private boolean hasThumbnail; private boolean hasThumbnail;
@JsonProperty("isDefaultVersion") @JsonProperty("isDefaultVersion")
private boolean defaultVersion; private boolean defaultVersion;
@JsonProperty("isRevision") @JsonProperty("isRevision")
private boolean revision; private boolean revision;
private int revisionId; private int revisionId;
private boolean enableSchemaValidation; private boolean enableSchemaValidation;
private boolean enableSubscriberVerification; private boolean enableSubscriberVerification;
private String type; private String type;
private List<String> audiences; private List<String> audiences;
private List<String> transport; private List<String> transport;
private List<String> tags; private List<String> tags;
private List<String> policies; private List<String> policies;
private List<Object> organizationPolicies; private List<Object> organizationPolicies;
private String authorizationHeader; private String authorizationHeader;
private String apiKeyHeader; private String apiKeyHeader;
private List<String> securityScheme; private List<String> securityScheme;
private String visibility; private String visibility;
private List<String> visibleRoles; private List<String> visibleRoles;
private List<String> visibleTenants; private List<String> visibleTenants;
private List<String> visibleOrganizations; private List<String> visibleOrganizations;
private List<Object> mediationPolicies; private List<Object> mediationPolicies;
private ApiPolicies apiPolicies; private ApiPolicies apiPolicies;
private String subscriptionAvailability; private String subscriptionAvailability;
private List<String> subscriptionAvailableTenants; private List<String> subscriptionAvailableTenants;
private List<Object> additionalProperties; private List<Object> additionalProperties;
private Map<String, Object> additionalPropertiesMap; private Map<String, Object> additionalPropertiesMap;
private String accessControl; private String accessControl;
private List<String> accessControlRoles; private List<String> accessControlRoles;
private Map<String, Object> businessInformation; private Map<String, Object> businessInformation;
private CorsConfiguration corsConfiguration; private CorsConfiguration corsConfiguration;
private WebsubSubscriptionConfiguration websubSubscriptionConfiguration; private WebsubSubscriptionConfiguration websubSubscriptionConfiguration;
private String createdTime; private String createdTime;
private String lastUpdatedTimestamp; private String lastUpdatedTimestamp;
private String lastUpdatedTime; private String lastUpdatedTime;
private EndpointConfig endpointConfig; private EndpointConfig endpointConfig;
private String endpointImplementationType; private String endpointImplementationType;
private SubtypeConfiguration subtypeConfiguration; private SubtypeConfiguration subtypeConfiguration;
private List<Object> scopes; private List<Object> scopes;
private List<Operation> operations; private List<Operation> operations;
private List<Object> categories; private List<Object> categories;
private List<String> keyManagers; private List<String> keyManagers;
private AdvertiseInfo advertiseInfo; private AdvertiseInfo advertiseInfo;
private String gatewayVendor; private String gatewayVendor;
private String gatewayType; private String gatewayType;
private List<Object> asyncTransportProtocols; private List<Object> asyncTransportProtocols;
private boolean egress; private boolean egress;
private String organizationId; private String organizationId;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class ApiPolicies { public static class ApiPolicies {
private List<Policy> request; private List<Policy> request;
private List<Policy> response; private List<Policy> response;
private List<Policy> fault; private List<Policy> fault;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class Policy { public static class Policy {
private String policyName; private String policyName;
private String policyVersion; private String policyVersion;
private String policyType; private String policyType;
private String policyId; private String policyId;
private Map<String, Object> parameters; private Map<String, Object> parameters;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class CorsConfiguration { public static class CorsConfiguration {
private boolean corsConfigurationEnabled; private boolean corsConfigurationEnabled;
private List<String> accessControlAllowOrigins; private List<String> accessControlAllowOrigins;
private boolean accessControlAllowCredentials; private boolean accessControlAllowCredentials;
private List<String> accessControlAllowHeaders; private List<String> accessControlAllowHeaders;
private List<String> accessControlAllowMethods; private List<String> accessControlAllowMethods;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class WebsubSubscriptionConfiguration { public static class WebsubSubscriptionConfiguration {
private boolean enable; private boolean enable;
private String secret; private String secret;
private String signingAlgorithm; private String signingAlgorithm;
private String signatureHeader; private String signatureHeader;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class EndpointConfig { public static class EndpointConfig {
private String endpoint_type; private String endpoint_type;
private EndpointGroup sandbox_endpoints; private EndpointGroup sandbox_endpoints;
private EndpointGroup production_endpoints; private EndpointGroup production_endpoints;
private EndpointSecurity endpoint_security; private EndpointSecurity endpoint_security;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class EndpointGroup { public static class EndpointGroup {
private String url; private String url;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class EndpointSecurity { public static class EndpointSecurity {
private SecurityEnv sandbox; private SecurityEnv sandbox;
private SecurityEnv production; private SecurityEnv production;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class SecurityEnv { public static class SecurityEnv {
private String tokenUrl; private String tokenUrl;
private String clientId; private String clientId;
private int connectionTimeoutDuration; private int connectionTimeoutDuration;
private String type; private String type;
private int socketTimeoutDuration; private int socketTimeoutDuration;
private boolean enabled; private boolean enabled;
private ProxyConfigs proxyConfigs; private ProxyConfigs proxyConfigs;
private String password; private String password;
private String clientSecret; private String clientSecret;
private Map<String, Object> customParameters; private Map<String, Object> customParameters;
private Map<String, Object> additionalProperties; private Map<String, Object> additionalProperties;
private String grantType; private String grantType;
private int connectionRequestTimeoutDuration; private int connectionRequestTimeoutDuration;
private String username; private String username;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class ProxyConfigs { public static class ProxyConfigs {
private boolean proxyEnabled; private boolean proxyEnabled;
private String proxyPort; private String proxyPort;
private String proxyProtocol; private String proxyProtocol;
private String proxyUsername; private String proxyUsername;
private String proxyPassword; private String proxyPassword;
private String proxyHost; private String proxyHost;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class SubtypeConfiguration { public static class SubtypeConfiguration {
private String subtype; private String subtype;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class Operation { public static class Operation {
private String id; private String id;
private String target; private String target;
private String verb; private String verb;
private String authType; private String authType;
private String throttlingPolicy; private String throttlingPolicy;
private List<String> scopes; private List<String> scopes;
private List<String> usedProductIds; private List<String> usedProductIds;
private OperationPolicies operationPolicies; private OperationPolicies operationPolicies;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class OperationPolicies { public static class OperationPolicies {
private List<Policy> request; private List<Policy> request;
private List<Policy> response; private List<Policy> response;
private List<Policy> fault; private List<Policy> fault;
} }
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class AdvertiseInfo { public static class AdvertiseInfo {
private boolean advertised; private boolean advertised;
private String apiOwner; private String apiOwner;
private String vendor; private String vendor;
} }
} }

View File

@ -10,17 +10,17 @@ import lombok.Data;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class EndpointCertificates45 { public class EndpointCertificates45 {
private String type; private String type;
private String version; private String version;
private List<EndpointCertificate> data; private List<EndpointCertificate> data;
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class EndpointCertificate { public static class EndpointCertificate {
private String alias; private String alias;
private String endpoint; private String endpoint;
private String certificate; private String certificate;
private int tenantId; private int tenantId;
} }
} }

View File

@ -11,25 +11,25 @@ import lombok.Data;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class OperationPolicySpecification45 { public class OperationPolicySpecification45 {
private String type; private String type;
private String version; private String version;
private Data data; private Data data;
@lombok.Data @lombok.Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public static class Data { public static class Data {
private String category; private String category;
private String name; private String name;
private String version; // version of the policy itself private String version; // version of the policy itself
private String displayName; private String displayName;
private String description; private String description;
private List<String> applicableFlows; private List<String> applicableFlows;
private List<String> supportedGateways; private List<String> supportedGateways;
private List<String> supportedApiTypes; private List<String> supportedApiTypes;
private List<Object> policyAttributes = new ArrayList<>(); private List<Object> policyAttributes = new ArrayList<>();
} }
} }