Author: hlship
Date: Thu Jul 21 18:20:00 2011
New Revision: 1149297
URL: http://svn.apache.org/viewvc?rev=1149297&view=rev
Log:
TAP5-1508: Rerwite SupportsInformalParamtersWorker for new API
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/SupportsInformalParametersWorker.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/SupportsInformalParametersWorkerTest.java
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/SupportsInformalParametersWorker.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/SupportsInformalParametersWorker.java?rev=1149297&r1=1149296&r2=1149297&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/SupportsInformalParametersWorker.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/SupportsInformalParametersWorker.java
Thu Jul 21 18:20:00 2011
@@ -1,4 +1,4 @@
-// Copyright 2006 The Apache Software Foundation
+// Copyright 2006, 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.
@@ -16,20 +16,21 @@ package org.apache.tapestry5.internal.tr
import org.apache.tapestry5.annotations.SupportsInformalParameters;
import org.apache.tapestry5.model.MutableComponentModel;
-import org.apache.tapestry5.services.ClassTransformation;
-import org.apache.tapestry5.services.ComponentClassTransformWorker;
+import org.apache.tapestry5.plastic.PlasticClass;
+import org.apache.tapestry5.services.transform.ComponentClassTransformWorker2;
+import org.apache.tapestry5.services.transform.TransformationSupport;
/**
* Checks for the {@link SupportsInformalParameters} annotation, settting the
corresponding flag on the model if
* present.
*/
-public class SupportsInformalParametersWorker implements
ComponentClassTransformWorker
+public class SupportsInformalParametersWorker implements
ComponentClassTransformWorker2
{
-
- public void transform(ClassTransformation transformation,
MutableComponentModel model)
+ public void transform(PlasticClass plasticClass, TransformationSupport
support, MutableComponentModel model)
{
- if (transformation.getAnnotation(SupportsInformalParameters.class) !=
null)
+ if (plasticClass.hasAnnotation(SupportsInformalParameters.class))
+ {
model.enableSupportsInformalParameters();
+ }
}
-
}
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=1149297&r1=1149296&r2=1149297&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
Thu Jul 21 18:20:00 2011
@@ -507,6 +507,8 @@ public final class TapestryModule
* <dd>Handle the @OnEvent annotation, and related naming convention</dd>
* <dt>RenderCommand</dt>
* <dd>Ensures all components also implement {@link
org.apache.tapestry5.runtime.RenderCommand}</dd>
+ * <dt>SupportsInformalParameters</dt>
+ * <dd>Checks for the annotation</dd>
* </ul>
*/
@Contribute(ComponentClassTransformWorker2.class)
@@ -542,6 +544,8 @@ public final class TapestryModule
configuration.addInstance("BindParameter", BindParameterWorker.class,
"after:Parameter");
+ configuration.add("SupportsInformalParameters", new
SupportsInformalParametersWorker());
+
// This one is always last. Any additional private fields that aren't
// annotated will
// be converted to clear out at the end of the request.
@@ -571,8 +575,6 @@ public final class TapestryModule
* annotation</dd>
* <dt>InjectBlock</dt>
* <dd>Allows a block from the template to be injected into a field</dd>
- * <dt>SupportsInformalParameters</dt>
- * <dd>Checks for the annotation</dd>
* <dt>Meta</dt>
* <dd>Checks for meta data annotations and adds it to the component
model</dd>
* <dt>ApplicationState</dt>
@@ -613,7 +615,6 @@ public final class TapestryModule
configuration.add("MixinAfter", new MixinAfterWorker());
configuration
.addInstance("ActivationRequestParameter",
ActivationRequestParameterWorker.class, "after:OnEvent");
- configuration.add("SupportsInformalParameters", new
SupportsInformalParametersWorker());
configuration.addInstance("RenderPhase",
RenderPhaseMethodWorker.class);
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/SupportsInformalParametersWorkerTest.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/SupportsInformalParametersWorkerTest.java?rev=1149297&r1=1149296&r2=1149297&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/SupportsInformalParametersWorkerTest.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/SupportsInformalParametersWorkerTest.java
Thu Jul 21 18:20:00 2011
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 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.
@@ -17,25 +17,31 @@ package org.apache.tapestry5.internal.tr
import org.apache.tapestry5.annotations.SupportsInformalParameters;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.model.MutableComponentModel;
-import org.apache.tapestry5.services.ClassTransformation;
+import org.apache.tapestry5.plastic.PlasticClass;
import org.testng.annotations.Test;
public class SupportsInformalParametersWorkerTest extends InternalBaseTestCase
{
+ private PlasticClass mockPlasticClass()
+ {
+ return newMock(PlasticClass.class);
+ }
+
@Test
public void annotation_present()
{
- ClassTransformation ct = mockClassTransformation();
+ PlasticClass plasticClass = mockPlasticClass();
+
MutableComponentModel model = mockMutableComponentModel();
- SupportsInformalParameters annotation =
newMock(SupportsInformalParameters.class);
- train_getAnnotation(ct, SupportsInformalParameters.class, annotation);
+
expect(plasticClass.hasAnnotation(SupportsInformalParameters.class)).andReturn(true);
+
model.enableSupportsInformalParameters();
replay();
- new SupportsInformalParametersWorker().transform(ct, model);
+ new SupportsInformalParametersWorker().transform(plasticClass, null,
model);
verify();
}
@@ -43,14 +49,15 @@ public class SupportsInformalParametersW
@Test
public void annotation_missing()
{
- ClassTransformation ct = mockClassTransformation();
+ PlasticClass plasticClass = mockPlasticClass();
+
MutableComponentModel model = mockMutableComponentModel();
- train_getAnnotation(ct, SupportsInformalParameters.class, null);
+
expect(plasticClass.hasAnnotation(SupportsInformalParameters.class)).andReturn(false);
replay();
- new SupportsInformalParametersWorker().transform(ct, model);
+ new SupportsInformalParametersWorker().transform(plasticClass, null,
model);
verify();