Use generic and the serializer interface to return the actual object for workflow activity
- Lenguaje dominante
- Java
- Estrellas
- 300
- Forks
- 230
- Merge medio
- 5 d 1 h
- PR fusionados (30 d)
- 5
Descripción
This issue is to follow the discussion in PR https://github.com/dapr/java-sdk/pull/880
====================
artursouza:
Use generic and the serializer interface to return the actual object. See how it is done for DaprClient
skyao:
this run() method defined in WorkflowActivity doesn't have a input parameter, we need to call ctx.getInput() to get the input, like this:
public Object run(WorkflowActivityContext ctx) {
OrderPayload order = ctx.getInput(OrderPayload.class);
logger.info("Requesting approval for order: {}", order);
return ApprovalResult.Approved;
}
I suggest to move this input parameter from ctx to run() method:
public interface WorkflowActivity{
Output run(WorkflowActivityContext ctx, Input input);
}
artursouza: Exactly. Also, use TypeRef from the main SDK. See how we do it for Actors and state store.
Guía de contribución
Línea de trabajo
Comienza con la discusión en PR 880 e inspecciona los patrones existentes en DaprClient, Actors y el código del almacén de estado para las interfaces de serializadores y TypeRef. Revisa WorkflowActivity y su gestión de entradas basada en el contexto, y luego alinea la interfaz de la actividad con los tipos genéricos de entrada y salida propuestos. Se considera terminado cuando las actividades de workflow pueden recibir entradas tipadas y devolver el objeto realmente tipado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- api, backend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100