Return-Path: Delivered-To: apmail-labs-commits-archive@minotaur.apache.org Received: (qmail 90002 invoked from network); 2 Feb 2009 01:38:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 2 Feb 2009 01:38:31 -0000 Received: (qmail 50942 invoked by uid 500); 2 Feb 2009 01:38:31 -0000 Delivered-To: apmail-labs-commits-archive@labs.apache.org Received: (qmail 50811 invoked by uid 500); 2 Feb 2009 01:38:31 -0000 Mailing-List: contact commits-help@labs.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: labs@labs.apache.org Delivered-To: mailing list commits@labs.apache.org Received: (qmail 50802 invoked by uid 99); 2 Feb 2009 01:38:31 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 01 Feb 2009 17:38:31 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 02 Feb 2009 01:38:28 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C28A22388970; Mon, 2 Feb 2009 01:38:07 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r739900 - in /labs/magma/trunk/website-velocity/src: main/java/org/apache/magma/website/velocity/ test/java/org/apache/magma/website/velocity/ test/resources/org/apache/magma/website/velocity/ Date: Mon, 02 Feb 2009 01:38:07 -0000 To: commits@labs.apache.org From: simoneg@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090202013807.C28A22388970@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: simoneg Date: Mon Feb 2 01:38:07 2009 New Revision: 739900 URL: http://svn.apache.org/viewvc?rev=739900&view=rev Log: LABS-288 : better interception of method to avoid converting intermendiate values of expressions Added: labs/magma/trunk/website-velocity/src/test/resources/org/apache/magma/website/velocity/testNested.vm Modified: labs/magma/trunk/website-velocity/src/main/java/org/apache/magma/website/velocity/FormatFields.aj labs/magma/trunk/website-velocity/src/test/java/org/apache/magma/website/velocity/FakeBean.java labs/magma/trunk/website-velocity/src/test/java/org/apache/magma/website/velocity/TestGettersFormatting.java Modified: labs/magma/trunk/website-velocity/src/main/java/org/apache/magma/website/velocity/FormatFields.aj URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-velocity/src/main/java/org/apache/magma/website/velocity/FormatFields.aj?rev=739900&r1=739899&r2=739900&view=diff ============================================================================== --- labs/magma/trunk/website-velocity/src/main/java/org/apache/magma/website/velocity/FormatFields.aj (original) +++ labs/magma/trunk/website-velocity/src/main/java/org/apache/magma/website/velocity/FormatFields.aj Mon Feb 2 01:38:07 2009 @@ -18,11 +18,13 @@ && cflow(rendering()) && this(bean); + private Object ret = null; private String doreturn = null; after (MagmaBeanSupport bean) returning (Object val): calledForRendering(bean) { BeanData beanData = bean.beanData(); PropertyInfo property = beanData.findProperty(((MethodSignature)thisJoinPointStaticPart.getSignature()).getMethod()); + ret = val; if (property == null) { return; } @@ -36,9 +38,10 @@ doreturn = property.toUser(val); } - Object around() : resolving() { - Object unfiltered = proceed(); - if (doreturn != null) return doreturn; + Object around(Object acval) : call(* Object+.toString()) && withincode(* ASTReference.render(..)) && + target(acval) { + Object unfiltered = proceed(acval); + if (acval == ret && doreturn != null) return doreturn; return unfiltered; } Modified: labs/magma/trunk/website-velocity/src/test/java/org/apache/magma/website/velocity/FakeBean.java URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-velocity/src/test/java/org/apache/magma/website/velocity/FakeBean.java?rev=739900&r1=739899&r2=739900&view=diff ============================================================================== --- labs/magma/trunk/website-velocity/src/test/java/org/apache/magma/website/velocity/FakeBean.java (original) +++ labs/magma/trunk/website-velocity/src/test/java/org/apache/magma/website/velocity/FakeBean.java Mon Feb 2 01:38:07 2009 @@ -27,4 +27,7 @@ this.string = string; } + public FakeBean getMe() { + return this; + } } Modified: labs/magma/trunk/website-velocity/src/test/java/org/apache/magma/website/velocity/TestGettersFormatting.java URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-velocity/src/test/java/org/apache/magma/website/velocity/TestGettersFormatting.java?rev=739900&r1=739899&r2=739900&view=diff ============================================================================== --- labs/magma/trunk/website-velocity/src/test/java/org/apache/magma/website/velocity/TestGettersFormatting.java (original) +++ labs/magma/trunk/website-velocity/src/test/java/org/apache/magma/website/velocity/TestGettersFormatting.java Mon Feb 2 01:38:07 2009 @@ -39,5 +39,18 @@ assertEquals("this is <b>bold</b>", str.trim()); } + @Test + public void nested() throws Exception { + FakeBean fb = new FakeBean(); + fb.setString("this is bold"); + VelocityHtmlProducer prod = new VelocityHtmlProducer("testNested.vm"); + prod.addParameter("bean", fb); + prod.setCreatingHandler(this); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + prod.produce(baos); + String str = new String(baos.toByteArray(), "UTF-8"); + assertEquals("this is <b>bold</b>", str.trim()); + } + } Added: labs/magma/trunk/website-velocity/src/test/resources/org/apache/magma/website/velocity/testNested.vm URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-velocity/src/test/resources/org/apache/magma/website/velocity/testNested.vm?rev=739900&view=auto ============================================================================== --- labs/magma/trunk/website-velocity/src/test/resources/org/apache/magma/website/velocity/testNested.vm (added) +++ labs/magma/trunk/website-velocity/src/test/resources/org/apache/magma/website/velocity/testNested.vm Mon Feb 2 01:38:07 2009 @@ -0,0 +1 @@ +$bean.me.string \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org For additional commands, e-mail: commits-help@labs.apache.org