mirror of https://github.com/dapr/java-sdk.git
chore: Use implementation class for logger from context (#1542)
* chore: Use workflow and activity class when getting the logger from context Signed-off-by: Javier Aliaga <javier@diagrid.io> * chore: Keep previous contructor for backward compatibility Signed-off-by: Javier Aliaga <javier@diagrid.io> * chore: Fix method name Signed-off-by: Javier Aliaga <javier@diagrid.io> --------- Signed-off-by: Javier Aliaga <javier@diagrid.io>
This commit is contained in:
parent
e05a744b17
commit
12a1185958
|
|
@ -32,7 +32,18 @@ class DefaultWorkflowActivityContext implements WorkflowActivityContext {
|
||||||
* @throws IllegalArgumentException if context is null
|
* @throws IllegalArgumentException if context is null
|
||||||
*/
|
*/
|
||||||
public DefaultWorkflowActivityContext(TaskActivityContext context) throws IllegalArgumentException {
|
public DefaultWorkflowActivityContext(TaskActivityContext context) throws IllegalArgumentException {
|
||||||
this(context, LoggerFactory.getLogger(WorkflowActivityContext.class));
|
this(context, WorkflowActivityContext.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor for WorkflowActivityContext.
|
||||||
|
*
|
||||||
|
* @param context TaskActivityContext
|
||||||
|
* @param clazz Class to use for logger
|
||||||
|
* @throws IllegalArgumentException if context is null
|
||||||
|
*/
|
||||||
|
public DefaultWorkflowActivityContext(TaskActivityContext context, Class<?> clazz) throws IllegalArgumentException {
|
||||||
|
this(context, LoggerFactory.getLogger(clazz));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -42,17 +42,28 @@ public class DefaultWorkflowContext implements WorkflowContext {
|
||||||
private final Logger logger;
|
private final Logger logger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for DaprWorkflowContextImpl.
|
* Constructor for DefaultWorkflowContext.
|
||||||
*
|
*
|
||||||
* @param context TaskOrchestrationContext
|
* @param context TaskOrchestrationContext
|
||||||
* @throws IllegalArgumentException if context is null
|
* @throws IllegalArgumentException if context is null
|
||||||
*/
|
*/
|
||||||
public DefaultWorkflowContext(TaskOrchestrationContext context) throws IllegalArgumentException {
|
public DefaultWorkflowContext(TaskOrchestrationContext context) throws IllegalArgumentException {
|
||||||
this(context, LoggerFactory.getLogger(WorkflowContext.class));
|
this(context, WorkflowContext.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for DaprWorkflowContextImpl.
|
* Constructor for DefaultWorkflowContext.
|
||||||
|
*
|
||||||
|
* @param context TaskOrchestrationContext
|
||||||
|
* @param clazz Class to use for logger
|
||||||
|
* @throws IllegalArgumentException if context is null
|
||||||
|
*/
|
||||||
|
public DefaultWorkflowContext(TaskOrchestrationContext context, Class<?> clazz) throws IllegalArgumentException {
|
||||||
|
this(context, LoggerFactory.getLogger(clazz));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor for DefaultWorkflowContext.
|
||||||
*
|
*
|
||||||
* @param context TaskOrchestrationContext
|
* @param context TaskOrchestrationContext
|
||||||
* @param logger Logger
|
* @param logger Logger
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ public class WorkflowActivityClassWrapper<T extends WorkflowActivity> implements
|
||||||
String.format("Unable to instantiate instance of activity class '%s'", this.name), e);
|
String.format("Unable to instantiate instance of activity class '%s'", this.name), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
result = activity.run(new DefaultWorkflowActivityContext(ctx));
|
result = activity.run(new DefaultWorkflowActivityContext(ctx, activity.getClass()));
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,6 @@ public class WorkflowActivityInstanceWrapper<T extends WorkflowActivity> impleme
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TaskActivity create() {
|
public TaskActivity create() {
|
||||||
return ctx -> activity.run(new DefaultWorkflowActivityContext(ctx));
|
return ctx -> activity.run(new DefaultWorkflowActivityContext(ctx, activity.getClass()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ class WorkflowClassWrapper<T extends Workflow> implements TaskOrchestrationFacto
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
workflow.run(new DefaultWorkflowContext(ctx));
|
workflow.run(new DefaultWorkflowContext(ctx, workflow.getClass()));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,6 @@ class WorkflowInstanceWrapper<T extends Workflow> implements TaskOrchestrationFa
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TaskOrchestration create() {
|
public TaskOrchestration create() {
|
||||||
return ctx -> workflow.run(new DefaultWorkflowContext(ctx));
|
return ctx -> workflow.run(new DefaultWorkflowContext(ctx, workflow.getClass()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,13 +42,13 @@ import static org.mockito.Mockito.*;
|
||||||
|
|
||||||
public class DefaultWorkflowContextTest {
|
public class DefaultWorkflowContextTest {
|
||||||
private DefaultWorkflowContext context;
|
private DefaultWorkflowContext context;
|
||||||
|
private DefaultWorkflowContext contextWithClass;
|
||||||
private TaskOrchestrationContext mockInnerContext;
|
private TaskOrchestrationContext mockInnerContext;
|
||||||
private WorkflowContext testWorkflowContext;
|
private WorkflowContext testWorkflowContext;
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
mockInnerContext = mock(TaskOrchestrationContext.class);
|
mockInnerContext = mock(TaskOrchestrationContext.class);
|
||||||
context = new DefaultWorkflowContext(mockInnerContext);
|
|
||||||
testWorkflowContext = new WorkflowContext() {
|
testWorkflowContext = new WorkflowContext() {
|
||||||
@Override
|
@Override
|
||||||
public Logger getLogger() {
|
public Logger getLogger() {
|
||||||
|
|
@ -141,6 +141,8 @@ public class DefaultWorkflowContextTest {
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
context = new DefaultWorkflowContext(mockInnerContext);
|
||||||
|
contextWithClass = new DefaultWorkflowContext(mockInnerContext, testWorkflowContext.getClass());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package io.dapr.workflows.runtime;
|
||||||
import io.dapr.durabletask.TaskActivityContext;
|
import io.dapr.durabletask.TaskActivityContext;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
|
@ -34,7 +35,7 @@ class DefaultWorkflowActivityContextTest {
|
||||||
@DisplayName("Should throw IllegalArgumentException when context parameter is null")
|
@DisplayName("Should throw IllegalArgumentException when context parameter is null")
|
||||||
void shouldThrowIllegalArgumentExceptionWhenContextParameterIsNull() {
|
void shouldThrowIllegalArgumentExceptionWhenContextParameterIsNull() {
|
||||||
IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> {
|
IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> {
|
||||||
new DefaultWorkflowActivityContext(null);
|
new DefaultWorkflowActivityContext(null, TaskActivityContext.class);
|
||||||
});
|
});
|
||||||
assertEquals("Context cannot be null", exception.getMessage());
|
assertEquals("Context cannot be null", exception.getMessage());
|
||||||
}
|
}
|
||||||
|
|
@ -45,7 +46,7 @@ class DefaultWorkflowActivityContextTest {
|
||||||
TaskActivityContext mockInnerContext = mock(TaskActivityContext.class);
|
TaskActivityContext mockInnerContext = mock(TaskActivityContext.class);
|
||||||
|
|
||||||
IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> {
|
IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> {
|
||||||
new DefaultWorkflowActivityContext(mockInnerContext, null);
|
new DefaultWorkflowActivityContext(mockInnerContext, (Logger) null);
|
||||||
});
|
});
|
||||||
assertEquals("Logger cannot be null", exception.getMessage());
|
assertEquals("Logger cannot be null", exception.getMessage());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue