Author: hlship
Date: Sun Jul 24 15:15:44 2011
New Revision: 1150397
URL: http://svn.apache.org/viewvc?rev=1150397&view=rev
Log:
TAP5-1508: Recode InjectServiceWorker to CCTW2
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectServiceWorker.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectServiceWorker.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectServiceWorker.java?rev=1150397&r1=1150396&r2=1150397&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectServiceWorker.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectServiceWorker.java
Sun Jul 24 15:15:44 2011
@@ -1,4 +1,4 @@
-// Copyright 2009, 2010 The Apache Software Foundation
+// Copyright 2009, 2010, 2011 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -18,16 +18,17 @@ import org.apache.tapestry5.internal.ser
import org.apache.tapestry5.ioc.ObjectLocator;
import org.apache.tapestry5.ioc.annotations.InjectService;
import org.apache.tapestry5.model.MutableComponentModel;
-import org.apache.tapestry5.services.ClassTransformation;
-import org.apache.tapestry5.services.ComponentClassTransformWorker;
-import org.apache.tapestry5.services.TransformField;
+import org.apache.tapestry5.plastic.PlasticClass;
+import org.apache.tapestry5.plastic.PlasticField;
+import org.apache.tapestry5.services.transform.ComponentClassTransformWorker2;
+import org.apache.tapestry5.services.transform.TransformationSupport;
/**
* Processes the {@link org.apache.tapestry5.ioc.annotations.InjectService}
annotation.
- *
+ *
* @since 5.1.0.0
*/
-public class InjectServiceWorker implements ComponentClassTransformWorker
+public class InjectServiceWorker implements ComponentClassTransformWorker2
{
private final ObjectLocator locator;
@@ -39,16 +40,15 @@ public class InjectServiceWorker impleme
this.cache = cache;
}
- @SuppressWarnings("unchecked")
- public void transform(ClassTransformation transformation,
MutableComponentModel model)
+ public void transform(PlasticClass plasticClass, TransformationSupport
support, MutableComponentModel model)
{
- for (TransformField field :
transformation.matchFieldsWithAnnotation(InjectService.class))
+ for (PlasticField field :
plasticClass.getFieldsWithAnnotation(InjectService.class))
{
InjectService annotation =
field.getAnnotation(InjectService.class);
field.claim(annotation);
- Class fieldType = cache.forName(field.getType());
+ Class fieldType = cache.forName(field.getTypeName());
Object service = locator.getService(annotation.value(), fieldType);
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java?rev=1150397&r1=1150396&r2=1150397&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
Sun Jul 24 15:15:44 2011
@@ -528,6 +528,8 @@ public final class TapestryModule
* <dd>Support for the {@link ActivationRequestParameter} annotation</dd>
* <dt>PageLoaded, PageAttached, PageDetached</dt>
* <dd>Support for annotations {@link PageLoaded}, {@link PageAttached},
{@link PageDetached}</dd>
+ * <dt>InjectService</dt>
+ * <dd>Handles the {@link
org.apache.tapestry5.ioc.annotations.InjectService} annotation</dd>
* </dl>
*/
@Contribute(ComponentClassTransformWorker2.class)
@@ -590,6 +592,7 @@ public final class TapestryModule
add(configuration, PageDetached.class,
TransformConstants.CONTAINING_PAGE_DID_DETACH_DESCRIPTION);
configuration.addInstance("PageReset",
PageResetAnnotationWorker.class);
+ configuration.addInstance("InjectService", InjectServiceWorker.class);
// This one is always last. Any additional private fields that aren't
@@ -612,13 +615,6 @@ public final class TapestryModule
* <dd>Allows fields to contain values extracted from the {@link
org.apache.tapestry5.services.Environment} service</dd>
* <dt>Inject</dt>
* <dd>Used with the {@link org.apache.tapestry5.ioc.annotations.Inject}
annotation, when a value is supplied</dd>
- * <dt>InjectService</dt>
- * <dd>Handles the {@link
org.apache.tapestry5.ioc.annotations.InjectService} annotation</dd>
- * <dt>InjectPage</dt>
- * <dd>Adds code to allow access to other pages via the {@link
org.apache.tapestry5.annotations.InjectPage} field
- * annotation</dd>
- * <dt>InjectBlock</dt>
- * <dd>Allows a block from the template to be injected into a field</dd>
* <dt>ApplicationState</dt>
* <dd>Converts fields that reference application state objects
* <dt>Log</dt>
@@ -633,10 +629,8 @@ public final class TapestryModule
OrderedConfiguration<ComponentClassTransformWorker> configuration)
{
configuration.addInstance("Inject", InjectWorker.class);
- configuration.addInstance("InjectService", InjectServiceWorker.class);
configuration.addInstance("InjectNamed", InjectNamedWorker.class);
-
configuration.addInstance("Persist", PersistWorker.class);
configuration.addInstance("Log", LogWorker.class);