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/12/15 18:41:30 UTC

svn commit: r890901 - /labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/UseAdminTemplate.aj

Author: simoneg
Date: Tue Dec 15 17:41:30 2009
New Revision: 890901

URL: http://svn.apache.org/viewvc?rev=890901&view=rev
Log:
Better administration bean detection

Modified:
    labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/UseAdminTemplate.aj

Modified: labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/UseAdminTemplate.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/UseAdminTemplate.aj?rev=890901&r1=890900&r2=890901&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/UseAdminTemplate.aj (original)
+++ labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/UseAdminTemplate.aj Tue Dec 15 17:41:30 2009
@@ -32,25 +32,29 @@
 	private Object bean = null;
 	private Class<?> clazz = null;
 	
-    after(WebHandler h) returning (Templatable t) : execution(* AdminWebHandler+.*(..)) && (HandlerSetup.doMethod(h) || HandlerSetup.subHandle(h) || HandlerSetup.hiddenMethod(h)) {
+	after() returning (Templatable t): execution(* AdminWebHandler+.*(..)) {
     	if (t == null) return;
-    	t.setTemplate(new AdminTemplate());
-    	if (t instanceof WebHandler) {
-    		subHandler = (WebHandler)t;
-    	}
+    	t.setTemplate(new AdminTemplate());		
+	}
+	
+    after(WebHandler h) returning (WebHandler t) : execution(* AdminWebHandler+.*(..)) && (HandlerSetup.doMethod(h) || HandlerSetup.subHandle(h) || HandlerSetup.hiddenMethod(h)) {
     	try {
 	    	Method meth = ((MethodSignature)thisJoinPointStaticPart.getSignature()).getMethod();
 	    	Manages man = meth.getAnnotation(Manages.class);
 	    	if (man != null) {
 	    		clazz = man.value();
+	    		subHandler = (WebHandler)t;
 	    	}
     	} catch (Throwable tr) {}
     }
     
     before(WebHandler h, Object bean) : execution(* WebHandler+.*(..)) && args(bean) && (HandlerSetup.doMethod(h) || HandlerSetup.subHandle(h) || HandlerSetup.hiddenMethod(h)) {
-    	if (subHandler == null || this.clazz == null || this.bean != null) return;
+    	if (bean == null) return;
+    	if (subHandler == null || clazz == null) return;
     	if (h != subHandler) return;
-    	this.bean = bean;
+    	if (clazz.isAssignableFrom(bean.getClass())) {
+    		this.bean = bean;
+    	}
     }
     
     Object around(Object bean) : execution(* AdminWebHandler.doSideBox(..)) && args(bean) {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org