Skip to content

Ensure Dapr workflows classes and interfaces have proper packages and visibility  #1175

Closed
@artur-ciocanu

Description

@artur-ciocanu

Describe the proposal

Currently a few Dapr worflows related classes are "poorly" named and do not reflect the intent of the class. Also some classes are exposed to the public API, while it shouldn't.

Here are a few of the offenders:

  • Workflow abstract class - ideally it should be an interface and have "default" methods, for everything that is currently used
  • WorkflowActivity interface - it should be moved outside of runtime package, since it is part of the programming model
  • OrchestratorWrapper and ActivityWrapper - these should be renamed to WorkflowWrapper and WorkflowActivityWrapper respectively
  • WorkflowActivityContext - this should be an interface just like WorkflowContext and moved outside of runtime since it is part of the programming model.
  • DaprWorkflowContextImpl - should be renamed to DaprWorkflowContext and moved to runtime package since this is an internal implementation.

By implementing this proposal we will ensure that the classes that the developers have to interact with aka are part of the programming model are available in io.dapr.workflows while all the rest are pushed to runtime and also have proper names.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions