diff --git a/client-truststore.jks b/client-truststore.jks
index cd49521..df9d745 100644
Binary files a/client-truststore.jks and b/client-truststore.jks differ
diff --git a/pom.xml b/pom.xml
index c590d61..b57745c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,6 +38,12 @@
jackson-dataformat-yaml
2.19.2
+
+ org.projectlombok
+ lombok
+ 1.18.38
+ provided
+
diff --git a/src/main/java/cz/trask/migration/AbstractProcess.java b/src/main/java/cz/trask/migration/AbstractProcess.java
index 33af95f..5b460b8 100644
--- a/src/main/java/cz/trask/migration/AbstractProcess.java
+++ b/src/main/java/cz/trask/migration/AbstractProcess.java
@@ -2,21 +2,17 @@ package cz.trask.migration;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
-import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.Charset;
-import java.security.KeyStore;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;
import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.TrustManagerFactory;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -38,14 +34,12 @@ public abstract class AbstractProcess {
protected static final String PARAM_SOURCE_APIM = "source_apim";
protected static final String VERSION_32 = "v32";
- protected ObjectMapper mapper;
+ protected static ObjectMapper mapper;
- protected ObjectMapper mapperYaml;
+ protected static ObjectMapper mapperYaml;
protected ConfigManager config = ConfigManager.getInstance();
- private SSLContext sslCtx;
-
protected AbstractProcess() {
mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
@@ -63,23 +57,8 @@ public abstract class AbstractProcess {
protected void setTrustStoreCredentials() {
log.info("Setting truststore: " + config.getTruststorePath());
- KeyStore trustStore;
- try {
- trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
-
- try (FileInputStream tsFis = new FileInputStream(config.getTruststorePath())) {
- trustStore.load(tsFis, config.getTruststorePassword().toCharArray());
- }
-
- TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
- tmf.init(trustStore);
-
- sslCtx = SSLContext.getInstance("TLS");
- sslCtx.init(null, tmf.getTrustManagers(), null);
-
- } catch (Exception e) {
- log.error("Cannot set truststore.", e);
- }
+ System.setProperty("javax.net.ssl.trustStore", config.getTruststorePath());
+ System.setProperty("javax.net.ssl.trustStorePassword", config.getTruststorePassword());
}
/**
@@ -252,7 +231,6 @@ public abstract class AbstractProcess {
URL url = new URL(urlStr);
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
- con.setSSLSocketFactory(sslCtx.getSocketFactory());
con.setRequestMethod("POST");
con.setDoInput(true);
con.setDoOutput(true);
@@ -333,8 +311,8 @@ public abstract class AbstractProcess {
* @param api - zip file to upload
* @throws Exception
*/
- protected HttpResponse makeFileRequest(String method, String urlStr, Map httpHeaders,
- byte[] buff, String attachmentFileName) throws Exception {
+ protected HttpResponse makeFileRequest(String method, String urlStr, Map httpHeaders, byte[] buff,
+ String attachmentFileName) throws Exception {
if (buff == null) {
log.error("Cannot send NULL payload to rest service.");
@@ -348,7 +326,6 @@ public abstract class AbstractProcess {
URL url = new URL(urlStr);
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
- con.setSSLSocketFactory(sslCtx.getSocketFactory());
con.setUseCaches(false);
con.setDoOutput(true);
@@ -399,4 +376,5 @@ public abstract class AbstractProcess {
return resp;
}
+
}
diff --git a/src/main/java/cz/trask/migration/impl/v32/ImportToApicurio.java b/src/main/java/cz/trask/migration/impl/v32/ImportToApicurio.java
index 4c9e835..a981e5f 100644
--- a/src/main/java/cz/trask/migration/impl/v32/ImportToApicurio.java
+++ b/src/main/java/cz/trask/migration/impl/v32/ImportToApicurio.java
@@ -317,10 +317,6 @@ public class ImportToApicurio extends AbstractProcess {
for (ZipEntryData entry : zipEntries) {
String artifactId = api.getName() + "/" + api.getVersion() + "/" + entry.getName();
- // ApiDefinition apiDef = mapper.readValue(entry.getContent(),
- // ApiDefinition.class);
-
- // Create the artifact (versioned)
try (ByteArrayInputStream is = new ByteArrayInputStream(entry.getContent())) {
ArtifactMetaData meta = client.createArtifactWithVersion(entry.getType().toString(), artifactId,
api.getVersion(), is);
diff --git a/src/main/java/cz/trask/migration/mapper/ApiDefinitionMapper.java b/src/main/java/cz/trask/migration/mapper/ApiDefinitionMapper.java
new file mode 100644
index 0000000..99391ca
--- /dev/null
+++ b/src/main/java/cz/trask/migration/mapper/ApiDefinitionMapper.java
@@ -0,0 +1,5 @@
+package cz.trask.migration.mapper;
+
+public class ApiDefinitionMapper {
+
+}
diff --git a/src/main/java/cz/trask/migration/model/ApiDefinition32.java b/src/main/java/cz/trask/migration/model/ApiDefinition32.java
new file mode 100644
index 0000000..ccce94f
--- /dev/null
+++ b/src/main/java/cz/trask/migration/model/ApiDefinition32.java
@@ -0,0 +1,170 @@
+package cz.trask.migration.model;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+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 {
+ String json = p.getValueAsString();
+ ObjectMapper mapper = new ObjectMapper();
+ return mapper.readValue(json, EndpointConfig.class);
+ }
+ }
+
+ private IdSection id;
+ private String uuid;
+ private String type;
+ private String context;
+ private String contextTemplate;
+ private List tags;
+ private List