Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id A3FC8200CDA for ; Fri, 4 Aug 2017 17:09:14 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id A1CFA16CCE4; Fri, 4 Aug 2017 15:09:14 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id C903116CCCA for ; Fri, 4 Aug 2017 17:09:13 +0200 (CEST) Received: (qmail 19317 invoked by uid 500); 4 Aug 2017 15:09:12 -0000 Mailing-List: contact dev-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list dev@camel.apache.org Received: (qmail 19305 invoked by uid 99); 4 Aug 2017 15:09:12 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 04 Aug 2017 15:09:12 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 30028C29EF for ; Fri, 4 Aug 2017 15:09:12 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.1 X-Spam-Level: X-Spam-Status: No, score=-0.1 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 2wXkZtu1MRBW for ; Fri, 4 Aug 2017 15:08:59 +0000 (UTC) Received: from mail-qk0-f193.google.com (mail-qk0-f193.google.com [209.85.220.193]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 779B75F21F for ; Fri, 4 Aug 2017 15:08:58 +0000 (UTC) Received: by mail-qk0-f193.google.com with SMTP id a77so1768395qkb.2 for ; Fri, 04 Aug 2017 08:08:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:subject:from:to:date:in-reply-to:references:mime-version :content-transfer-encoding; bh=jBCNzj/UTvF1AKnRwzPx8DzmRzK30YlrTq0TUqprkbY=; b=b7cuPBgjAt9xUVrAbLtmv1M07jHwtMPN5ltGy2pSTSlUDhC6lopvPY5hEC9r4gJmbB qURUSaugdUCP8kZ8ZjMBHmI0YVCFDQWlyJtjtHfnsOCWDsWAY1ZydJPK7sPWZMKGEk+w ekvcdj+J9eYykBlEuJoY9VSu15MpPYGrkk4nnzIUeTuukL1FMgzyqA1Q25bTgSZ+HK0i BpO9r2gc1/zRNvdpJs8gbaRbAdedX42i2WjKaAStJVJ2Im3HXNfYifhVqqHMvKH0SQu6 kMm+sIOssHmRn0YBn49IB/7m1OPZTnXaTxfnM/aB7pCDckxT6QCsxuzxJMM4Ao3EPxnl YleA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:mime-version:content-transfer-encoding; bh=jBCNzj/UTvF1AKnRwzPx8DzmRzK30YlrTq0TUqprkbY=; b=EVpsJ9wR5LNXR7vEC8Lp7YxygStw9bKTX/TZwHLZmkwE7Bh4GgMKm9FMVMdcQCgixM 8RG2piSShnNTVDQXgKqQlplgEFBqF4J/72wZX0oqg2lAoAT8i2FfOQZB97tZBWKa1Iv6 DtRBmPIOsTjRSNgiQQp/mWwi+mqSqNKrpo110rV2giKBx4U9EOPlIlRlyS8irhEqsHPD d9ZM0o5tu1PedUYsEJe3FqR4GlsJvHWUilne7Y8RfMNipY5jcv/hdTSRykJBDTjBkUEy NWRS/mKxx/xOY/wIRl2qmexnBzKZwNd1eZY0Y8QqPkjNv762xwpRKi+/yA7Jcp1jIiFW 1ZeA== X-Gm-Message-State: AHYfb5iXRNzqCi/bfooBDmtXAHE88cq08U6/Ege6kWZlp7I48aADw3tc vJvd76+Xx0YuMFBT/Tg= X-Received: by 10.55.8.139 with SMTP id 133mr3395038qki.22.1501859336954; Fri, 04 Aug 2017 08:08:56 -0700 (PDT) Received: from unused (nat-pool-bos-t.redhat.com. [66.187.233.206]) by smtp.googlemail.com with ESMTPSA id l35sm1219427qta.86.2017.08.04.08.08.52 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 04 Aug 2017 08:08:52 -0700 (PDT) Message-ID: <1501859332.21748.23.camel@gmail.com> Subject: Re: Component Extensions From: Tomohisa Igarashi To: dev@camel.apache.org Date: Fri, 04 Aug 2017 11:08:52 -0400 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.24.4 (3.24.4-1.fc26) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit archived-at: Fri, 04 Aug 2017 15:09:14 -0000 +1 looks promising for data type metadata as well! It'll need something similar for DataFormat so it can hold type metadata as well as components, but it can be addressed separately. Thanks, Tomo On Fri, 2017-08-04 at 14:13 +0200, Claus Ibsen wrote: > On Fri, Aug 4, 2017 at 2:09 PM, Luca Burgazzoli m> wrote: > > Would be nice to make @Metadata repeatable so we can better express > > multiple concepts like: > > > > @Metadata(label = "extensions", types = { A.class, B.class, ...}) > > @Metadata(label = "cloud,saas") > > class MyComponent extends DefaultComponent { > > } > > > > Yeah that seems like a good idea, as having only 1 @Metadata for all > sort of generic stuff and what we may add in the future, can easily > clutter it up. > > > > > > > --- > > Luca Burgazzoli > > > > > > On Fri, Aug 4, 2017 at 1:35 PM, Claus Ibsen > > wrote: > > > Hey Luca > > > > > > Just took a bit of look, especially the first commit about the > > > changes > > > involving camel-core. > > > > > > I really like this, great work, its more cleaner and the code is > > > separated into that component.extension package. > > > > > > +1 > > > > > > Down the road we should have the some metadata on @Metadata or > > > something so we can harvest this via the camel apt compiler > > > plugin and > > > generate in the json metadata file which extensions a component > > > provides, so tooling can be aware of this. We can then have a > > > list of > > > known extensions such as the verifier, and metadata etc. > > > > > > > > > > > > On Fri, Aug 4, 2017 at 11:50 AM, Luca Burgazzoli > > il.com> wrote: > > > > Hello, > > > > > > > > I've recently been working on CAMEL-11550 [1] aimed to > > > > introduce the > > > > concept of "Component Extensions" which are functionalities not > > > > directly > > > > targeting Camel runtime but that can provide some useful stuffs > > > > as > > > > example for tooling. > > > > > > > > You can find the implementation on my camel fork [2] which > > > > include: > > > > > > > > - Core API for ComponentExtensions > > > > - Refactor of the ComponentVerifier to be exposed as extension > > > > and > > > > deprecation of the old VerifiableComponent > > > > - Creation of a MetaDataExtension for ServivceNow aimed to > > > > retrieve > > > > a Json Schema definition for the ServiceNow objects > > > > - Creation of a maven plugin to generate POJOs for the > > > > ServiceNow > > > > objects leveraging the MetaDataExtension > > > > > > > > As this new "Component Extension" concept has some minor > > > > impacts on > > > > camel-core I'd like to have your opinion before merging it. > > > > > > > > > > > > Regards, > > > > Luca > > > > > > > > > > > > [1] https://issues.apache.org/jira/browse/CAMEL-11550 > > > > [2] https://github.com/lburgazzoli/apache-camel/tree/component- > > > > extensions > > > > > > > > > > > > --- > > > > Luca Burgazzoli > > > > > > > > > > > > -- > > > Claus Ibsen > > > ----------------- > > > http://davsclaus.com @davsclaus > > > Camel in Action 2: https://www.manning.com/ibsen2 > > >