You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2011/04/10 03:54:59 UTC

svn commit: r1090734 - in /tapestry/tapestry5/trunk: tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/

Author: hlship
Date: Sun Apr 10 01:54:59 2011
New Revision: 1090734

URL: http://svn.apache.org/viewvc?rev=1090734&view=rev
Log:
TAP5-853: Add a parameter to createProxy() to specify a class form which to draw class, method, and annotation parameters

Modified:
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ApplicationMessageCatalogObjectProvider.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PlasticProxyFactoryImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PlasticProxyFactory.java

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ApplicationMessageCatalogObjectProvider.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ApplicationMessageCatalogObjectProvider.java?rev=1090734&r1=1090733&r2=1090734&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ApplicationMessageCatalogObjectProvider.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ApplicationMessageCatalogObjectProvider.java Sun Apr 10 01:54:59 2011
@@ -89,7 +89,7 @@ public class ApplicationMessageCatalogOb
                     PlasticProxyFactory.class);
 
             proxy = proxyFactory.createProxy(Messages.class, new ApplicationMessagesObjectCreator(),
-                    "<ApplicationMessagesProxy>");
+                    null, "<ApplicationMessagesProxy>");
 
             // Listen for invalidations; clear our cache of localized Messages bundles when
             // and invalidation occurs.

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PlasticProxyFactoryImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PlasticProxyFactoryImpl.java?rev=1090734&r1=1090733&r2=1090734&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PlasticProxyFactoryImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PlasticProxyFactoryImpl.java Sun Apr 10 01:54:59 2011
@@ -41,7 +41,8 @@ public class PlasticProxyFactoryImpl imp
         return manager.createProxyTransformation(interfaceType);
     }
 
-    public <T> T createProxy(final Class<T> interfaceType, final ObjectCreator<T> creator, final String description)
+    public <T> T createProxy(final Class<T> interfaceType, final ObjectCreator<T> creator,
+            final Class<? extends T> annotationSource, final String description)
     {
         assert creator != null;
         assert InternalUtils.isNonBlank(description);
@@ -73,7 +74,8 @@ public class PlasticProxyFactoryImpl imp
 
                 plasticClass.addToString(description);
 
-                // TODO: Copy annotations from delegate?
+                if (annotationSource != null)
+                    plasticClass.copyAnnotations(annotationSource);
             }
         });
 

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PlasticProxyFactory.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PlasticProxyFactory.java?rev=1090734&r1=1090733&r2=1090734&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PlasticProxyFactory.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PlasticProxyFactory.java Sun Apr 10 01:54:59 2011
@@ -67,9 +67,12 @@ public interface PlasticProxyFactory
      *            interface class for proxy
      * @param creator
      *            object responsible for creating the real object
+     * @param annotationSource
+     *            if non-null, the class from which annotations should be copied
      * @param description
      *            the <code>toString()</code> of the proxy
      * @return proxy instance
      */
-    <T> T createProxy(Class<T> interfaceType, ObjectCreator<T> creator, String description);
+    <T> T createProxy(Class<T> interfaceType, ObjectCreator<T> creator, Class<? extends T> annotationSource,
+            String description);
 }