Skip to content

Commit 8daff33

Browse files
aepfliclaude
andcommitted
refactor: Move internal utilities from API to SDK module
Moved implementation-specific internal utilities from the API module to the SDK module to create a cleaner API contract: ## Moved Classes - **AutoCloseableLock** & **AutoCloseableReentrantReadWriteLock**: Thread-safe locking utilities used by SDK implementation - **ObjectUtils**: Collection merging and null-handling utilities for SDK operations - **TriConsumer**: Functional interface used by SDK event handling system ## Kept in API - **ExcludeFromGeneratedCoverageReport**: Testing annotation that API implementations may use ## Benefits - **Cleaner API**: API module now contains only essential contracts and interfaces - **Better Separation**: Implementation utilities properly isolated in SDK module - **Reduced Dependencies**: API consumers don't get unnecessary internal utilities - **Maintained Functionality**: All SDK features continue to work with updated imports Both API and SDK modules compile and test successfully after the refactoring. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent ffc1c46 commit 8daff33

File tree

7 files changed

+8
-8
lines changed

7 files changed

+8
-8
lines changed

openfeature-sdk/src/main/java/dev/openfeature/sdk/DefaultOpenFeatureAPI.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
import dev.openfeature.api.ProviderEventDetails;
1212
import dev.openfeature.api.ProviderState;
1313
import dev.openfeature.api.exceptions.OpenFeatureError;
14-
import dev.openfeature.api.internal.AutoCloseableLock;
15-
import dev.openfeature.api.internal.AutoCloseableReentrantReadWriteLock;
14+
import dev.openfeature.sdk.internal.AutoCloseableLock;
15+
import dev.openfeature.sdk.internal.AutoCloseableReentrantReadWriteLock;
1616
import java.util.ArrayList;
1717
import java.util.Arrays;
1818
import java.util.Collection;

openfeature-sdk/src/main/java/dev/openfeature/sdk/EventProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import dev.openfeature.api.FeatureProvider;
55
import dev.openfeature.api.ProviderEvent;
66
import dev.openfeature.api.ProviderEventDetails;
7-
import dev.openfeature.api.internal.TriConsumer;
7+
import dev.openfeature.sdk.internal.TriConsumer;
88
import java.util.concurrent.ExecutorService;
99
import java.util.concurrent.Executors;
1010
import java.util.concurrent.TimeUnit;

openfeature-sdk/src/main/java/dev/openfeature/sdk/OpenFeatureClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import dev.openfeature.api.exceptions.GeneralError;
2525
import dev.openfeature.api.exceptions.OpenFeatureError;
2626
import dev.openfeature.api.exceptions.ProviderNotReadyError;
27-
import dev.openfeature.api.internal.ObjectUtils;
27+
import dev.openfeature.sdk.internal.ObjectUtils;
2828
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
2929
import java.util.ArrayList;
3030
import java.util.Arrays;

openfeature-api/src/main/java/dev/openfeature/api/internal/AutoCloseableLock.java renamed to openfeature-sdk/src/main/java/dev/openfeature/sdk/internal/AutoCloseableLock.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package dev.openfeature.api.internal;
1+
package dev.openfeature.sdk.internal;
22

33
@SuppressWarnings("checkstyle:MissingJavadocType")
44
public interface AutoCloseableLock extends AutoCloseable {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package dev.openfeature.api.internal;
1+
package dev.openfeature.sdk.internal;
22

33
import java.util.concurrent.locks.ReentrantReadWriteLock;
44

openfeature-api/src/main/java/dev/openfeature/api/internal/ObjectUtils.java renamed to openfeature-sdk/src/main/java/dev/openfeature/sdk/internal/ObjectUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package dev.openfeature.api.internal;
1+
package dev.openfeature.sdk.internal;
22

33
import java.util.ArrayList;
44
import java.util.Collection;

openfeature-api/src/main/java/dev/openfeature/api/internal/TriConsumer.java renamed to openfeature-sdk/src/main/java/dev/openfeature/sdk/internal/TriConsumer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package dev.openfeature.api.internal;
1+
package dev.openfeature.sdk.internal;
22

33
import java.util.Objects;
44

0 commit comments

Comments
 (0)