Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support routeConfiguration #492

Closed
igarashitm opened this issue Dec 4, 2023 · 2 comments · Fixed by #768 or #1011
Closed

Support routeConfiguration #492

igarashitm opened this issue Dec 4, 2023 · 2 comments · Fixed by #768 or #1011
Assignees
Labels
canvas/config-form Configuration form related issues canvas/visualization Canvas-related issues
Milestone

Comments

@igarashitm
Copy link
Contributor

igarashitm commented Dec 4, 2023

Please describe the feature that you want to propose

We're missing several configurations support such as routeConfiguration, restConfiguration, errorHandler, onException and etc.
https://github.com/apache/camel/blob/2e7578c9426bb327e0ca8c43b4a93063d70b946e/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json#L15611-L15649

routeTemplate and templatedRoute would be another visual entities to show as a diagram. There might be more that has steps inside.

Update

This issue now focuses on routeConfiguration. Filed separate issues for others. Since routeConfiguration has errorHandler and onException as its property, #560 and #561 are little bit less important once routeConfiguration is supported.

Update 2

Putting on hold. Not a few of routeConfiguration properties have steps inside, therefore they need flow visualization. We need to figure out how to visualize those sub routes configuration in the canvas.

  • intercept
  • interceptFrom
  • interceptSendToEndpoint
  • onCompletion
  • onException

An example route

- routeConfiguration:
    errorHandler:
      defaultErrorHandler:
        level: ERROR
    intercept:
      - intercept:
          steps:
            - log: "intercept1"
      - intercept:
          steps:
            - log: "intercept2"
    interceptFrom:
      - interceptFrom:
          uri: "direct:start1"
          steps:
            - log: "interceptFrom1"
      - interceptFrom:
          uri: "direct:start2"
          steps:
            - log: "interceptFrom2"
    interceptSendToEndpoint:
      - interceptSendToEndpoint:
          uri: "direct:start1"
          steps:
            - log: "interceptSendToEndpoint1"
      - interceptSendToEndpoint:
          uri: "direct:start2"
          steps:
            - log: "interceptSendToEndpoint2"
    onCompletion:
      - onCompletion:
          steps:
            - log: "onCompletion1"
      - onCompletion:
          steps:
            - log: "onCompletion2"
    onException:
      - onException:
          handled:
            constant: "true"
          exception:
            - "java.lang.Exception"
          steps:
            - log: "onException1"
      - onException:
          handled:
            constant: "true"
          exception:
            - "java.io.IOException"
          steps:
            - log: "onException2"

- route:
    from:
      uri: "timer:foo"
      steps:
        - log: "bar"
        - to: "direct:start1"
        - to: "direct:start2"
- route:
    from:
      uri: "direct:start1"
      steps:
        - log: "direct-start1"
- route:
    from:
      uri: "direct:start2"
      steps:
        - log: "direct-start2"
@igarashitm igarashitm added the canvas/config-form Configuration form related issues label Dec 5, 2023
@lordrip lordrip moved this from New to Todo in Kanban Board Dec 5, 2023
@lordrip lordrip added this to the 2.0.0 milestone Dec 5, 2023
@igarashitm igarashitm self-assigned this Dec 14, 2023
@igarashitm igarashitm changed the title Support Several Camel Route configurations Support routeConfiguration Dec 14, 2023
@igarashitm igarashitm moved this from Todo to In Progress in Kanban Board Dec 14, 2023
@igarashitm igarashitm moved this from In Progress to Blocked in Kanban Board Dec 14, 2023
@igarashitm igarashitm removed their assignment Dec 14, 2023
@apupier apupier moved this from Blocked to Todo in Kanban Board Jan 8, 2024
@igarashitm igarashitm self-assigned this Jan 9, 2024
@igarashitm igarashitm moved this from Todo to In Progress in Kanban Board Jan 9, 2024
@igarashitm
Copy link
Contributor Author

Also note that in the schema, errorHandler is a single object while others (intercept, interceptFrom, interceptSendToEndpoint, onCompletion, onException) are an array. What should we do if both of /errorHandler and /routeConfiguration/errorHandler are already defined?

@igarashitm igarashitm removed their assignment Jan 11, 2024
@igarashitm igarashitm moved this from In Progress to Todo in Kanban Board Jan 11, 2024
@igarashitm igarashitm moved this from Todo to Blocked in Kanban Board Jan 11, 2024
@lordrip lordrip modified the milestones: 2.0.0 TP1, 2.0.0 TP2 Jan 16, 2024
@lordrip lordrip moved this from Blocked to Todo in Kanban Board Feb 8, 2024
@lordrip
Copy link
Member

lordrip commented Feb 8, 2024

Configuring route aspects through the CanvasForm is supported via #768

@lordrip lordrip linked a pull request Feb 8, 2024 that will close this issue
3 tasks
@lordrip lordrip added the canvas/visualization Canvas-related issues label Feb 8, 2024
@lordrip lordrip modified the milestones: 2.0.0 TP2, 2.0.0 Feb 26, 2024
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 15, 2024
This commit adds support for RouteConfiguration entity.

fix: KaotoIO#492

Temp: Remove constructor parameter type from AbstractCamelVisualEntity

Temp: Make OnException inherit from AbstractCamelVisualEntity

Temp: Restore getArray util function

Temp: Remove duplicated methods in OnException

Temp: Remove duplicated methods in CamelRouteConfiguration

Temp: Refactor getNodeLabel

Temp: Rework errorHandler node label

Temp: Remove more duplicated methods in OnException

Temp: Add intercept, interceptFrom, interceptSendToEndpoint and onCompletion
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 15, 2024
…entity

This commit adds support for RouteConfiguration entity.

fix: KaotoIO#492

Temp: Remove constructor parameter type from AbstractCamelVisualEntity

Temp: Make OnException inherit from AbstractCamelVisualEntity

Temp: Restore getArray util function

Temp: Remove duplicated methods in OnException

Temp: Remove duplicated methods in CamelRouteConfiguration

Temp: Refactor getNodeLabel

Temp: Rework errorHandler node label

Temp: Remove more duplicated methods in OnException

Temp: Add intercept, interceptFrom, interceptSendToEndpoint and onCompletion
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
As a prerequisite of KaotoIO#492, we
need to add the related entities to the catalog.

This commit adds the following entities:
* intercept
* interceptFrom
* interceptSendToEndpoint
* onException
* onCompletion

In addition to that, we also show the entity ID if provided in case
there's no description available.

relates: KaotoIO#492
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
Currently, groups only support a single child.

This is not ideal for the `RouteConfiguration` entity since it could
have multiple children.

This commit adds support for multiple children in groups.

relates: KaotoIO#492
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
As a prerequisite of KaotoIO#492, we
need to add the related entities to the catalog.

This commit adds the following entities:
* intercept
* interceptFrom
* interceptSendToEndpoint
* onException
* onCompletion

In addition to that, we also show the entity ID if provided in case
there's no description available.

relates: KaotoIO#492
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
As a prerequisite of KaotoIO#492, we
need to add the related entities to the catalog.

This commit adds the following entities:
* intercept
* interceptFrom
* interceptSendToEndpoint
* onException
* onCompletion

In addition to that, we also show the entity ID if provided in case
there's no description available.

relates: KaotoIO#492
lordrip added a commit that referenced this issue Apr 16, 2024
As a prerequisite of #492, we
need to add the related entities to the catalog.

This commit adds the following entities:
* intercept
* interceptFrom
* interceptSendToEndpoint
* onException
* onCompletion

In addition to that, we also show the entity ID if provided in case
there's no description available.

relates: #492
lordrip added a commit that referenced this issue Apr 16, 2024
Currently, groups only support a single child.

This is not ideal for the `RouteConfiguration` entity since it could
have multiple children.

This commit adds support for multiple children in groups.

relates: #492
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
This commit adds support for RouteConfiguration entity.

fix: KaotoIO#492

Temp: Remove constructor parameter type from AbstractCamelVisualEntity

Temp: Make OnException inherit from AbstractCamelVisualEntity

Temp: Restore getArray util function

Temp: Remove duplicated methods in OnException

Temp: Remove duplicated methods in CamelRouteConfiguration

Temp: Refactor getNodeLabel

Temp: Rework errorHandler node label

Temp: Remove more duplicated methods in OnException

Temp: Add intercept, interceptFrom, interceptSendToEndpoint and onCompletion
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
This commit adds support for RouteConfiguration entity.

fix: KaotoIO#492

Temp: Remove constructor parameter type from AbstractCamelVisualEntity

Temp: Make OnException inherit from AbstractCamelVisualEntity

Temp: Restore getArray util function

Temp: Remove duplicated methods in OnException

Temp: Remove duplicated methods in CamelRouteConfiguration

Temp: Refactor getNodeLabel

Temp: Rework errorHandler node label

Temp: Remove more duplicated methods in OnException

Temp: Add intercept, interceptFrom, interceptSendToEndpoint and onCompletion
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
Currently, expanded and collapsed groups doesn't have the interactions
available, for instance:

* Expanded groups: Only allow to delete the entire flow
* Collapsed groups: Only allow to Insert step

This commit consolidates both functionality where it makes sense, so for
expanded groups allow to delete the flow and for collapsed ones allow to
insert step (which expand the group) and to delete the entire flow.

relates: KaotoIO#492
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
Currently, expanded and collapsed groups don't have the interactions available, for instance:

* Expanded groups: Only allowed to delete the entire flow
* Collapsed groups: Only allowed to Insert step

This commit consolidates both functionalities where it makes sense, so expanded groups allow the deletion of the flow, and collapsed ones allow to insert step (which expands the group) and the deletion of the entire flow.

relates: KaotoIO#492
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
Currently, expanded and collapsed groups don't have the interactions available, for instance:

* Expanded groups: Only allowed to delete the entire flow
* Collapsed groups: Only allowed to Insert step

This commit consolidates both functionalities where it makes sense, so expanded groups allow the deletion of the flow, and collapsed ones allow to insert step (which expands the group) and the deletion of the entire flow.

relates: KaotoIO#492
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
Currently, expanded and collapsed groups don't have the interactions available, for instance:

* Expanded groups: Only allowed to delete the entire flow
* Collapsed groups: Only allowed to Insert step

This commit consolidates both functionalities where it makes sense, so expanded groups allow the deletion of the flow, and collapsed ones allow to insert step (which expands the group) and the deletion of the entire flow.

relates: KaotoIO#492
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
Currently, expanded and collapsed groups don't have the interactions available, for instance:

* Expanded groups: Only allowed to delete the entire flow
* Collapsed groups: Only allowed to Insert step

This commit consolidates both functionalities where it makes sense, so expanded groups allow the deletion of the flow, and collapsed ones allow to insert step (which expands the group) and the deletion of the entire flow.

relates: KaotoIO#492
lordrip added a commit that referenced this issue Apr 16, 2024
Currently, expanded and collapsed groups don't have the interactions available, for instance:

* Expanded groups: Only allowed to delete the entire flow
* Collapsed groups: Only allowed to Insert step

This commit consolidates both functionalities where it makes sense, so expanded groups allow the deletion of the flow, and collapsed ones allow to insert step (which expands the group) and the deletion of the entire flow.

relates: #492
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
This commit adds support for RouteConfiguration entity.

fix: KaotoIO#492

Temp: Remove constructor parameter type from AbstractCamelVisualEntity

Temp: Make OnException inherit from AbstractCamelVisualEntity

Temp: Restore getArray util function

Temp: Remove duplicated methods in OnException

Temp: Remove duplicated methods in CamelRouteConfiguration

Temp: Refactor getNodeLabel

Temp: Rework errorHandler node label

Temp: Remove more duplicated methods in OnException

Temp: Add intercept, interceptFrom, interceptSendToEndpoint and onCompletion
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
This commit adds support for RouteConfiguration entity.

fix: KaotoIO#492

Temp: Remove constructor parameter type from AbstractCamelVisualEntity

Temp: Make OnException inherit from AbstractCamelVisualEntity

Temp: Restore getArray util function

Temp: Remove duplicated methods in OnException

Temp: Remove duplicated methods in CamelRouteConfiguration

Temp: Refactor getNodeLabel

Temp: Rework errorHandler node label

Temp: Remove more duplicated methods in OnException

Temp: Add intercept, interceptFrom, interceptSendToEndpoint and onCompletion
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
…ntity

This commit adds support for RouteConfiguration entity.

fix: KaotoIO#492

Temp: Remove constructor parameter type from AbstractCamelVisualEntity

Temp: Make OnException inherit from AbstractCamelVisualEntity

Temp: Restore getArray util function

Temp: Remove duplicated methods in OnException

Temp: Remove duplicated methods in CamelRouteConfiguration

Temp: Refactor getNodeLabel

Temp: Rework errorHandler node label

Temp: Remove more duplicated methods in OnException

Temp: Add intercept, interceptFrom, interceptSendToEndpoint and onCompletion
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
This commit adds support for RouteConfiguration entity.

In detail, the following entities were added:
* intercept
* interceptFrom
* interceptSendToEndpoint
* onCompletion

Also the nested version of said entities were added

fix: KaotoIO#492
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 16, 2024
This commit adds support for RouteConfiguration entity.

In detail, the following entities were added:
* intercept
* interceptFrom
* interceptSendToEndpoint
* onCompletion

Also the nested version of said entities were added

fix: KaotoIO#492
@lordrip lordrip moved this from In Progress to In Review in Kanban Board Apr 22, 2024
lordrip added a commit to lordrip/kaoto that referenced this issue Apr 23, 2024
This commit adds support for RouteConfiguration entity.

In detail, the following entities were added:
* intercept
* interceptFrom
* interceptSendToEndpoint
* onCompletion

Also the nested version of said entities were added

fix: KaotoIO#492
lordrip added a commit that referenced this issue Apr 23, 2024
This commit adds support for RouteConfiguration entity.

In detail, the following entities were added:
* intercept
* interceptFrom
* interceptSendToEndpoint
* onCompletion

Also the nested version of said entities were added

fix: #492
@github-project-automation github-project-automation bot moved this from In Review to Done in Kanban Board Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
canvas/config-form Configuration form related issues canvas/visualization Canvas-related issues
Projects
Archived in project
2 participants