From 646d3ed15c29a68bdc7adcf070f03845cf8861b3 Mon Sep 17 00:00:00 2001 From: Felipe Lima Date: Mon, 28 Oct 2024 12:16:44 -0700 Subject: [PATCH 1/3] chore: Package move `com.eppo.sdk` -> `cloud.eppo` --- build.gradle | 9 ++++----- .../sdk/helpers => cloud/eppo}/AppDetails.java | 14 +++++++------- .../{com/eppo/sdk => cloud/eppo}/EppoClient.java | 10 +++++----- .../eppo}/FetchConfigurationsTask.java | 6 +++--- .../java/com/eppo/sdk/helpers/IPollerTask.java | 1 - .../sdk/helpers => cloud/eppo}/AppDetailsTest.java | 4 ++-- .../eppo/sdk => cloud/eppo}/EppoClientTest.java | 4 +--- 7 files changed, 22 insertions(+), 26 deletions(-) rename src/main/java/{com/eppo/sdk/helpers => cloud/eppo}/AppDetails.java (79%) rename src/main/java/{com/eppo/sdk => cloud/eppo}/EppoClient.java (97%) rename src/main/java/{com/eppo/sdk/helpers => cloud/eppo}/FetchConfigurationsTask.java (89%) delete mode 100644 src/main/java/com/eppo/sdk/helpers/IPollerTask.java rename src/test/java/{com/eppo/sdk/helpers => cloud/eppo}/AppDetailsTest.java (93%) rename src/test/java/{com/eppo/sdk => cloud/eppo}/EppoClientTest.java (99%) diff --git a/build.gradle b/build.gradle index ce84dbd..aa2a558 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ java { } group = 'cloud.eppo' -version = '3.1.1-SNAPSHOT' +version = '4.0.0-SNAPSHOT' ext.isReleaseVersion = !version.endsWith("SNAPSHOT") import org.apache.tools.ant.filters.ReplaceTokens @@ -30,8 +30,7 @@ repositories { } dependencies { - // Re-export classes and interfaces that will be used upstream - api 'cloud.eppo:sdk-common-jvm:3.3.1' + api 'cloud.eppo:sdk-common-jvm:3.5.0' implementation 'com.github.zafarkhaja:java-semver:0.10.2' implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.1' @@ -40,12 +39,12 @@ dependencies { // Logback classic 1.3.x is compatible with java 8 implementation 'ch.qos.logback:logback-classic:1.3.14' - testImplementation 'cloud.eppo:sdk-common-jvm:3.2.0-SNAPSHOT:tests' + testImplementation 'cloud.eppo:sdk-common-jvm:3.5.0-SNAPSHOT:tests' testImplementation platform('org.junit:junit-bom:5.10.2') testImplementation 'org.junit.jupiter:junit-jupiter' testImplementation 'com.github.tomakehurst:wiremock-jre8:2.35.2' testImplementation 'org.mockito:mockito-core:4.11.0' - testImplementation 'com.squareup.okhttp3:okhttp:4.9.1' + testImplementation 'com.squareup.okhttp3:okhttp:4.12.0' } test { diff --git a/src/main/java/com/eppo/sdk/helpers/AppDetails.java b/src/main/java/cloud/eppo/AppDetails.java similarity index 79% rename from src/main/java/com/eppo/sdk/helpers/AppDetails.java rename to src/main/java/cloud/eppo/AppDetails.java index 531679d..8e10957 100644 --- a/src/main/java/com/eppo/sdk/helpers/AppDetails.java +++ b/src/main/java/cloud/eppo/AppDetails.java @@ -1,4 +1,4 @@ -package com.eppo.sdk.helpers; +package cloud.eppo; import java.io.IOException; import java.io.InputStream; @@ -6,20 +6,20 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class AppDetails { +class AppDetails { private static final Logger log = LoggerFactory.getLogger(AppDetails.class); static AppDetails instance; private final String version; private final String name; - public static AppDetails getInstance() { + static AppDetails getInstance() { if (instance == null) { instance = new AppDetails(); } return instance; } - public AppDetails() { + AppDetails() { Properties prop = new Properties(); try { prop = readPropertiesFile("app.properties"); @@ -30,15 +30,15 @@ public AppDetails() { this.name = prop.getProperty("app.name", "java-server-sdk"); } - public String getVersion() { + String getVersion() { return this.version; } - public String getName() { + String getName() { return this.name; } - public static Properties readPropertiesFile(String fileName) throws IOException { + static Properties readPropertiesFile(String fileName) throws IOException { ClassLoader loader = Thread.currentThread().getContextClassLoader(); Properties props = new Properties(); InputStream resourceStream = loader.getResourceAsStream(fileName); diff --git a/src/main/java/com/eppo/sdk/EppoClient.java b/src/main/java/cloud/eppo/EppoClient.java similarity index 97% rename from src/main/java/com/eppo/sdk/EppoClient.java rename to src/main/java/cloud/eppo/EppoClient.java index 88aad6c..d59d20a 100644 --- a/src/main/java/com/eppo/sdk/EppoClient.java +++ b/src/main/java/cloud/eppo/EppoClient.java @@ -1,10 +1,7 @@ -package com.eppo.sdk; +package cloud.eppo; -import cloud.eppo.BaseEppoClient; import cloud.eppo.logging.AssignmentLogger; import cloud.eppo.logging.BanditLogger; -import com.eppo.sdk.helpers.AppDetails; -import com.eppo.sdk.helpers.FetchConfigurationsTask; import java.util.Timer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -53,7 +50,10 @@ private EppoClient( isGracefulModel, false, true, - null); + null, + null, // TODO assignmentCache, + null // TODO banditCache + ); } /** Stops the client from polling Eppo for updated flag and bandit configurations */ diff --git a/src/main/java/com/eppo/sdk/helpers/FetchConfigurationsTask.java b/src/main/java/cloud/eppo/FetchConfigurationsTask.java similarity index 89% rename from src/main/java/com/eppo/sdk/helpers/FetchConfigurationsTask.java rename to src/main/java/cloud/eppo/FetchConfigurationsTask.java index be49821..c84bcfc 100644 --- a/src/main/java/com/eppo/sdk/helpers/FetchConfigurationsTask.java +++ b/src/main/java/cloud/eppo/FetchConfigurationsTask.java @@ -1,18 +1,18 @@ -package com.eppo.sdk.helpers; +package cloud.eppo; import java.util.Timer; import java.util.TimerTask; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class FetchConfigurationsTask extends TimerTask { +class FetchConfigurationsTask extends TimerTask { private static final Logger log = LoggerFactory.getLogger(FetchConfigurationsTask.class); private final Runnable runnable; private final Timer timer; private final long intervalInMillis; private final long jitterInMillis; - public FetchConfigurationsTask( + FetchConfigurationsTask( Runnable runnable, Timer timer, long intervalInMillis, long jitterInMillis) { this.runnable = runnable; this.timer = timer; diff --git a/src/main/java/com/eppo/sdk/helpers/IPollerTask.java b/src/main/java/com/eppo/sdk/helpers/IPollerTask.java deleted file mode 100644 index 8b13789..0000000 --- a/src/main/java/com/eppo/sdk/helpers/IPollerTask.java +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/test/java/com/eppo/sdk/helpers/AppDetailsTest.java b/src/test/java/cloud/eppo/AppDetailsTest.java similarity index 93% rename from src/test/java/com/eppo/sdk/helpers/AppDetailsTest.java rename to src/test/java/cloud/eppo/AppDetailsTest.java index 7286f8e..b69eaa5 100644 --- a/src/test/java/com/eppo/sdk/helpers/AppDetailsTest.java +++ b/src/test/java/cloud/eppo/AppDetailsTest.java @@ -1,4 +1,4 @@ -package com.eppo.sdk.helpers; +package cloud.eppo; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -15,7 +15,7 @@ public class AppDetailsTest { @BeforeEach public void nullOutInstanceToReset() { try { - Class appDetailsClass = Class.forName("com.eppo.sdk.helpers.AppDetails"); + Class appDetailsClass = Class.forName("cloud.eppo.AppDetails"); Field instanceField = appDetailsClass.getDeclaredField("instance"); instanceField.setAccessible(true); instanceField.set(null, null); diff --git a/src/test/java/com/eppo/sdk/EppoClientTest.java b/src/test/java/cloud/eppo/EppoClientTest.java similarity index 99% rename from src/test/java/com/eppo/sdk/EppoClientTest.java rename to src/test/java/cloud/eppo/EppoClientTest.java index 193df02..582f7fa 100644 --- a/src/test/java/com/eppo/sdk/EppoClientTest.java +++ b/src/test/java/cloud/eppo/EppoClientTest.java @@ -1,4 +1,4 @@ -package com.eppo.sdk; +package cloud.eppo; import static cloud.eppo.helpers.AssignmentTestCase.parseTestCaseFile; import static cloud.eppo.helpers.AssignmentTestCase.runTestCase; @@ -8,8 +8,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.*; -import cloud.eppo.BaseEppoClient; -import cloud.eppo.EppoHttpClient; import cloud.eppo.api.Attributes; import cloud.eppo.api.BanditActions; import cloud.eppo.api.BanditResult; From ee6099c78aa110742d5b3c5aafb473c17b277d3d Mon Sep 17 00:00:00 2001 From: Felipe Lima Date: Tue, 29 Oct 2024 13:50:55 -0700 Subject: [PATCH 2/3] imports --- src/main/java/cloud/eppo/EppoClient.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/cloud/eppo/EppoClient.java b/src/main/java/cloud/eppo/EppoClient.java index 6e7417f..6955d32 100644 --- a/src/main/java/cloud/eppo/EppoClient.java +++ b/src/main/java/cloud/eppo/EppoClient.java @@ -1,6 +1,8 @@ package cloud.eppo; import cloud.eppo.api.IAssignmentCache; +import cloud.eppo.cache.ExpiringInMemoryAssignmentCache; +import cloud.eppo.cache.LRUInMemoryAssignmentCache; import cloud.eppo.logging.AssignmentLogger; import cloud.eppo.logging.BanditLogger; import java.util.Timer; From 4d3db924c015327ed1ff5402ad0305ce2fd647b9 Mon Sep 17 00:00:00 2001 From: Felipe Lima Date: Tue, 29 Oct 2024 13:51:53 -0700 Subject: [PATCH 3/3] spotless --- src/main/java/cloud/eppo/EppoClient.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/cloud/eppo/EppoClient.java b/src/main/java/cloud/eppo/EppoClient.java index 6955d32..f0a3b26 100644 --- a/src/main/java/cloud/eppo/EppoClient.java +++ b/src/main/java/cloud/eppo/EppoClient.java @@ -59,8 +59,7 @@ private EppoClient( true, null, assignmentCache, - banditAssignmentCache - ); + banditAssignmentCache); } /** Stops the client from polling Eppo for updated flag and bandit configurations */