From d7d5c614750459eaf509bbe4c085c4a81f4211dd Mon Sep 17 00:00:00 2001 From: Umut Ay Bora Date: Wed, 5 Oct 2022 18:57:57 +0200 Subject: [PATCH] V 1.2.0 Updated to the merged Java-Utilities --- pom.xml | 4 +- .../java/exceptions/FailedCallException.java | 5 - src/main/java/utils/ApiUtilities.java | 10 - src/main/java/utils/Caller.java | 185 ------------------ src/main/java/utils/ServiceGenerator.java | 113 ----------- 5 files changed, 2 insertions(+), 315 deletions(-) delete mode 100644 src/main/java/exceptions/FailedCallException.java delete mode 100644 src/main/java/utils/ApiUtilities.java delete mode 100644 src/main/java/utils/Caller.java delete mode 100644 src/main/java/utils/ServiceGenerator.java diff --git a/pom.xml b/pom.xml index cb2fe62f..1fe5cdbc 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.github.Umutayb Pickleib - 1.1.8 + 1.2.0 jar Pickleib @@ -16,7 +16,7 @@ ${project.basedir}/out/artifacts/POM-Framework_jar UTF-8 3.8.0 - 0.4.3 + 1.0.0 4.4.0 2.9.0 4.10.0 diff --git a/src/main/java/exceptions/FailedCallException.java b/src/main/java/exceptions/FailedCallException.java deleted file mode 100644 index d52b4e47..00000000 --- a/src/main/java/exceptions/FailedCallException.java +++ /dev/null @@ -1,5 +0,0 @@ -package exceptions; - -public class FailedCallException extends Exception { - public FailedCallException(String errorMessage) {super(errorMessage);} -} diff --git a/src/main/java/utils/ApiUtilities.java b/src/main/java/utils/ApiUtilities.java deleted file mode 100644 index 13b93634..00000000 --- a/src/main/java/utils/ApiUtilities.java +++ /dev/null @@ -1,10 +0,0 @@ -package utils; - -import java.util.Properties; - -public abstract class ApiUtilities extends Caller { - public static Properties properties; - Printer log = new Printer(ApiUtilities.class); - - public ApiUtilities(){properties = FileUtilities.properties;} -} diff --git a/src/main/java/utils/Caller.java b/src/main/java/utils/Caller.java deleted file mode 100644 index 505d0dec..00000000 --- a/src/main/java/utils/Caller.java +++ /dev/null @@ -1,185 +0,0 @@ -package utils; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.PropertyAccessor; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import org.json.simple.JSONObject; -import org.junit.Assert; -import retrofit2.Call; -import retrofit2.Response; - -import java.io.IOException; - -@SuppressWarnings("unused") -public abstract class Caller { - - static ObjectMapper objectMapper = new ObjectMapper(); - static Printer log = new Printer(Caller.class); - - public Caller(){ - objectMapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY); - objectMapper.setVisibility(PropertyAccessor.GETTER, JsonAutoDetect.Visibility.NONE); - objectMapper.setVisibility(PropertyAccessor.SETTER, JsonAutoDetect.Visibility.NONE); - objectMapper.setVisibility(PropertyAccessor.CREATOR, JsonAutoDetect.Visibility.NONE); - objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); - } - - protected static Model perform(Call call, Boolean strict, Boolean printBody){ - String serviceName = getMethod(); - log.new Info("Performing " + call.request().method() + " call for '" + serviceName + "' service on url: " + call.request().url()); - try { - Response response = call.execute(); - - if (printBody) printBody(response); - - if (response.isSuccessful()){ - if (response.message().length()>0) log.new Info(response.message()); - log.new Success("The response code is: " + response.code()); - } - else{ - if (response.message().length()>0) - log.new Warning(response.message()); - log.new Warning("The response code is: " + response.code()); - log.new Warning(response.raw()); - - if (strict) - Assert.fail("The strict call performed for " + serviceName + " service returned response code " + response.code()); - } - return response.body(); - } - catch (IOException exception) { - log.new Error(exception.getLocalizedMessage(),exception); - Assert.fail("The call performed for " + serviceName + " failed for an unknown reason."); - } - return null; - } - protected static Response getResponse(Call call, Boolean strict, Boolean printBody){ - String serviceName = getMethod(); - log.new Info("Performing " + call.request().method() + " call for '" + serviceName + "' service on url: " + call.request().url()); - try { - Response response = call.execute(); - - if (printBody) printBody(response); - - if (response.isSuccessful()){ - if (response.message().length()>0) - log.new Info(response.message()); - log.new Success("The response code is: " + response.code()); - } - else{ - if (response.message().length()>0) - log.new Warning(response.message()); - log.new Warning("The response code is: " + response.code()); - log.new Warning(response.raw()); - - if (strict) - Assert.fail("The strict call performed for " + serviceName + " service returned response code " + response.code()); - } - return response; - } - catch (IOException exception) { - if (strict){ - log.new Error(exception.getLocalizedMessage(), exception); - Assert.fail("The call performed for " + serviceName + " failed for an unknown reason."); - } - } - return null; - } - - @Deprecated - protected static Model perform(Call call, Boolean strict, Boolean printBody, String serviceName) { - log.new Info("Performing " + call.request().method() + " call for '" + serviceName + "' service on url: " + call.request().url()); - try { - Response response = call.execute(); - - if (printBody) printBody(response); - - if (response.isSuccessful()){ - if (response.message().length()>0) log.new Info(response.message()); - log.new Success("The response code is: " + response.code()); - } - else{ - if (response.message().length()>0) - log.new Warning(response.message()); - log.new Warning("The response code is: " + response.code()); - log.new Warning(response.raw()); - - if (strict) - Assert.fail("The strict call performed for " + serviceName + " service returned response code " + response.code()); - } - return response.body(); - } - catch (IOException exception) { - log.new Error(exception.getLocalizedMessage(),exception); - Assert.fail("The call performed for " + serviceName + " failed for an unknown reason."); - } - return null; - } - - @Deprecated - protected static Response getResponse(Call call, Boolean strict, Boolean printBody, String serviceName) { - log.new Info("Performing " + call.request().method() + " call for '" + serviceName + "' service on url: " + call.request().url()); - try { - Response response = call.execute(); - - if (printBody) printBody(response); - - if (response.isSuccessful()){ - if (response.message().length()>0) - log.new Info(response.message()); - log.new Success("The response code is: " + response.code()); - } - else{ - if (response.message().length()>0) - log.new Warning(response.message()); - log.new Warning("The response code is: " + response.code()); - log.new Warning(response.raw()); - - if (strict) - Assert.fail("The strict call performed for " + serviceName + " service returned response code " + response.code()); - } - return response; - } - catch (IOException exception) { - if (strict){ - log.new Error(exception.getLocalizedMessage(), exception); - Assert.fail("The call performed for " + serviceName + " failed for an unknown reason."); - } - } - return null; - } - - static void printBody(Response response) throws IOException { - FileUtilities.Json convert = new FileUtilities.Json(); - String message = "The response body is: \n"; - try { - if (response.body() != null) // Success response with a non-null body - log.new Info(message + objectMapper.valueToTree(response.body()).toPrettyString()); - - else if (response.errorBody() != null){ // Error response with a non-null body - String errorMessage = response.errorBody().string(); - JSONObject responseJSON = convert.str2json(errorMessage); - if (responseJSON!=null) - log.new Warning(message + objectMapper.valueToTree(responseJSON).toPrettyString()); - else // Success response with a non-null & non-json body - log.new Warning(message + errorMessage); - } - else log.new Info("The response body is empty."); // Success response with a null body - } - catch (IOException exception){log.new Warning(exception.getStackTrace());} - } - - static String getMethod(){ - Throwable dummyException = new Throwable(); - StackTraceElement[] stackTrace = dummyException.getStackTrace(); - // LOGGING-132: use the provided logger name instead of the class name - String method = stackTrace[0].getMethodName(); - // Caller will be the third element - if( stackTrace.length > 2 ) { - StackTraceElement caller = stackTrace[2]; - method = caller.getMethodName(); - } - return method; - } -} \ No newline at end of file diff --git a/src/main/java/utils/ServiceGenerator.java b/src/main/java/utils/ServiceGenerator.java deleted file mode 100644 index 8d53436d..00000000 --- a/src/main/java/utils/ServiceGenerator.java +++ /dev/null @@ -1,113 +0,0 @@ -package utils; - -import okhttp3.Headers; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.logging.HttpLoggingInterceptor; -import retrofit2.Retrofit; -import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory; -import retrofit2.converter.gson.GsonConverterFactory; -import retrofit2.converter.jackson.JacksonConverterFactory; -import retrofit2.converter.moshi.MoshiConverterFactory; -import retrofit2.converter.protobuf.ProtoConverterFactory; -import retrofit2.converter.scalars.ScalarsConverterFactory; -import retrofit2.converter.simplexml.SimpleXmlConverterFactory; -import retrofit2.converter.wire.WireConverterFactory; - -import java.util.Objects; -import java.util.concurrent.TimeUnit; - -import static utils.FileUtilities.properties; - -public class ServiceGenerator { - - Headers headers = new Headers.Builder().build(); - - String BASE_URL = ""; - private final Printer log = new Printer(ServiceGenerator.class); - - public ServiceGenerator(Headers headers, String BASE_URL) { - this.BASE_URL = BASE_URL; - setHeaders(headers); - } - - public ServiceGenerator(Headers headers) {setHeaders(headers);} - - public ServiceGenerator(String BASE_URL) {this.BASE_URL = BASE_URL;} - - public ServiceGenerator(){} - - /** - * Creates Retrofit Service. - * - * @param serviceClass Which service class (api data store) going to be used when creating Retrofit Service. - * @return Created Retrofit Service. - */ - public S generate(Class serviceClass) { - - if (BASE_URL.isEmpty()) BASE_URL = (String) new ObjectUtilities().getFieldValue("BASE_URL", serviceClass); - - HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); - HttpLoggingInterceptor headerInterceptor = new HttpLoggingInterceptor(); - - if (Boolean.parseBoolean(properties.getProperty("detailed-logging"))){ - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); - interceptor.setLevel(HttpLoggingInterceptor.Level.HEADERS); - } - - OkHttpClient client = new OkHttpClient.Builder() - .addInterceptor(interceptor) - .addInterceptor(headerInterceptor) - .connectTimeout(1, TimeUnit.MINUTES) - .readTimeout(30, TimeUnit.SECONDS) - .writeTimeout(30, TimeUnit.SECONDS) - .addNetworkInterceptor(chain -> { - Request request = chain.request().newBuilder().build(); - request = request.newBuilder() - .header("Host", request.url().host()) - .method(request.method(), request.body()) - .build(); - for (String header: headers.names()) { - if (!request.headers().names().contains(header)){ - request = request.newBuilder() - .addHeader(header, Objects.requireNonNull(headers.get(header))) - .build(); - } - } - if (request.body() != null) { - Boolean contentLength = Objects.requireNonNull(request.body()).contentLength()!=0; - Boolean contentType = Objects.requireNonNull(request.body()).contentType() != null; - - if (contentLength && contentType) - request = request.newBuilder() - .header( - "Content-Length", - String.valueOf(Objects.requireNonNull(request.body()).contentLength())) - .header( - "Content-Type", - String.valueOf(Objects.requireNonNull(request.body()).contentType())) - .build(); - } - log.new Info(("Headers(" + request.headers().size() + "): \n" + request.headers()).trim()); - return chain.proceed(request); - }).build(); - - assert BASE_URL != null; - @SuppressWarnings("deprecation") - Retrofit retrofit = new Retrofit.Builder() - .baseUrl(BASE_URL) - .addConverterFactory(GsonConverterFactory.create()) - .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) - .addConverterFactory(JacksonConverterFactory.create()) - .addConverterFactory(ScalarsConverterFactory.create()) - .addConverterFactory(SimpleXmlConverterFactory.create()) //Deprecated - .addConverterFactory(MoshiConverterFactory.create()) - .addConverterFactory(WireConverterFactory.create()) - .addConverterFactory(ProtoConverterFactory.create()) - .client(client) - .build(); - return retrofit.create(serviceClass); - } - - public void setHeaders(Headers headers){this.headers = headers;} -} \ No newline at end of file