endpoint certificates added
This commit is contained in:
parent
efeae043aa
commit
3a65ceb327
@ -18,11 +18,15 @@ 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 com.fasterxml.jackson.core.type.TypeReference;
|
||||||
|
|
||||||
import cz.trask.migration.AbstractProcess;
|
import cz.trask.migration.AbstractProcess;
|
||||||
import cz.trask.migration.mapper.ApiDefinitionMapper;
|
import cz.trask.migration.mapper.ApiDefinitionMapper;
|
||||||
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.EndpointCertificates45;
|
||||||
import cz.trask.migration.model.FileType;
|
import cz.trask.migration.model.FileType;
|
||||||
|
import cz.trask.migration.model.HostInfo32;
|
||||||
import cz.trask.migration.model.HttpResponse;
|
import cz.trask.migration.model.HttpResponse;
|
||||||
import cz.trask.migration.model.OperationPolicySpecification45;
|
import cz.trask.migration.model.OperationPolicySpecification45;
|
||||||
import cz.trask.migration.model.RegisterResponse;
|
import cz.trask.migration.model.RegisterResponse;
|
||||||
@ -211,7 +215,8 @@ public class ExportToWso2FromV32 extends AbstractProcess {
|
|||||||
subDir = "Definitions/";
|
subDir = "Definitions/";
|
||||||
contentStr = new String(content);
|
contentStr = new String(content);
|
||||||
} else if (FileType.CERTIFICATE.toString().equals(amd.getGroupId())) {
|
} else if (FileType.CERTIFICATE.toString().equals(amd.getGroupId())) {
|
||||||
subDir = "Meta-information/";
|
subDir = "Endpoint-certificates/";
|
||||||
|
content = convertCertificateToEPCertificate(zos, baseDir + subDir, content);
|
||||||
} else if (FileType.APIDEF.toString().equals(amd.getGroupId())) {
|
} else if (FileType.APIDEF.toString().equals(amd.getGroupId())) {
|
||||||
apiDef = mapperYaml.readValue(content, ApiDefinition32.class);
|
apiDef = mapperYaml.readValue(content, ApiDefinition32.class);
|
||||||
appendFile = false;
|
appendFile = false;
|
||||||
@ -239,6 +244,37 @@ public class ExportToWso2FromV32 extends AbstractProcess {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private byte[] convertCertificateToEPCertificate(ZipOutputStream zos, String subDir, byte[] content) {
|
||||||
|
if (content != null && content.length > 0) {
|
||||||
|
try {
|
||||||
|
List<HostInfo32> epc32 = mapperYaml.readValue(content, new TypeReference<List<HostInfo32>>() {
|
||||||
|
});
|
||||||
|
EndpointCertificates45 epc45 = new EndpointCertificates45();
|
||||||
|
epc45.setType("endpoint_certificates");
|
||||||
|
epc45.setVersion("v4.5.0");
|
||||||
|
List<EndpointCertificates45.EndpointCertificate> certs = new ArrayList<>();
|
||||||
|
for (HostInfo32 hi : epc32) {
|
||||||
|
EndpointCertificates45.EndpointCertificate cert = new EndpointCertificates45.EndpointCertificate();
|
||||||
|
cert.setAlias(hi.getAlias());
|
||||||
|
cert.setEndpoint(hi.getHostName());
|
||||||
|
cert.setCertificate(hi.getAlias().concat(".crt"));
|
||||||
|
cert.setTenantId(0);
|
||||||
|
certs.add(cert);
|
||||||
|
|
||||||
|
zos.putNextEntry(new ZipEntry(subDir + cert.getCertificate()));
|
||||||
|
zos.write("-----BEGIN CERTIFICATE-----\r\n".concat(hi.getCertificate())
|
||||||
|
.concat("\r\n-----END CERTIFICATE-----").getBytes());
|
||||||
|
zos.closeEntry();
|
||||||
|
}
|
||||||
|
epc45.setData(certs);
|
||||||
|
return mapperYaml.writeValueAsBytes(epc45);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("Error converting endpoint certificate: {}", e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
private void addGenericPolicyMetadata(ZipOutputStream zos, String subDir, String fileName, ArtifactReference r)
|
private void addGenericPolicyMetadata(ZipOutputStream zos, String subDir, String fileName, ArtifactReference r)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
OperationPolicySpecification45 ops = new OperationPolicySpecification45();
|
OperationPolicySpecification45 ops = new OperationPolicySpecification45();
|
||||||
@ -257,6 +293,7 @@ public class ExportToWso2FromV32 extends AbstractProcess {
|
|||||||
data.getSupportedGateways().add("Synapse");
|
data.getSupportedGateways().add("Synapse");
|
||||||
data.setSupportedApiTypes(new ArrayList<>());
|
data.setSupportedApiTypes(new ArrayList<>());
|
||||||
data.getSupportedApiTypes().add("HTTP");
|
data.getSupportedApiTypes().add("HTTP");
|
||||||
|
data.getSupportedApiTypes().add("SOAP");
|
||||||
data.setPolicyAttributes(new ArrayList<>());
|
data.setPolicyAttributes(new ArrayList<>());
|
||||||
ops.setData(data);
|
ops.setData(data);
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,26 @@
|
|||||||
|
package cz.trask.migration.model;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
|
public class EndpointCertificates45 {
|
||||||
|
|
||||||
|
private String type;
|
||||||
|
private String version;
|
||||||
|
|
||||||
|
private List<EndpointCertificate> data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
|
public static class EndpointCertificate {
|
||||||
|
private String alias;
|
||||||
|
private String endpoint;
|
||||||
|
private String certificate;
|
||||||
|
private int tenantId;
|
||||||
|
}
|
||||||
|
}
|
||||||
13
src/main/java/cz/trask/migration/model/HostInfo32.java
Normal file
13
src/main/java/cz/trask/migration/model/HostInfo32.java
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package cz.trask.migration.model;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
|
public class HostInfo32 {
|
||||||
|
private String hostName;
|
||||||
|
private String alias;
|
||||||
|
private String certificate;
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user