Return-Path: X-Original-To: apmail-camel-dev-archive@www.apache.org Delivered-To: apmail-camel-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 98883EFF9 for ; Thu, 21 Feb 2013 13:21:23 +0000 (UTC) Received: (qmail 51660 invoked by uid 500); 21 Feb 2013 13:21:23 -0000 Delivered-To: apmail-camel-dev-archive@camel.apache.org Received: (qmail 51602 invoked by uid 500); 21 Feb 2013 13:21:23 -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 51569 invoked by uid 99); 21 Feb 2013 13:21:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Feb 2013 13:21:22 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of willem.jiang@gmail.com designates 209.85.210.52 as permitted sender) Received: from [209.85.210.52] (HELO mail-da0-f52.google.com) (209.85.210.52) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Feb 2013 13:21:16 +0000 Received: by mail-da0-f52.google.com with SMTP id f10so4065146dak.11 for ; Thu, 21 Feb 2013 05:20:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:date:from:to:message-id:in-reply-to:references:subject :x-mailer:mime-version:content-type:content-transfer-encoding :content-disposition; bh=hzcCJh2DcPPRsiXIzMIzmd1vytjNIGeciGfib16qoZk=; b=Tc7PDNxtI278vY6ZGGwWW1Gz4RNLG50M1Lex3p61M+9VmqNpy+DXIRC1vh0ZWsbRT8 OWbejWTpTrQu1Nj7Yn48s0L5/gazRy7OJtJDX2t4n0R4UBe9Xm5gHBA0ECRvJ/QKdRyU oZeiJhLYO7FkXIJwTYOkszFij1MrGRpHH6WlYeFz2Tb5qZe3Vw4effI46db2B7jIqwkk prtGegy93ICdhaTup5coH48AZwe+LRnL2c5nTB6Qgu+Y2d62PAuu0o/JoOxPC+3kNdqg 4kGJvEAKEBd3w047plZSd+p4MLtPpmIsSlnTmLpTI9gdhkC6GtnmvjPtJj0WvnurhsgV psmQ== X-Received: by 10.68.83.68 with SMTP id o4mr54725283pby.42.1361452854559; Thu, 21 Feb 2013 05:20:54 -0800 (PST) Received: from [192.168.1.135] ([123.116.37.164]) by mx.google.com with ESMTPS id tp2sm25339581pbc.12.2013.02.21.05.20.52 (version=TLSv1 cipher=RC4-SHA bits=128/128); Thu, 21 Feb 2013 05:20:53 -0800 (PST) Date: Thu, 21 Feb 2013 21:20:49 +0800 From: Willem jiang To: dev@camel.apache.org Message-ID: <066312568616451ABA8AB711B82650F3@gmail.com> In-Reply-To: References: <51258B1E.2010609@gmail.com> <5DCEE02588EF41A5A4F66AF925885DF9@gmail.com> <78A42CED-4948-4268-87B3-4BC6D98EE864@code-house.org> Subject: Re: [DISCUSS CAMEL 3.0] weekly IRC chat at 02/12/2013 7:00PM - 8:00PM CET X-Mailer: sparrow 1.6.4 (build 1176) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Virus-Checked: Checked by ClamAV on apache.org I think the namespace handler are both supported in Spring and Blueprint,= we can leverage that to decouple the extended DSL DataModel and Camel co= re. One tricky thing is we need to find a way to publish the schemas for the = extended DSL which could be used for validation. =20 -- =20 Willem Jiang Red Hat, Inc. =46useSource is now part of Red Hat Web: http://www.fusesource.com =7C http://www.redhat.com Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) = (English) http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang =20 Weibo: =E5=A7=9C=E5=AE=81willem On Thursday, =46ebruary 21, 2013 at 7:35 PM, Henryk Konsek wrote: > > Most popular camel syntaxes do not support extensions by 3rd party el= ements (I mean Java and XML). > > Everything then goes directly to core. > =20 > =20 > =20 > Extending Scala DSL is trivial as Scala provides traits and implicit > conversions. > =20 > =20 > As i mentioned already in Java is doable if we deprecate chained > builder syntax like... > =20 > from(...).marshal().xstream().to(...) > =20 > ... in the favor of nested builders and static imports... > =20 > import static org.apache.camel.dataformat.XStreamDslBuilder.*; > from(...).marshal(xstream()).to(...); > =20 > ...and parametrized Data=46ormatDefinition (with static imports for > syntactic sugar)... > =20 > import static org.apache.camel.dataformat.XStreamDslBuilder.xstream; > from(...).marshal(xstream).setXStream(...).to(...); > =20 > =20 > The bigger issue is the XML DSL syntax. Maybe additional namespace per > component will solve the issue=3F But I'm not so sure if this approach > will address our requirements. > =20 > > Camel core should be separated from DSL. > > DSL should be built on top of core, not otherwise. > =20 > =20 > =20 > +1 > =20 > -- > Henryk Konsek > http://henryk-konsek.blogspot.com