Gson optimization, refactor

This commit is contained in:
Radek Davidek 2025-10-01 13:49:55 +02:00
parent 8dea4b4c76
commit 84c3511435
2 changed files with 7 additions and 31 deletions

View File

@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.StringReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
@ -20,7 +19,6 @@ import org.apache.logging.log4j.Logger;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.stream.JsonReader;
import cz.trask.apioperator.config.ConfigManager;
import cz.trask.apioperator.model.HttpResponse;
@ -31,8 +29,12 @@ public abstract class AbstractProcess {
private static Logger log = LogManager.getLogger(AbstractProcess.class);
protected Gson gson;
protected AbstractProcess() {
gson = new GsonBuilder().create();
setTrustStoreCredentials();
javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(new javax.net.ssl.HostnameVerifier() {
@ -87,10 +89,7 @@ public abstract class AbstractProcess {
log.debug("Token response: HTTP Code " + response.getResponseCode() + " Json: " + response.getResponse());
Gson gson = new GsonBuilder().create();
JsonReader reader = new JsonReader(new StringReader(response.getResponse()));
reader.setLenient(true);
TokenResponse resp = gson.fromJson(reader, TokenResponse.class);
TokenResponse resp = gson.fromJson(response.getResponse(), TokenResponse.class);
return resp;
}
@ -120,10 +119,7 @@ public abstract class AbstractProcess {
log.debug(
"Register API response: HTTP Code " + response.getResponseCode() + " Json: " + response.getResponse());
Gson gson = new GsonBuilder().create();
JsonReader reader = new JsonReader(new StringReader(response.getResponse()));
reader.setLenient(true);
RegisterResponse resp = gson.fromJson(reader, RegisterResponse.class);
RegisterResponse resp = gson.fromJson(response.getResponse(), RegisterResponse.class);
return resp;
}

View File

@ -1,9 +1,7 @@
package cz.trask.apioperator;
import java.io.ByteArrayInputStream;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@ -14,12 +12,9 @@ import java.util.concurrent.Executors;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.stream.JsonReader;
import cz.trask.apioperator.config.ConfigManager;
import cz.trask.apioperator.model.APIInfo;
@ -36,7 +31,6 @@ import io.apicurio.registry.rest.client.exception.VersionAlreadyExistsException;
import io.apicurio.registry.rest.v2.beans.ArtifactMetaData;
import io.apicurio.registry.rest.v2.beans.ArtifactReference;
import io.apicurio.registry.rest.v2.beans.EditableMetaData;
import io.apicurio.registry.rest.v2.beans.GroupMetaData;
import io.apicurio.registry.rest.v2.beans.Rule;
import io.apicurio.registry.rest.v2.beans.VersionMetaData;
import io.apicurio.registry.rest.v2.beans.VersionSearchResults;
@ -55,16 +49,6 @@ public class Import extends AbstractProcess {
this.sp = sp;
this.config = ConfigManager.getInstance();
client = RegistryClientFactory.create(config.getApicurioApiUrl());
// createGroup();
}
private void createGroup() {
GroupMetaData group = new GroupMetaData();
group.setCreatedOn(new Date());
group.setCreatedBy("admin");
group.setDescription("My Test Group");
group.setId("wso2-apis");
client.createArtifactGroup(group);
}
/**
@ -154,7 +138,6 @@ public class Import extends AbstractProcess {
}
try {
Gson gson = new GsonBuilder().create();
HttpResponse responseApi = makeRequest("GET",
config.getSourceDevportalApiUrl().concat(String.format("/apis/%s", api.getId())), httpHeaders,
params);
@ -408,10 +391,7 @@ public class Import extends AbstractProcess {
log.debug("Listing APIs: HTTP Code " + response.getResponseCode() + " Data: " + response.getResponse());
Gson gson = new GsonBuilder().create();
JsonReader reader = new JsonReader(new StringReader(response.getResponse()));
reader.setLenient(true);
listOfApis = gson.fromJson(reader, APIList.class);
listOfApis = gson.fromJson(response.getResponse(), APIList.class);
if (response.getResponseCode() != 200)
log.error("Cannot list API. Something bad happened.");