Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 80015 invoked from network); 21 Aug 2005 16:05:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 Aug 2005 16:05:08 -0000 Received: (qmail 65468 invoked by uid 500); 21 Aug 2005 16:05:05 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 65454 invoked by uid 500); 21 Aug 2005 16:05:05 -0000 Mailing-List: contact axis-dev-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-dev@ws.apache.org Received: (qmail 65441 invoked by uid 99); 21 Aug 2005 16:05:05 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 21 Aug 2005 09:05:05 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=RCVD_BY_IP,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of robertburrelldonkin@gmail.com designates 64.233.184.203 as permitted sender) Received: from [64.233.184.203] (HELO wproxy.gmail.com) (64.233.184.203) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 21 Aug 2005 09:05:23 -0700 Received: by wproxy.gmail.com with SMTP id i24so772947wra for ; Sun, 21 Aug 2005 09:05:03 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=bq7D7llhA6ShaUYbeFM5QRcJsgg4FKzGkf5uVJ9+1pIkY5e3eDN0oTu36pi2oNwtnvFfskK/uFgl03bctTET7Su0xscdPqL1NdgpoOW1BO7uXn2SGOn8OcZ5U/9p77IX2RvyL31qFldTRoVDr+lg2RHfGpIkal2atj1ueEYP7KU= Received: by 10.54.24.13 with SMTP id 13mr1063480wrx; Sun, 21 Aug 2005 09:05:03 -0700 (PDT) Received: by 10.54.41.65 with HTTP; Sun, 21 Aug 2005 09:05:03 -0700 (PDT) Message-ID: Date: Sun, 21 Aug 2005 17:05:03 +0100 From: robert burrell donkin To: axis-dev@ws.apache.org Subject: Re: [Axis2] Better Java-XML mapping In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <43050A34.4080303@sosnoski.com> <430556F3.3060905@envoisolutions.com> <43056E34.6070003@sosnoski.com> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N On 8/21/05, robert burrell donkin wrote: > On 8/19/05, Dennis Sosnoski wrote: > > Dan Diephouse wrote: > > > How do we map between them, even when there is very little correlatio= n > > > betwen java and schema. Each one is pretty important I think. > > > > > > I see something a bit different then Dennis. (now where is my virtual > > > white board....) On the left pane I would see a structural > > > representation of the schema portions. In the middle is a place to > > > apply "actions" to a chunk of schema. On the right I would see a list > > > of actions. Actions would be "create object," "set property," or even > > > "run this piece of java code (via janino, groovy or the like)". >=20 > +1 >=20 > definitely a fourth generation feature :) >=20 > this is similar to the achitecture used by the second (refactored) > betwixt engine. i suspect that JIBX also uses something similar > (though probably uses different terms). with beans, you reach a stage > where scripting becomes important. (betwixt doesn't do any of that but > the structure's there.) the problem is that for this to be useful > requires good tools. >=20 > i didn't see the connection before but this needs to be a core > feature. IMHO this power would need to be pluggable so that a useful > core toolset (probably bean and field centric if we start from what > JIBX and betwixt have now) could be created quickly. >=20 > > > Say I have a schema like so: > > > > > > > > > > > > > > > > > > > > > > > > I'd see this on the left (with the option to view the schema source) > > > + book > > > |- author > > > |- title > > > > > > When I selected book I would see the middle pane pop up with differen= t > > > events like "on start of tag", "on end of tag", or on body. I'd be > > > able to drag in different actions from the right to certain events an= d > > > customize them. So on book I'd drag in "create object" and specify th= e > > > "Book" object. On the author element I'd want to do a set property. I= t > > > would also be intelligent enough create a mapping for a POJO > > > automatically if it can. > > > > I like that idea a lot! >=20 > +1 interesting idea: start-from-schema but reusing start-from-java binding too= ls.=20 we'd still want the kind of classic start-from-java builder outlined by dennis, though. one of the wrinkles is being able to recreate complex object graphs. the value to set on the property needs to wired up somehow. be harder to guess well than the start-from-java case, though. due to the complexity of the possible constructions available to schema writers, probably the user would need to specify most of the mappings manually. - robert