You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2009/03/25 03:55:32 UTC
svn commit: r758133 - in /labs/magma/trunk/foundation-website/src:
main/java/org/apache/magma/website/context/
main/java/org/apache/magma/website/producers/
test/java/org/apache/magma/website/
Author: simoneg
Date: Wed Mar 25 02:55:31 2009
New Revision: 758133
URL: http://svn.apache.org/viewvc?rev=758133&view=rev
Log:
LABS-313 : when possible use java parameter names as producer parameter name.
Modified:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/context/Contextualizer.aj
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/context/WebMethodContextElement.java
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/producers/ParametrizeHtmlProducer.aj
labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/WebHandlerCycleTest.java
Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/context/Contextualizer.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/context/Contextualizer.aj?rev=758133&r1=758132&r2=758133&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/context/Contextualizer.aj (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/context/Contextualizer.aj Wed Mar 25 02:55:31 2009
@@ -1,6 +1,5 @@
package org.apache.magma.website.context;
-import org.apache.magma.basics.MagmaException;
import org.apache.magma.basics.context.RunningContext;
import org.apache.magma.basics.context.SubRunningContext;
import org.apache.magma.website.HandlerSetup;
@@ -15,7 +14,8 @@
before(WebHandler h) : HandlerSetup.doMethod(h) {
SubRunningContext context = RunningContext.get();
- WebMethodContextElement wmce = new WebMethodContextElement(((MethodSignature)thisJoinPoint.getSignature()).getMethod(), thisJoinPoint.getArgs(), h);
+ MethodSignature sig = (MethodSignature)thisJoinPointStaticPart.getSignature();
+ WebMethodContextElement wmce = new WebMethodContextElement(sig.getMethod(), thisJoinPoint.getArgs(), h, sig.getParameterNames());
context.push(wmce);
}
@@ -26,7 +26,8 @@
before(WebHandler h) : HandlerSetup.subHandle(h) {
SubRunningContext context = RunningContext.get();
- WebMethodContextElement wmce = new WebMethodContextElement(((MethodSignature)thisJoinPoint.getSignature()).getMethod(), thisJoinPoint.getArgs(), h);
+ MethodSignature sig = (MethodSignature)thisJoinPointStaticPart.getSignature();
+ WebMethodContextElement wmce = new WebMethodContextElement(sig.getMethod(), thisJoinPoint.getArgs(), h, sig.getParameterNames());
context.push(wmce);
}
Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/context/WebMethodContextElement.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/context/WebMethodContextElement.java?rev=758133&r1=758132&r2=758133&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/context/WebMethodContextElement.java (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/context/WebMethodContextElement.java Wed Mar 25 02:55:31 2009
@@ -11,6 +11,7 @@
private boolean urlSegmentComputed = false;
private String urlSegment = null;
+ private String[] paramNames = null;
private WebHandler handlerInstance = null;
public WebMethodContextElement(Method method, Object[] args, WebHandler instance) {
@@ -18,6 +19,12 @@
this.handlerInstance = instance;
}
+ public WebMethodContextElement(Method method, Object[] args, WebHandler instance, String[] paramNames) {
+ this(method, args, instance);
+ this.paramNames = paramNames;
+ }
+
+
public String getURLSegment() {
if (urlSegmentComputed) return urlSegment;
urlSegment = null;
@@ -65,4 +72,8 @@
return handlerInstance;
}
+ public String[] getParamNames() {
+ return paramNames;
+ }
+
}
Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/producers/ParametrizeHtmlProducer.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/producers/ParametrizeHtmlProducer.aj?rev=758133&r1=758132&r2=758133&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/producers/ParametrizeHtmlProducer.aj (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/producers/ParametrizeHtmlProducer.aj Wed Mar 25 02:55:31 2009
@@ -41,9 +41,17 @@
WebMethodContextElement ele = RunningContext.get().getLast(WebMethodContextElement.class);
if (ele == null) return;
- for (Object object : ele.getArgs()) {
+ String[] paramNames = ele.getParamNames();
+ Object[] args = ele.getArgs();
+ if (paramNames != null) {
+ for (int i = 0; i < paramNames.length; i++) {
+ producer.addParameter(paramNames[i], args[i]);
+ }
+ }
+ for (Object object : args) {
producer.addParameter(object);
}
+
String methodName = ele.getMethod().getName();
if (methodName.startsWith("do")) {
methodName = methodName.substring(2);
Modified: labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/WebHandlerCycleTest.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/WebHandlerCycleTest.java?rev=758133&r1=758132&r2=758133&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/WebHandlerCycleTest.java (original)
+++ labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/WebHandlerCycleTest.java Wed Mar 25 02:55:31 2009
@@ -61,6 +61,7 @@
assertEquals("yesterday", params[3]);
assertSame(def.person, params[4]);
+
ProducerParameters parameters = prod.getHPParameters();
// This feature has been disabled, see LABS-301
//Map<String, Object> parmap = parameters.getParameters();
@@ -185,7 +186,16 @@
one(session).setAttribute("name", "ciao");
}};
def.setupDefaults("/test/named/ciao");
- Dispatch disp = def.start();
+ def.start();
+
+ FakeHtmlProducer prod = FakeHtmlProducer.getInstance();
+ assertNotNull(prod);
+ ProducerParameters parameters = prod.getParameters();
+ Map<String, Object> map = parameters.getParameters();
+ assertTrue("Does not contain parameter based on argument name", map.containsKey("name"));
+ assertTrue("Does not contain parameter based on argument class", map.containsKey("string"));
+ assertEquals("ciao", map.get("name"));
+ assertEquals("ciao", map.get("string"));
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org