You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2007/08/16 00:00:24 UTC

svn commit: r566354 - in /tapestry/tapestry4/trunk/tapestry-framework/src: java/org/apache/tapestry/enhance/ java/org/apache/tapestry/services/impl/ test/org/apache/tapestry/enhance/

Author: jkuhnert
Date: Wed Aug 15 15:00:22 2007
New Revision: 566354

URL: http://svn.apache.org/viewvc?view=rev&rev=566354
Log:
Fixes incompatible change that ~I~ made to InjectWOrker. .... Easily fixed by adding a getter for IComponentSpecification.  (which could probably be removed from the majority of worker interfaces, if it weren't too late )

Modified:
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/DispatchToInjectWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/EnhancementOperation.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/EnhancementOperationImpl.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectEnhancementWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectMetaWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectObjectWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectPageWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectScriptWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectStateFlagWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectStateWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/ComponentConstructorFactoryImpl.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/InjectStateFlagWorkerTest.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestDispatchToInjectWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectMetaWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectObjectWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectPageWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectScriptWorker.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectStateWorker.java

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/DispatchToInjectWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/DispatchToInjectWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/DispatchToInjectWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/DispatchToInjectWorker.java Wed Aug 15 15:00:22 2007
@@ -24,7 +24,7 @@
 /**
  * Iterates over the {@link org.apache.tapestry.spec.InjectSpecification}s and locates and
  * delegates to a {@link org.apache.tapestry.enhance.InjectEnhancementWorker} for each one.
- * 
+ *
  * @author Howard M. Lewis Ship
  * @since 4.0
  */
@@ -42,11 +42,11 @@
         {
             InjectSpecification is = (InjectSpecification) i.next();
 
-            invokeWorker(op, is, spec);
+            invokeWorker(op, is);
         }
     }
 
-    private void invokeWorker(EnhancementOperation op, InjectSpecification spec, IComponentSpecification componentSpec)
+    private void invokeWorker(EnhancementOperation op, InjectSpecification spec)
     {
         try
         {
@@ -58,12 +58,12 @@
                 return;
             }
 
-            worker.performEnhancement(op, spec, componentSpec);
+            worker.performEnhancement(op, spec);
         }
         catch (Exception ex)
         {
-            _errorLog.error(EnhanceMessages.errorAddingProperty(spec.getProperty(), op.getBaseClass(), ex), 
-                    spec.getLocation(), ex);
+            _errorLog.error(EnhanceMessages.errorAddingProperty(spec.getProperty(), op.getBaseClass(), ex),
+                            spec.getLocation(), ex);
         }
     }
 

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/EnhancementOperation.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/EnhancementOperation.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/EnhancementOperation.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/EnhancementOperation.java Wed Aug 15 15:00:22 2007
@@ -16,6 +16,7 @@
 
 import org.apache.hivemind.Location;
 import org.apache.hivemind.service.MethodSignature;
+import org.apache.tapestry.spec.IComponentSpecification;
 
 import java.util.List;
 
@@ -212,4 +213,11 @@
      */
 
     boolean implementsInterface(Class interfaceClass);
+
+    /**
+     * The specification defined for the component class being enhanced.
+     *
+     * @return The specification for the component being enhanced.
+     */
+    IComponentSpecification getSpecification();
 }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/EnhancementOperationImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/EnhancementOperationImpl.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/EnhancementOperationImpl.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/EnhancementOperationImpl.java Wed Aug 15 15:00:22 2007
@@ -44,14 +44,14 @@
  * knows how to collect class changes from enhancements. The method
  * {@link #getConstructor()} finalizes the enhancement into a
  * {@link org.apache.tapestry.services.ComponentConstructor}.
- * 
+ *
  * @author Howard M. Lewis Ship
  * @since 4.0
  */
 public class EnhancementOperationImpl implements EnhancementOperation
 {
     static int _uid = 0;
-    
+
     private ClassResolver _resolver;
 
     private IComponentSpecification _specification;
@@ -122,10 +122,10 @@
     {
         _log = null;
     }
-    
+
     public EnhancementOperationImpl(ClassResolver classResolver,
-            IComponentSpecification specification, Class baseClass,
-            ClassFactory classFactory, Log log)
+                                    IComponentSpecification specification, Class baseClass,
+                                    ClassFactory classFactory, Log log)
     {
         Defense.notNull(classResolver, "classResolver");
         Defense.notNull(specification, "specification");
@@ -182,7 +182,7 @@
     }
 
     private void addPropertiesDeclaredInBaseClass()
-        throws IntrospectionException
+      throws IntrospectionException
     {
         Class introspectClass = _baseClass;
 
@@ -216,9 +216,9 @@
     }
 
     private void addPropertiesDeclaredInClass(Class introspectClass)
-        throws IntrospectionException
+      throws IntrospectionException
     {
-        
+
         BeanInfo bi = Introspector.getBeanInfo(introspectClass);
 
         PropertyDescriptor[] pds = bi.getPropertyDescriptors();
@@ -229,7 +229,7 @@
 
             String name = pd.getName();
 
-            if (!_properties.containsKey(name)) 
+            if (!_properties.containsKey(name))
                 _properties.put(name, pd);
         }
     }
@@ -243,29 +243,29 @@
 
         _claimedProperties.add(propertyName);
     }
-    
-    /** 
+
+    /**
      * {@inheritDoc}
      */
     public boolean canClaimAsReadOnlyProperty(String propertyName)
     {
-        if(_claimedProperties.contains(propertyName)) 
+        if(_claimedProperties.contains(propertyName))
             return false;
-        
+
         PropertyDescriptor pd = getPropertyDescriptor(propertyName);
-        
-        if (pd == null) 
+
+        if (pd == null)
             return false;
-        
+
         return pd.getWriteMethod() == null ? true : false;
     }
 
     public void claimReadonlyProperty(String propertyName)
     {
         claimProperty(propertyName);
-        
+
         PropertyDescriptor pd = getPropertyDescriptor(propertyName);
-        
+
         if (pd != null && pd.getWriteMethod() != null)
             throw new ApplicationRuntimeException(EnhanceMessages.readonlyProperty(propertyName, pd.getWriteMethod()));
     }
@@ -285,7 +285,7 @@
 
         // See if this object has been previously added.
 
-        if (existing != null) 
+        if (existing != null)
             return existing;
 
         // TODO: Should be ensure that the name is unique?
@@ -345,17 +345,17 @@
 
         PropertyDescriptor pd = getPropertyDescriptor(name);
 
-        if (pd == null) 
+        if (pd == null)
             return;
 
         Class propertyType = pd.getPropertyType();
 
-        if (propertyType.equals(expectedType)) 
+        if (propertyType.equals(expectedType))
             return;
 
         throw new ApplicationRuntimeException(EnhanceMessages.propertyTypeMismatch(_baseClass, name, propertyType, expectedType));
     }
-    
+
     PropertyDescriptor getPropertyDescriptor(String name)
     {
         return (PropertyDescriptor) _properties.get(name);
@@ -399,7 +399,7 @@
 
         String result = (String) _finalFields.get(clazz);
 
-        if (result == null) 
+        if (result == null)
             result = addClassReference(clazz);
 
         return result;
@@ -463,8 +463,7 @@
 
             Object[] params = _constructorArguments.toArray();
 
-            return new ComponentConstructorImpl(c, params,
-                    _classFab.toString(), _specification.getLocation());
+            return new ComponentConstructorImpl(c, params, _classFab.toString(), _specification.getLocation());
         }
         catch (Throwable t)
         {
@@ -479,13 +478,13 @@
         if (_constructorBuilder != null)
         {
             _constructorBuilder.end();
-            
+
             Class[] types = (Class[]) _constructorTypes.toArray(new Class[_constructorTypes.size()]);
-            
+
             _classFab.addConstructor(types, null, _constructorBuilder.toString());
         }
 
-        if (_log != null && _log.isDebugEnabled()) 
+        if (_log != null && _log.isDebugEnabled())
             _log.debug("Creating class:\n\n" + _classFab);
     }
 
@@ -510,7 +509,7 @@
     private Constructor findConstructor()
     {
         Class componentClass = _classFab.createClass();
-        
+
         // The fabricated base class always has exactly one constructor
 
         return componentClass.getConstructors()[0];
@@ -542,7 +541,7 @@
 
     private void addInterfaceIfNeeded(Class interfaceClass)
     {
-        if (implementsInterface(interfaceClass)) 
+        if (implementsInterface(interfaceClass))
             return;
 
         _classFab.addInterface(interfaceClass);
@@ -551,7 +550,7 @@
 
     public boolean implementsInterface(Class interfaceClass)
     {
-        if (interfaceClass.isAssignableFrom(_baseClass)) 
+        if (interfaceClass.isAssignableFrom(_baseClass))
             return true;
 
         Iterator i = _addedInterfaces.iterator();
@@ -559,7 +558,7 @@
         {
             Class addedInterface = (Class) i.next();
 
-            if (interfaceClass.isAssignableFrom(addedInterface)) 
+            if (interfaceClass.isAssignableFrom(addedInterface))
                 return true;
         }
 
@@ -616,7 +615,7 @@
             try
             {
                 return c.getDeclaredMethod(sig.getName(), sig
-                        .getParameterTypes());
+                  .getParameterTypes());
             }
             catch (NoSuchMethodException ex)
             {
@@ -641,10 +640,10 @@
 
             String name = pd.getName();
 
-            if (_claimedProperties.contains(name)) 
+            if (_claimedProperties.contains(name))
                 continue;
 
-            if (isAbstractProperty(pd)) 
+            if (isAbstractProperty(pd))
                 result.add(name);
         }
 
@@ -660,11 +659,16 @@
     private boolean isAbstractProperty(PropertyDescriptor pd)
     {
         return isExistingAbstractMethod(pd.getReadMethod())
-                || isExistingAbstractMethod(pd.getWriteMethod());
+               || isExistingAbstractMethod(pd.getWriteMethod());
     }
 
     private boolean isExistingAbstractMethod(Method m)
     {
         return m != null && Modifier.isAbstract(m.getModifiers());
+    }
+
+    public IComponentSpecification getSpecification()
+    {
+        return _specification;
     }
 }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectEnhancementWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectEnhancementWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectEnhancementWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectEnhancementWorker.java Wed Aug 15 15:00:22 2007
@@ -14,7 +14,6 @@
 
 package org.apache.tapestry.enhance;
 
-import org.apache.tapestry.spec.IComponentSpecification;
 import org.apache.tapestry.spec.InjectSpecification;
 
 /**
@@ -39,10 +38,8 @@
      * @param op
      *          Current enhancement context.
      * @param spec
- *              The injection specificiation configuration.
-     * @param componentSpec
-     *          The component injection is for.
+*              The injection specificiation configuration.
      */
-    void performEnhancement(EnhancementOperation op, InjectSpecification spec, IComponentSpecification componentSpec);
+    void performEnhancement(EnhancementOperation op, InjectSpecification spec);
 
 }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectMetaWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectMetaWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectMetaWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectMetaWorker.java Wed Aug 15 15:00:22 2007
@@ -21,7 +21,6 @@
 import org.apache.hivemind.util.Defense;
 import org.apache.tapestry.coerce.ValueConverter;
 import org.apache.tapestry.services.ComponentPropertySource;
-import org.apache.tapestry.spec.IComponentSpecification;
 import org.apache.tapestry.spec.InjectSpecification;
 
 import java.lang.reflect.Modifier;
@@ -32,7 +31,7 @@
  * Injects meta data obtained via {@link org.apache.tapestry.services.ComponentPropertySource}
  * (meaning that meta-data is searched for in the component's specification, then it's namespace
  * (library or application specification), then the global application properties.
- * 
+ *
  * @author Howard M. Lewis Ship
  * @since 4.0
  */
@@ -43,7 +42,7 @@
     private ComponentPropertySource _source;
 
     private ValueConverter _valueConverter;
-    
+
     private Map _primitiveParser = new HashMap();
     {
         _primitiveParser.put(short.class, "java.lang.Short.parseShort");
@@ -53,7 +52,7 @@
         _primitiveParser.put(float.class, "java.lang.Float.parseFloat");
     }
 
-    public void performEnhancement(EnhancementOperation op, InjectSpecification spec, IComponentSpecification componentSpec)
+    public void performEnhancement(EnhancementOperation op, InjectSpecification spec)
     {
         String propertyName = spec.getProperty();
         String metaKey = spec.getObject();
@@ -62,21 +61,21 @@
     }
 
     public void injectMetaValue(EnhancementOperation op, String propertyName, String metaKey,
-            Location location)
+                                Location location)
     {
         Defense.notNull(op, "op");
         Defense.notNull(propertyName, "propertyName");
         Defense.notNull(metaKey, "metaKey");
 
         Class propertyType = op.getPropertyType(propertyName);
-        
+
         // Default to object if not specified
-        
+
         if (propertyType == null) {
-            
+
             propertyType = Object.class;
         }
-        
+
         op.claimReadonlyProperty(propertyName);
 
         String sourceName = op.addInjectedField(SOURCE_NAME, ComponentPropertySource.class, _source);
@@ -89,12 +88,12 @@
         {
             addPrimitive(op, metaKey, propertyName, sig, sourceName, parser, location);
             return;
-        } else if (propertyType == boolean.class) 
+        } else if (propertyType == boolean.class)
         {
             addBoolean(op, metaKey, propertyName, sig, sourceName, location);
             return;
         }
-        
+
         if (propertyType == char.class)
         {
             addCharacterPrimitive(op, metaKey, propertyName, sig, sourceName, location);
@@ -105,44 +104,43 @@
     }
 
     private void addPrimitive(EnhancementOperation op, String metaKey, String propertyName,
-            MethodSignature sig, String sourceName, String parser, Location location)
+                              MethodSignature sig, String sourceName, String parser, Location location)
     {
         BodyBuilder builder = new BodyBuilder();
         builder.begin();
-        builder.addln(
-                "java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");",
-                sourceName,
-                metaKey);
+        builder.addln("java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");",
+                      sourceName,
+                      metaKey);
         builder.addln("return {0}(meta);", parser);
         builder.end();
 
         op.addMethod(Modifier.PUBLIC, sig, builder.toString(), location);
     }
-    
+
     private void addBoolean(EnhancementOperation op, String metaKey, String propertyName,
-            MethodSignature sig, String sourceName, Location location)
+                            MethodSignature sig, String sourceName, Location location)
     {
         BodyBuilder builder = new BodyBuilder();
         builder.begin();
         builder.addln(
-                "java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");",
-                sourceName,
-                metaKey);
+          "java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");",
+          sourceName,
+          metaKey);
         builder.addln("return java.lang.Boolean.valueOf(meta).booleanValue();");
         builder.end();
-        
+
         op.addMethod(Modifier.PUBLIC, sig, builder.toString(), location);
     }
-    
+
     private void addCharacterPrimitive(EnhancementOperation op, String metaKey,
-            String propertyName, MethodSignature sig, String sourceName, Location location)
+                                       String propertyName, MethodSignature sig, String sourceName, Location location)
     {
         BodyBuilder builder = new BodyBuilder();
         builder.begin();
         builder.addln(
-                "java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");",
-                sourceName,
-                metaKey);
+          "java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");",
+          sourceName,
+          metaKey);
         builder.addln("return meta.charAt(0);");
         builder.end();
 
@@ -150,21 +148,21 @@
     }
 
     private void addObject(EnhancementOperation op, String metaKey, String propertyName,
-            Class propertyType, MethodSignature sig, String sourceName, Location location)
+                           Class propertyType, MethodSignature sig, String sourceName, Location location)
     {
         String valueConverterName = op.addInjectedField("_$valueConverter", ValueConverter.class, _valueConverter);
-        
+
         String classRef = op.getClassReference(propertyType);
-        
+
         BodyBuilder builder = new BodyBuilder();
         builder.begin();
         builder.addln("java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");",
-                sourceName,
-                metaKey);
+                      sourceName,
+                      metaKey);
         builder.addln("return ({0}) {1}.coerceValue(meta, {2});", ClassFabUtils
-                .getJavaClassName(propertyType), valueConverterName, classRef);
+          .getJavaClassName(propertyType), valueConverterName, classRef);
         builder.end();
-        
+
         op.addMethod(Modifier.PUBLIC, sig, builder.toString(), location);
     }
 

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectObjectWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectObjectWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectObjectWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectObjectWorker.java Wed Aug 15 15:00:22 2007
@@ -19,7 +19,6 @@
 import org.apache.hivemind.service.MethodSignature;
 import org.apache.hivemind.util.Defense;
 import org.apache.tapestry.services.InjectedValueProvider;
-import org.apache.tapestry.spec.IComponentSpecification;
 import org.apache.tapestry.spec.InjectSpecification;
 
 import java.lang.reflect.Modifier;
@@ -27,7 +26,7 @@
 /**
  * Implementation for injection type "object" (the default). Adds read-only
  * properties to the enhanced class that contain objects injected from HiveMind.
- * 
+ *
  * @author Howard M. Lewis Ship
  * @since 4.0
  */
@@ -36,8 +35,7 @@
 
     private InjectedValueProvider _provider;
 
-    public void performEnhancement(EnhancementOperation op,
-                                   InjectSpecification is, IComponentSpecification componentSpec)
+    public void performEnhancement(EnhancementOperation op, InjectSpecification is)
     {
         String name = is.getProperty();
         String objectReference = is.getObject();
@@ -47,7 +45,7 @@
     }
 
     public void injectObject(EnhancementOperation op, String objectReference,
-            String propertyName, Location location)
+                             String propertyName, Location location)
     {
         Defense.notNull(op, "op");
         Defense.notNull(propertyName, "propertyName");
@@ -60,22 +58,22 @@
         op.claimReadonlyProperty(propertyName);
 
         Object injectedValue = _provider.obtainValue(objectReference, location);
-        
+
         if (injectedValue == null)
             throw new ApplicationRuntimeException(EnhanceMessages
-                    .locatedValueIsNull(objectReference), location, null);
-        
+              .locatedValueIsNull(objectReference), location, null);
+
         if (!propertyType.isInstance(injectedValue))
             throw new ApplicationRuntimeException(EnhanceMessages.incompatibleInjectType(objectReference, injectedValue, propertyType),
-                    location, null);
-        
+                                                  location, null);
+
         String fieldName = op.addInjectedField("_$" + propertyName,
-                propertyType, injectedValue);
-        
+                                               propertyType, injectedValue);
+
         String methodName = EnhanceUtils.createAccessorMethodName(propertyName);
 
         op.addMethod(Modifier.PUBLIC, new MethodSignature(propertyType,
-                methodName, null, null), "return " + fieldName + ";", location);
+                                                          methodName, null, null), "return " + fieldName + ";", location);
     }
 
     public void setProvider(InjectedValueProvider provider)

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectPageWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectPageWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectPageWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectPageWorker.java Wed Aug 15 15:00:22 2007
@@ -19,7 +19,6 @@
 import org.apache.hivemind.service.BodyBuilder;
 import org.apache.hivemind.service.MethodSignature;
 import org.apache.tapestry.IPage;
-import org.apache.tapestry.spec.IComponentSpecification;
 import org.apache.tapestry.spec.InjectSpecification;
 
 import java.lang.reflect.Modifier;
@@ -32,7 +31,7 @@
  */
 public class InjectPageWorker implements InjectEnhancementWorker
 {
-    public void performEnhancement(EnhancementOperation op, InjectSpecification spec, IComponentSpecification componentSpec)
+    public void performEnhancement(EnhancementOperation op, InjectSpecification spec)
     {
         performEnhancement(op, spec.getObject(), spec.getProperty(), spec.getLocation());
     }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectScriptWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectScriptWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectScriptWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectScriptWorker.java Wed Aug 15 15:00:22 2007
@@ -22,7 +22,6 @@
 import org.apache.tapestry.IScript;
 import org.apache.tapestry.asset.AssetSource;
 import org.apache.tapestry.engine.IScriptSource;
-import org.apache.tapestry.spec.IComponentSpecification;
 import org.apache.tapestry.spec.InjectSpecification;
 
 import java.lang.reflect.Modifier;
@@ -39,13 +38,13 @@
 
     private AssetSource _assetSource;
 
-    public void performEnhancement(EnhancementOperation op, InjectSpecification spec, IComponentSpecification componentSpec)
+    public void performEnhancement(EnhancementOperation op, InjectSpecification spec)
     {
         String propertyName = spec.getProperty();
         String scriptName = spec.getObject();
         Location location = spec.getLocation();
 
-        injectScript(op, propertyName, scriptName, location, componentSpec);
+        injectScript(op, propertyName, scriptName, location);
     }
 
     /**
@@ -60,12 +59,10 @@
      * @param location
      *            the location of the specification; primarily used as the base location for finding
      *            the script.
-     * @param componentSpec
-     *          Component specification.
      */
 
     public void injectScript(EnhancementOperation op, String propertyName,
-                             String scriptName, Location location, IComponentSpecification componentSpec)
+                             String scriptName, Location location)
     {
         Defense.notNull(op, "op");
         Defense.notNull(propertyName, "propertyName");
@@ -86,7 +83,7 @@
 
         if (resource.getResourceURL() == null)
         {
-            IAsset scriptAsset = _assetSource.findAsset(location.getResource(), componentSpec,
+            IAsset scriptAsset = _assetSource.findAsset(location.getResource(), op.getSpecification(),
                                                         scriptName, null, location);
 
             if (scriptAsset != null)

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectStateFlagWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectStateFlagWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectStateFlagWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectStateFlagWorker.java Wed Aug 15 15:00:22 2007
@@ -20,7 +20,6 @@
 import org.apache.hivemind.service.MethodSignature;
 import org.apache.hivemind.util.Defense;
 import org.apache.tapestry.engine.state.ApplicationStateManager;
-import org.apache.tapestry.spec.IComponentSpecification;
 import org.apache.tapestry.spec.InjectSpecification;
 
 import java.lang.reflect.Modifier;
@@ -37,7 +36,7 @@
 {
     private ApplicationStateManager _applicationStateManager;
 
-    public void performEnhancement(EnhancementOperation op, InjectSpecification spec, IComponentSpecification componentSpec)
+    public void performEnhancement(EnhancementOperation op, InjectSpecification spec)
     {
         injectStateFlag(op, spec.getObject(), spec.getProperty(), spec.getLocation());
     }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectStateWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectStateWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectStateWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/enhance/InjectStateWorker.java Wed Aug 15 15:00:22 2007
@@ -21,7 +21,6 @@
 import org.apache.hivemind.util.Defense;
 import org.apache.tapestry.engine.state.ApplicationStateManager;
 import org.apache.tapestry.event.PageDetachListener;
-import org.apache.tapestry.spec.IComponentSpecification;
 import org.apache.tapestry.spec.InjectSpecification;
 
 import java.lang.reflect.Modifier;
@@ -44,7 +43,7 @@
     private ApplicationStateManager _applicationStateManager;
 
     public void performEnhancement(EnhancementOperation op,
-                                   InjectSpecification spec, IComponentSpecification componentSpec)
+                                   InjectSpecification spec)
     {
         injectState(op, spec.getObject(), spec.getProperty(), spec.getLocation());
     }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/ComponentConstructorFactoryImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/ComponentConstructorFactoryImpl.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/ComponentConstructorFactoryImpl.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/ComponentConstructorFactoryImpl.java Wed Aug 15 15:00:22 2007
@@ -15,11 +15,6 @@
 package org.apache.tapestry.services.impl;
 
 import edu.emory.mathcs.backport.java.util.concurrent.locks.ReentrantLock;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
 import org.apache.commons.logging.Log;
 import org.apache.hivemind.ApplicationRuntimeException;
 import org.apache.hivemind.ClassResolver;
@@ -35,18 +30,22 @@
 import org.apache.tapestry.services.ComponentConstructorFactory;
 import org.apache.tapestry.spec.IComponentSpecification;
 
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * Implementation of the {@link org.apache.tapestry.services.ComponentConstructorFactory} service
  * interface.
- * 
+ *
  * @author Howard M. Lewis Ship
  * @since 4.0
  */
 public class ComponentConstructorFactoryImpl implements ComponentConstructorFactory,
-        ResetEventListener, ReportStatusListener
+                                                        ResetEventListener, ReportStatusListener
 {
     private final ReentrantLock _lock = new ReentrantLock();
-    
+
     private String _serviceId;
 
     private Log _log;
@@ -74,54 +73,53 @@
     public synchronized void reportStatus(ReportStatusEvent event)
     {
         event.title(_serviceId);
-        
+
         event.property("enhanced class count", _cachedConstructors.size());
         event.collection("enhanced classes", _cachedConstructors.keySet());
     }
 
     public ComponentConstructor getComponentConstructor(IComponentSpecification specification,
-            String className)
+                                                        String className)
     {
         Defense.notNull(specification, "specification");
-        
-        try {
-            
+
+        try
+        {
             _lock.lockInterruptibly();
-            
+
             ComponentConstructor result = (ComponentConstructor) _cachedConstructors.get(specification);
-            
-            if (result == null) {
-                
+
+            if (result == null)
+            {
                 Class baseClass = _classResolver.findClass(className);
-                
-                EnhancementOperationImpl eo = new EnhancementOperationImpl(_classResolver,
-                        specification, baseClass, _classFactory, _log);
-                
+
+                EnhancementOperationImpl eo = new EnhancementOperationImpl(_classResolver, specification, baseClass, _classFactory, _log);
+
                 // Invoking on the chain is the same as invoking on every
                 // object in the chain (because method performEnhancement() is type void).
-                
+
                 _chain.performEnhancement(eo, specification);
-                
+
                 result = eo.getConstructor();
-                
+
                 // TODO: This should be optional to work around that IBM JVM bug.
-                
+
                 _validator.validate(baseClass, result.getComponentClass(), specification);
-                
+
                 _cachedConstructors.put(specification, result);
             }
-            
+
             return result;
-            
-        } catch (InterruptedException e) {
-            
-           throw new ApplicationRuntimeException(e);
-        } finally {
-            
+
+        } catch (InterruptedException e)
+        {
+            throw new ApplicationRuntimeException(e);
+        } finally
+        {
             _lock.unlock();
         }
     }
-    
+
     public void setClassFactory(ClassFactory classFactory)
     {
         _classFactory = classFactory;

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/InjectStateFlagWorkerTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/InjectStateFlagWorkerTest.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/InjectStateFlagWorkerTest.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/InjectStateFlagWorkerTest.java Wed Aug 15 15:00:22 2007
@@ -70,7 +70,7 @@
 
         worker.setApplicationStateManager(asm);
 
-        worker.performEnhancement(op, is, null);
+        worker.performEnhancement(op, is);
 
         verify();
     }
@@ -112,7 +112,7 @@
 
         worker.setApplicationStateManager(asm);
 
-        worker.performEnhancement(op, is, null);
+        worker.performEnhancement(op, is);
 
         verify();
     }
@@ -139,7 +139,7 @@
 
         try
         {
-            worker.performEnhancement(op, is, null);
+            worker.performEnhancement(op, is);
             unreachable();
         }
         catch (ApplicationRuntimeException ex)

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestDispatchToInjectWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestDispatchToInjectWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestDispatchToInjectWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestDispatchToInjectWorker.java Wed Aug 15 15:00:22 2007
@@ -77,7 +77,7 @@
         Map map = newMap("object", worker);
         IComponentSpecification spec = newSpec(is);
 
-        worker.performEnhancement(op, is, spec);
+        worker.performEnhancement(op, is);
 
         replay();
 
@@ -128,7 +128,7 @@
         Throwable t = new RuntimeException("Simulated failure.");
         ErrorLog log = newErrorLog();
 
-        worker.performEnhancement(op, is, spec);
+        worker.performEnhancement(op, is);
         expectLastCall().andThrow(t);
 
         expect(op.getBaseClass()).andReturn(BasePage.class);

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectMetaWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectMetaWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectMetaWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectMetaWorker.java Wed Aug 15 15:00:22 2007
@@ -86,7 +86,7 @@
 
         worker.setSource(source);
 
-        worker.performEnhancement(op, spec, null);
+        worker.performEnhancement(op, spec);
 
         verify();
     }
@@ -124,7 +124,7 @@
 
         worker.setSource(source);
 
-        worker.performEnhancement(op, spec, null);
+        worker.performEnhancement(op, spec);
 
         verify();
     }
@@ -163,7 +163,7 @@
 
         worker.setSource(source);
 
-        worker.performEnhancement(op, spec, null);
+        worker.performEnhancement(op, spec);
 
         verify();
     }
@@ -209,7 +209,7 @@
         worker.setSource(source);
         worker.setValueConverter(converter);
 
-        worker.performEnhancement(op, spec, null);
+        worker.performEnhancement(op, spec);
 
         verify();
     }
@@ -252,7 +252,7 @@
         worker.setSource(source);
         worker.setValueConverter(converter);
 
-        worker.performEnhancement(op, spec, null);
+        worker.performEnhancement(op, spec);
 
         verify();
     }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectObjectWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectObjectWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectObjectWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectObjectWorker.java Wed Aug 15 15:00:22 2007
@@ -84,7 +84,7 @@
         InjectObjectWorker w = new InjectObjectWorker();
         w.setProvider(p);
 
-        w.performEnhancement(op, spec, null);
+        w.performEnhancement(op, spec);
 
         verify();
     }
@@ -116,7 +116,7 @@
         InjectObjectWorker w = new InjectObjectWorker();
         w.setProvider(p);
 
-        w.performEnhancement(op, spec, null);
+        w.performEnhancement(op, spec);
 
         verify();
     }
@@ -149,7 +149,7 @@
 
         try
         {
-            w.performEnhancement(op, spec, null);
+            w.performEnhancement(op, spec);
             unreachable();
         }
         catch (ApplicationRuntimeException ex)
@@ -184,7 +184,7 @@
 
         try
         {
-            w.performEnhancement(op, spec, null);
+            w.performEnhancement(op, spec);
             unreachable();
 
         }
@@ -226,7 +226,7 @@
         InjectObjectWorker w = new InjectObjectWorker();
         w.setProvider(p);
         
-        w.performEnhancement(op, spec, null);
+        w.performEnhancement(op, spec);
 
         verify();
     }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectPageWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectPageWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectPageWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectPageWorker.java Wed Aug 15 15:00:22 2007
@@ -49,7 +49,7 @@
 
         try
         {
-            new InjectPageWorker().performEnhancement(op, is, null);
+            new InjectPageWorker().performEnhancement(op, is);
             unreachable();
         }
         catch (ApplicationRuntimeException ex)
@@ -101,7 +101,7 @@
 
         InjectSpecification is = newSpec(l);
 
-        new InjectPageWorker().performEnhancement(op, is, null);
+        new InjectPageWorker().performEnhancement(op, is);
 
         verify();
     }
@@ -134,7 +134,7 @@
 
         InjectSpecification is = newSpec(l);
 
-        new InjectPageWorker().performEnhancement(op, is, null);
+        new InjectPageWorker().performEnhancement(op, is);
 
         verify();
     }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectScriptWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectScriptWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectScriptWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectScriptWorker.java Wed Aug 15 15:00:22 2007
@@ -69,7 +69,7 @@
         InjectScriptWorker worker = new InjectScriptWorker();
         worker.setSource(source);
 
-        worker.performEnhancement(op, is, null);
+        worker.performEnhancement(op, is);
 
         verify();
     }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectStateWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectStateWorker.java?view=diff&rev=566354&r1=566353&r2=566354
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectStateWorker.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/enhance/TestInjectStateWorker.java Wed Aug 15 15:00:22 2007
@@ -106,7 +106,7 @@
         InjectStateWorker w = new InjectStateWorker();
         w.setApplicationStateManager(asm);
 
-        w.performEnhancement(op, spec, null);
+        w.performEnhancement(op, spec);
 
         verify();
     }