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 2008/12/09 13:52:04 UTC

svn commit: r724678 - /labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InterceptWebMethods.aj

Author: simoneg
Date: Tue Dec  9 04:52:04 2008
New Revision: 724678

URL: http://svn.apache.org/viewvc?rev=724678&view=rev
Log:
Optimized

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

Modified: labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InterceptWebMethods.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InterceptWebMethods.aj?rev=724678&r1=724677&r2=724678&view=diff
==============================================================================
--- labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InterceptWebMethods.aj (original)
+++ labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InterceptWebMethods.aj Tue Dec  9 04:52:04 2008
@@ -17,19 +17,24 @@
 import org.apache.magma.website.producers.ParametrizableProducer;
 import org.apache.magma.website.producers.ProducerParameters;
 
-public aspect InterceptWebMethods {
+public aspect InterceptWebMethods percflow(HandlerSetup.inRequest()) {
 
 	declare precedence : HandlerSetup, InterceptWebMethods;
 	
 	pointcut domethod() : execution(public Producer+ WebHandler+.do*(..));
 	pointcut handlemethod() : execution(public Producer+ WebHandler+.handle*(..));
 
+	private Boolean isAdmin = null;
+	
 	Object around () : 
 		(domethod() || handlemethod())  
 		{
 		Object ret = proceed();
-		AdminWebHandler awe = RootWebHandler.getInstance().handleAdministration();
-		if (!awe.isAdministrator()) return ret;
+		if (isAdmin == null) {
+			AdminWebHandler awe = RootWebHandler.getInstance().handleAdministration();
+			isAdmin = awe.isAdministrator();
+		}
+		if (!isAdmin) return ret;
 		if (ret == null) return ret;
 		if (ret instanceof HtmlProducer) {
 			if (InlineMenuHelper.isFromAdmin((HtmlProducer)ret)) return ret;
@@ -49,6 +54,7 @@
 				InlineMenuHelper.findActions(parameters.values(), founds);	
 			}
 			if (founds.size() > 0) {
+				AdminWebHandler awe = RootWebHandler.getInstance().handleAdministration();
 				return new CompoundHtmlProducer((HtmlProducer)ret, awe.hiddenInlineMenu(founds));
 			}
 		}



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