Re: [VOTE] Release of Apache Camel Karavan 4.3.0

2024-01-02 Thread Jean-Baptiste Onofré
+1 (binding)

Regards
JB

On Thu, Dec 28, 2023 at 5:05 PM Marat Gubaidullin
 wrote:
>
> Dear Camel Developers,
>
> This is a vote for the release of Apache Camel Karavan version 4.3.0.
>
> What's new in this version:
>
> Designer improvements:
> 1. Less verbose UI
> 2. Users can convert Filter DSL to Choice
> 3. Users can convert SetHeader to SetBody
> 4. Users can DSL element with steps to Route
> 5. Configurable Auto Startup in a route using Env variable
> 6. Header information for Components in Knowledgebase
>
> Web-application improvements:
> 1. Configurable network for Karavan in Docker
> 2. Configurable Service Account for DevMode container in Kubernetes
> 3. Users can add README.md with project description
> 4. Users can pull project from Git repository
> 5. Configurable OIDC realm and client ID
> 6. When Karavan authorized in OIDC, Git commit includes author name and
> email from authorized user
>
> Latest versions:
> - Camel 4.3.0
> - Kamelets 4.3.0
> - Jkube 1.15.0
> - JBang v0.114.0
>
> Source release package:
> https://dist.apache.org/repos/dist/dev/camel/camel-karavan/4.3.0/
>
> Some files in the codebase have missing licence headers still. This is done
> intentionally, because these files are code snippets/templates used to
> generate user's code.
>
> VS Code Extension
> https://github.com/apache/camel-karavan/releases/tag/4.3.0
>
> We encourage all Camel contributors to participate in this release vote.
> Your feedback and contributions play a crucial role in making Apache Camel
> Karavan better with each release.
>
> Please cast your vote by replying to this email with your decision:
> [ ] +1 Release
> [ ] -1 Veto the release (provide specific comments)
>
> The voting period will remain open for 72 hours.
>
> Thank you for your continued support and dedication to the Apache Camel
> project.
>
> My +1 is here
>
> Have a nice day,
> Marat


Adding JMX reporting and control to dynamic router eip component

2024-01-02 Thread Steve973
Hi, all.  I was talking about this on the users list, but I found out about
the dev list, so I wanted to share this question with fellow camel
devs/contributors.

I am adding JMX reporting and control to my dynamic router eip component
(not the original dynamic router that you can use with the DSL in core).  I
have two services that I annotated with camel-management annotations:

For JMX control (things removed for brevity):

@Converter(generateBulkLoader = true)
@ManagedResource(description = "Dynamic Router control operations service")
public class DynamicRouterControlService extends ServiceSupport {

private final CamelContext camelContext;

private final DynamicRouterFilterService filterService;

public DynamicRouterControlService(CamelContext camelContext,
   DynamicRouterFilterService
filterService) {
this.camelContext = camelContext;
this.filterService = filterService;
}

@ManagedOperation(description = "Subscribe for dynamic routing
with a predicate expression")
public String subscribeWithPredicateExpression(
String subscribeChannel,
String subscriptionId,
String destinationUri,
int priority,
String predicate,
String expressionLanguage,
boolean update) {
return filterService.addFilterForChannel(subscriptionId, priority,
obtainPredicateFromExpression(camelContext, predicate,
expressionLanguage),
destinationUri, subscribeChannel, update);
}

@ManagedOperation(description = "Subscribe for dynamic routing
with the name of a predicate bean in the registry")
public String subscribeWithPredicateBean(
String subscribeChannel,
String subscriptionId,
String destinationUri,
int priority,
String predicateBean,
boolean update) {
return filterService.addFilterForChannel(subscriptionId, priority,
obtainPredicateFromBeanName(predicateBean, camelContext),
destinationUri, subscribeChannel, update);
}

@ManagedOperation(description = "Subscribe for dynamic routing
with a predicate instance")
public String subscribeWithPredicateInstance(
String subscribeChannel,
String subscriptionId,
String destinationUri,
int priority,
Object predicate,
boolean update) {
return filterService.addFilterForChannel(subscriptionId,
priority, obtainPredicateFromInstance(predicate),
destinationUri, subscribeChannel, update);
}

@ManagedOperation(description = "Unsubscribe for dynamic routing
on a channel by subscription ID")
public boolean removeSubscription(
String subscribeChannel,
String subscriptionId) {
return filterService.removeFilterById(subscriptionId, subscribeChannel);
}

@Override
public void start() {
// no-op
}

@Override
public void stop() {
// no-op
}
}

For reporting/monitoring (things removed for brevity):

@ManagedResource(description = "Dynamic Router filter service")
public class DynamicRouterFilterService extends ServiceSupport {

private final Map> filterMap = new
ConcurrentHashMap<>();

private final Map>
filterStatisticsMap = new ConcurrentHashMap<>();

private final Supplier filterFactorySupplier;

public DynamicRouterFilterService(final
Supplier filterFactorySupplier) {
this.filterFactorySupplier = filterFactorySupplier;
LOG.debug("Created Dynamic Router component");
}

@ManagedAttribute(description = "Get the list of filters for the
specified dynamic router channel")
public Collection getFiltersForChannel(final
String channel) {
return List.copyOf(filterMap.get(channel));
}

@ManagedAttribute(description = "Get the map of filters for all
dynamic router channels")
public Map>
getFilterMap() {
return Map.copyOf(filterMap);
}

@ManagedAttribute(description = "Get the set of filter statistics
for the specified dynamic router channel")
public List
getStatisticsForChannel(final String channel) {
return List.copyOf(filterStatisticsMap.get(channel));
}

@ManagedAttribute(description = "Get the map of statistics for all
dynamic router channels")
public Map>
getFilterStatisticsMap() {
return Map.copyOf(filterStatisticsMap);
}

@Override
public void start() {
// no-op
}

@Override
public void stop() {
// no-op
}
}

I want to write a test that verifies that camel is registering these.  I
have added camel-management to my pom in the "test" scope.  I originally
tried to use a test annotated with @CamelSpringTest, but I could not it to
work, and when I tried to get the ManagementAgent, it was always null.  So
I switched to a normal test that extends 

Re: [HEADS UP] - Introducing variables to Camel 4.4

2024-01-02 Thread Alexandre Gallice
Ok make sense, thanks for clarification Claus.
With user variables separated from internal exchange properties, I wonder
if properties become kind of read-only from user perspective.

And yes, the naming is even harder in this area with context global
options, exchange properties, component options, endpoint options... :)

On Tue, Jan 2, 2024 at 3:43 PM Claus Ibsen  wrote:

> On Tue, Jan 2, 2024 at 3:26 PM Alexandre Gallice 
> wrote:
>
> > Hi Claus,
> >
> >   Looks interesting. New year, new idea :)
> >
> >   I wonder what is the difference between exchange property and variable.
> >   Don't they have the same scope and mutability ?
> >
> >
> exchange properties is a mixed bag of internal stuff and yes users can also
> store their own stuff there.
> But then you end up with user stuff and internal camel stuff. Also exchange
> properties are private per exchange only.
>
> Variables = 100% end user.
> And you can have different scopes / repositories so you can share
> variables, or persist them or whatever.
>
> Also a variable is a more common concept for users as it's something every
> programming language has.
> Exchange properties can be mistaken for those "properties" you configure on
> endpoints, components, and in application.properties, and when using
> property placeholders {{xxx}}.
> In fact they were called properties in Camel 1.x/2.x and renamed to
> exchange properties to better say that these are properties on an exchange,
> and not any of 
>
>
>
>
>
>
>
> > Cheers,
> > Alex
> >
> > On Sun, Dec 31, 2023 at 1:16 PM Claus Ibsen 
> wrote:
> >
> > > Hi
> > >
> > > JIRA
> > > https://issues.apache.org/jira/projects/CAMEL/issues/CAMEL-19749
> > >
> > > We are working on adding support for variables to Camel.
> > >
> > > See more in the docs at
> > >
> > >
> >
> https://github.com/apache/camel/blob/main/docs/user-manual/modules/ROOT/pages/variables.adoc
> > >
> > > And examples for Spring Boot and Main / JBang
> > >
> https://github.com/apache/camel-spring-boot-examples/tree/main/variables
> > >
> >
> https://github.com/apache/camel-kamelets-examples/tree/main/jbang/variables
> > >
> > > There is more work coming, but this is the initial and basics of
> > variables.
> > >
> > >
> > >
> > >
> > > --
> > > Claus Ibsen
> > > -
> > > @davsclaus
> > > Camel in Action 2: https://www.manning.com/ibsen2
> > >
> >
>
>
> --
> Claus Ibsen
> -
> @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>


Re: [HEADS UP] - Introducing variables to Camel 4.4

2024-01-02 Thread Claus Ibsen
On Tue, Jan 2, 2024 at 3:26 PM Alexandre Gallice 
wrote:

> Hi Claus,
>
>   Looks interesting. New year, new idea :)
>
>   I wonder what is the difference between exchange property and variable.
>   Don't they have the same scope and mutability ?
>
>
exchange properties is a mixed bag of internal stuff and yes users can also
store their own stuff there.
But then you end up with user stuff and internal camel stuff. Also exchange
properties are private per exchange only.

Variables = 100% end user.
And you can have different scopes / repositories so you can share
variables, or persist them or whatever.

Also a variable is a more common concept for users as it's something every
programming language has.
Exchange properties can be mistaken for those "properties" you configure on
endpoints, components, and in application.properties, and when using
property placeholders {{xxx}}.
In fact they were called properties in Camel 1.x/2.x and renamed to
exchange properties to better say that these are properties on an exchange,
and not any of 







> Cheers,
> Alex
>
> On Sun, Dec 31, 2023 at 1:16 PM Claus Ibsen  wrote:
>
> > Hi
> >
> > JIRA
> > https://issues.apache.org/jira/projects/CAMEL/issues/CAMEL-19749
> >
> > We are working on adding support for variables to Camel.
> >
> > See more in the docs at
> >
> >
> https://github.com/apache/camel/blob/main/docs/user-manual/modules/ROOT/pages/variables.adoc
> >
> > And examples for Spring Boot and Main / JBang
> > https://github.com/apache/camel-spring-boot-examples/tree/main/variables
> >
> https://github.com/apache/camel-kamelets-examples/tree/main/jbang/variables
> >
> > There is more work coming, but this is the initial and basics of
> variables.
> >
> >
> >
> >
> > --
> > Claus Ibsen
> > -
> > @davsclaus
> > Camel in Action 2: https://www.manning.com/ibsen2
> >
>


-- 
Claus Ibsen
-
@davsclaus
Camel in Action 2: https://www.manning.com/ibsen2


Re: [HEADS UP] - Introducing variables to Camel 4.4

2024-01-02 Thread Alexandre Gallice
Hi Claus,

  Looks interesting. New year, new idea :)

  I wonder what is the difference between exchange property and variable.
  Don't they have the same scope and mutability ?

Cheers,
Alex

On Sun, Dec 31, 2023 at 1:16 PM Claus Ibsen  wrote:

> Hi
>
> JIRA
> https://issues.apache.org/jira/projects/CAMEL/issues/CAMEL-19749
>
> We are working on adding support for variables to Camel.
>
> See more in the docs at
>
> https://github.com/apache/camel/blob/main/docs/user-manual/modules/ROOT/pages/variables.adoc
>
> And examples for Spring Boot and Main / JBang
> https://github.com/apache/camel-spring-boot-examples/tree/main/variables
> https://github.com/apache/camel-kamelets-examples/tree/main/jbang/variables
>
> There is more work coming, but this is the initial and basics of variables.
>
>
>
>
> --
> Claus Ibsen
> -
> @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>


Re: [VOTE] Release of Apache Camel Karavan 4.3.0

2024-01-02 Thread Zineb Bendhiba
+1 (binding)

Happy New Year

Le jeu. 28 déc. 2023 à 17:06, Marat Gubaidullin 
a écrit :

> Dear Camel Developers,
>
> This is a vote for the release of Apache Camel Karavan version 4.3.0.
>
> What's new in this version:
>
> Designer improvements:
> 1. Less verbose UI
> 2. Users can convert Filter DSL to Choice
> 3. Users can convert SetHeader to SetBody
> 4. Users can DSL element with steps to Route
> 5. Configurable Auto Startup in a route using Env variable
> 6. Header information for Components in Knowledgebase
>
> Web-application improvements:
> 1. Configurable network for Karavan in Docker
> 2. Configurable Service Account for DevMode container in Kubernetes
> 3. Users can add README.md with project description
> 4. Users can pull project from Git repository
> 5. Configurable OIDC realm and client ID
> 6. When Karavan authorized in OIDC, Git commit includes author name and
> email from authorized user
>
> Latest versions:
> - Camel 4.3.0
> - Kamelets 4.3.0
> - Jkube 1.15.0
> - JBang v0.114.0
>
> Source release package:
> https://dist.apache.org/repos/dist/dev/camel/camel-karavan/4.3.0/
>
> Some files in the codebase have missing licence headers still. This is done
> intentionally, because these files are code snippets/templates used to
> generate user's code.
>
> VS Code Extension
> https://github.com/apache/camel-karavan/releases/tag/4.3.0
>
> We encourage all Camel contributors to participate in this release vote.
> Your feedback and contributions play a crucial role in making Apache Camel
> Karavan better with each release.
>
> Please cast your vote by replying to this email with your decision:
> [ ] +1 Release
> [ ] -1 Veto the release (provide specific comments)
>
> The voting period will remain open for 72 hours.
>
> Thank you for your continued support and dedication to the Apache Camel
> project.
>
> My +1 is here
>
> Have a nice day,
> Marat
>


-- 
Zineb Bendhiba


Re: [VOTE] Release of Apache Camel Karavan 4.3.0

2024-01-02 Thread Nicolas Filotto
Hi,

Happy new year!

+1 (binding)

Nicolas

De : Claus Ibsen 
Envoyé : mardi, janvier 2, 2024 10:54 AM
À : dev@camel.apache.org 
Objet : Re: [VOTE] Release of Apache Camel Karavan 4.3.0

CAUTION: This email originated from outside of the organization. Do not click 
links or open attachments unless you recognize the sender and know the content 
is safe.



Hi

Happy new year.
It would be good to get some more votes for this release, thanks.


On Thu, Dec 28, 2023 at 5:06 PM Marat Gubaidullin <
marat.gubaidul...@gmail.com> wrote:

> Dear Camel Developers,
>
> This is a vote for the release of Apache Camel Karavan version 4.3.0.
>
> What's new in this version:
>
> Designer improvements:
> 1. Less verbose UI
> 2. Users can convert Filter DSL to Choice
> 3. Users can convert SetHeader to SetBody
> 4. Users can DSL element with steps to Route
> 5. Configurable Auto Startup in a route using Env variable
> 6. Header information for Components in Knowledgebase
>
> Web-application improvements:
> 1. Configurable network for Karavan in Docker
> 2. Configurable Service Account for DevMode container in Kubernetes
> 3. Users can add README.md with project description
> 4. Users can pull project from Git repository
> 5. Configurable OIDC realm and client ID
> 6. When Karavan authorized in OIDC, Git commit includes author name and
> email from authorized user
>
> Latest versions:
> - Camel 4.3.0
> - Kamelets 4.3.0
> - Jkube 1.15.0
> - JBang v0.114.0
>
> Source release package:
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdist.apache.org%2Frepos%2Fdist%2Fdev%2Fcamel%2Fcamel-karavan%2F4.3.0%2F=05%7C02%7CNicolas.Filotto%40qlik.com%7C711f44bc4db348d0421808dc0b78c768%7Cc21eeb5ff5a644e8a997124f2f7a497c%7C0%7C0%7C638397860568175787%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=Spf2o4J6%2B5DCgMCsB64pCqU2FSWi0Y174CG9cfyg%2BIE%3D=0
>
> Some files in the codebase have missing licence headers still. This is done
> intentionally, because these files are code snippets/templates used to
> generate user's code.
>
> VS Code Extension
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fcamel-karavan%2Freleases%2Ftag%2F4.3.0=05%7C02%7CNicolas.Filotto%40qlik.com%7C711f44bc4db348d0421808dc0b78c768%7Cc21eeb5ff5a644e8a997124f2f7a497c%7C0%7C0%7C638397860568175787%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=YE9ufX0JrC%2BIb8u%2B7Ys2k1t7cPCKFsNNTgSSf%2FDKIng%3D=0
>
> We encourage all Camel contributors to participate in this release vote.
> Your feedback and contributions play a crucial role in making Apache Camel
> Karavan better with each release.
>
> Please cast your vote by replying to this email with your decision:
> [ ] +1 Release
> [ ] -1 Veto the release (provide specific comments)
>
> The voting period will remain open for 72 hours.
>
> Thank you for your continued support and dedication to the Apache Camel
> project.
>
> My +1 is here
>
> Have a nice day,
> Marat
>


--
Claus Ibsen
-
@davsclaus
Camel in Action 2: 
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.manning.com%2Fibsen2=05%7C02%7CNicolas.Filotto%40qlik.com%7C711f44bc4db348d0421808dc0b78c768%7Cc21eeb5ff5a644e8a997124f2f7a497c%7C0%7C0%7C638397860568175787%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=RcZtOy3OKOO0JLXHPhnvZxJfamaR%2FoYsBHvT2VXE53A%3D=0

The information transmitted is intended only for the person or entity to which 
it is addressed and may contain confidential and/or privileged material. Any 
review, retransmission, dissemination or other use of, or taking of any action 
in reliance upon, this information by persons or entities other than the 
intended recipient is prohibited. If you received this in error, please contact 
the sender and delete the material from any computer. Our Privacy & Cookie 
Notice describes how 
we handle personal information.
QlikTech France SARL (Société à responsabilité limitée), registered in France 
with number 499 265 940 R.C.S. Nanterre, and whose registered office is Tour 
Initiale, 1 Terrasse Bellini 5th Floor 92919 La Defense, Cedex Paris, France


Re: [VOTE] Release of Apache Camel Karavan 4.3.0

2024-01-02 Thread Babak Vahdat
+1

> Am 28.12.2023 um 17:06 schrieb Marat Gubaidullin 
> :
> 
> Dear Camel Developers,
> 
> This is a vote for the release of Apache Camel Karavan version 4.3.0.
> 
> What's new in this version:
> 
> Designer improvements:
> 1. Less verbose UI
> 2. Users can convert Filter DSL to Choice
> 3. Users can convert SetHeader to SetBody
> 4. Users can DSL element with steps to Route
> 5. Configurable Auto Startup in a route using Env variable
> 6. Header information for Components in Knowledgebase
> 
> Web-application improvements:
> 1. Configurable network for Karavan in Docker
> 2. Configurable Service Account for DevMode container in Kubernetes
> 3. Users can add README.md with project description
> 4. Users can pull project from Git repository
> 5. Configurable OIDC realm and client ID
> 6. When Karavan authorized in OIDC, Git commit includes author name and
> email from authorized user
> 
> Latest versions:
> - Camel 4.3.0
> - Kamelets 4.3.0
> - Jkube 1.15.0
> - JBang v0.114.0
> 
> Source release package:
> https://dist.apache.org/repos/dist/dev/camel/camel-karavan/4.3.0/
> 
> Some files in the codebase have missing licence headers still. This is done
> intentionally, because these files are code snippets/templates used to
> generate user's code.
> 
> VS Code Extension
> https://github.com/apache/camel-karavan/releases/tag/4.3.0
> 
> We encourage all Camel contributors to participate in this release vote.
> Your feedback and contributions play a crucial role in making Apache Camel
> Karavan better with each release.
> 
> Please cast your vote by replying to this email with your decision:
> [ ] +1 Release
> [ ] -1 Veto the release (provide specific comments)
> 
> The voting period will remain open for 72 hours.
> 
> Thank you for your continued support and dedication to the Apache Camel
> project.
> 
> My +1 is here
> 
> Have a nice day,
> Marat



Re: [VOTE] Release of Apache Camel Karavan 4.3.0

2024-01-02 Thread Claus Ibsen
Hi

Happy new year.
It would be good to get some more votes for this release, thanks.


On Thu, Dec 28, 2023 at 5:06 PM Marat Gubaidullin <
marat.gubaidul...@gmail.com> wrote:

> Dear Camel Developers,
>
> This is a vote for the release of Apache Camel Karavan version 4.3.0.
>
> What's new in this version:
>
> Designer improvements:
> 1. Less verbose UI
> 2. Users can convert Filter DSL to Choice
> 3. Users can convert SetHeader to SetBody
> 4. Users can DSL element with steps to Route
> 5. Configurable Auto Startup in a route using Env variable
> 6. Header information for Components in Knowledgebase
>
> Web-application improvements:
> 1. Configurable network for Karavan in Docker
> 2. Configurable Service Account for DevMode container in Kubernetes
> 3. Users can add README.md with project description
> 4. Users can pull project from Git repository
> 5. Configurable OIDC realm and client ID
> 6. When Karavan authorized in OIDC, Git commit includes author name and
> email from authorized user
>
> Latest versions:
> - Camel 4.3.0
> - Kamelets 4.3.0
> - Jkube 1.15.0
> - JBang v0.114.0
>
> Source release package:
> https://dist.apache.org/repos/dist/dev/camel/camel-karavan/4.3.0/
>
> Some files in the codebase have missing licence headers still. This is done
> intentionally, because these files are code snippets/templates used to
> generate user's code.
>
> VS Code Extension
> https://github.com/apache/camel-karavan/releases/tag/4.3.0
>
> We encourage all Camel contributors to participate in this release vote.
> Your feedback and contributions play a crucial role in making Apache Camel
> Karavan better with each release.
>
> Please cast your vote by replying to this email with your decision:
> [ ] +1 Release
> [ ] -1 Veto the release (provide specific comments)
>
> The voting period will remain open for 72 hours.
>
> Thank you for your continued support and dedication to the Apache Camel
> project.
>
> My +1 is here
>
> Have a nice day,
> Marat
>


-- 
Claus Ibsen
-
@davsclaus
Camel in Action 2: https://www.manning.com/ibsen2