From graffito-dev-return-790-apmail-incubator-graffito-dev-archive=www.apache.org@incubator.apache.org Mon Jan 02 02:12:28 2006 Return-Path: Delivered-To: apmail-incubator-graffito-dev-archive@www.apache.org Received: (qmail 27602 invoked from network); 2 Jan 2006 02:12:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 2 Jan 2006 02:12:28 -0000 Received: (qmail 22256 invoked by uid 500); 2 Jan 2006 02:12:25 -0000 Mailing-List: contact graffito-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: graffito-dev@incubator.apache.org Delivered-To: mailing list graffito-dev@incubator.apache.org Received: (qmail 22236 invoked by uid 99); 2 Jan 2006 02:12:24 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 01 Jan 2006 18:12:24 -0800 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=INFO_TLD,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: 193.19.192.5 is neither permitted nor denied by domain of the.mindstorm.mailinglist@gmail.com) Received: from [193.19.192.5] (HELO mail.evolva.ro) (193.19.192.5) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 01 Jan 2006 18:12:23 -0800 Received: (qmail 43054 invoked by uid 89); 2 Jan 2006 02:12:00 -0000 Received: from unknown (HELO ?192.168.62.51?) (alexandru.popescu@evolva.ro@86.55.40.139) by mail.evolva.ro with AES256-SHA encrypted SMTP; 2 Jan 2006 02:12:00 -0000 Message-ID: <43B88BB3.4080607@gmail.com> Date: Mon, 02 Jan 2006 04:10:59 +0200 From: Alexandru Popescu User-Agent: Thunderbird 1.5 (Windows/20051201) MIME-Version: 1.0 To: devGraffito Subject: JCR Mapping enhancement request(s) Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Hi! This is my first mail to this list and I would like to wish everybody here a Happy New Year! I have started to try using Graffito JCR Mapping into the project I am working now. I've been investigating the code so far and I would like to ask you about the possibility of adding a few enhancements. 1/ new attribute in the mapping DTD. I would like to have an additional fieldType=fully_qualified_class_name in field-descriptor and also bean-descriptor. This would bring 2 benefits: i/ the possibility to generate a source class from the mapping ii/ the possibility to remove an inspection step (f.e. in ObjectConverterImpl). If you agree with this I can provide the needed patch quite immediately :-). 2/ AtomicTypeConverters The atomic type converters are dependent on a ValueFactory which can be retrieved from the current Session. I would like to ask if it is possible to add a setValueFactory(ValueFactory) to the AtomicTypeConvert interface and make all the default implementors have both a no-arg constructor and the current one. This will allow an easy creation of converters (((AtomicTypeConverter) converterClass.newInstance()).setValueFactory() instead of the longer version using the actual constructor). Once again if you agree with this change I can provide the needed patch quite immediately. 3/ Reflective access Another thing that I am looking for (but not so urgent) would be to optimize the reflective access, by caching some of the information (so that the beanutils are not used every time). Currently the reflection performance is quite good, and I don't expect to see a big impact on this, but considering large sets of objects the impact may be important. cheers, ./alex -- .w( the_mindstorm )p. ======================================================= Me : Alexandru Popescu Contact : the_mindstorm[at]evolva[dot]ro ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Projects: TestNG [co-author]: http://testng.org Magnolia [committer]: http://www.magnolia.info WebWork [committer]: http://opensymphony.com/webwork =======================================================