Skip to content

Commit 44baa2e

Browse files
committed
Use initialization-on-demand holder
Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>
1 parent f9a3e3e commit 44baa2e

3 files changed

Lines changed: 13 additions & 3 deletions

File tree

impl/core/src/main/java/io/serverlessworkflow/impl/WorkflowApplication.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ public SchemaValidator getValidator(SchemaInline inline) {
245245
private WorkflowModelFactory modelFactory;
246246
private WorkflowModelFactory contextFactory;
247247
private Map<String, WorkflowAdditionalObject<?>> additionalObjects = new HashMap<>();
248-
private AuthProviderFactory authProviderFactory = DefaultAuthProviderFactory.INSTANCE;
248+
private AuthProviderFactory authProviderFactory;
249249
private SecretManager secretManager;
250250
private ConfigManager configManager;
251251
private SchedulerListener schedulerListener;
@@ -480,6 +480,10 @@ public WorkflowApplication build() {
480480
if (id == null) {
481481
id = idFactory.get();
482482
}
483+
if (authProviderFactory == null) {
484+
authProviderFactory = DefaultAuthProviderFactory.factory();
485+
}
486+
483487
return new WorkflowApplication(this);
484488
}
485489

impl/core/src/main/java/io/serverlessworkflow/impl/auth/DefaultAuthProviderFactory.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,13 @@
2727

2828
public class DefaultAuthProviderFactory implements AuthProviderFactory {
2929

30-
public static final DefaultAuthProviderFactory INSTANCE = new DefaultAuthProviderFactory();
30+
private static class DefaultAuthProviderFactoryHolder {
31+
private static final DefaultAuthProviderFactory instance = new DefaultAuthProviderFactory();
32+
}
33+
34+
public static DefaultAuthProviderFactory factory() {
35+
return DefaultAuthProviderFactoryHolder.instance;
36+
}
3137

3238
@Override
3339
public Optional<AuthProvider> getAuth(

impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/HttpExecutorBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public static HttpExecutorBuilder builder(WorkflowDefinition definition) {
103103
private RequestExecutor buildRequestExecutor() {
104104
String httpMethod = method.toUpperCase();
105105
Optional<AuthProvider> auth =
106-
definition.application().authProviderFactory().getAuth(definition, policy, method);
106+
definition.application().authProviderFactory().getAuth(definition, policy, httpMethod);
107107
return switch (httpMethod) {
108108
case HttpMethod.POST, HttpMethod.PUT, HttpMethod.PATCH ->
109109
new WithBodyRequestExecutor(httpMethod, redirect, auth, definition.application(), body);

0 commit comments

Comments
 (0)