Author: simoneg
Date: Wed Oct 21 00:05:57 2009
New Revision: 827847

URL: http://svn.apache.org/viewvc?rev=827847&view=rev
Log:
Tracing inside web

Added:
    
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/tracing/
    
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/tracing/TraceWebMethods.aj
    
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/tracing/WebMethodsTracingHandler.java
Modified:
    
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/Template.java
    
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/TemplateResourceHandler.java

Modified: 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/Template.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/Template.java?rev=827847&r1=827846&r2=827847&view=diff
==============================================================================
--- 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/Template.java
 (original)
+++ 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/Template.java
 Wed Oct 21 00:05:57 2009
@@ -159,6 +159,7 @@
        
        public void produce(URLRewritingStream rewrite) {
                try {
+                       // TODO use complete class name here, so that 
TemplateResourceHandler can check it to provide security
                        rewrite.setTemplatePrefix("template/" + 
getClass().getPackage().getName() + "/");
                        OutputStreamWriter osw = new 
OutputStreamWriter(rewrite, Charset.forName("UTF-8"));
                        for (int i = 0; i < data.zones.size(); i++) {

Modified: 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/TemplateResourceHandler.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/TemplateResourceHandler.java?rev=827847&r1=827846&r2=827847&view=diff
==============================================================================
--- 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/TemplateResourceHandler.java
 (original)
+++ 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/TemplateResourceHandler.java
 Wed Oct 21 00:05:57 2009
@@ -26,6 +26,7 @@
                int i = fileName.indexOf('/');
                if (i > -1) {
                        String path = fileName.substring(0, i);
+                       // TODO check if path is a valid Template class, this 
could leak files otherwise
                        path = path.replaceAll("\\.", "/");
                        return super.doResource("/" + path + 
fileName.substring(i));
                } else {

Added: 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/tracing/TraceWebMethods.aj
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/tracing/TraceWebMethods.aj?rev=827847&view=auto
==============================================================================
--- 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/tracing/TraceWebMethods.aj
 (added)
+++ 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/tracing/TraceWebMethods.aj
 Wed Oct 21 00:05:57 2009
@@ -0,0 +1,14 @@
+package org.apache.magma.website.tracing;
+
+import org.apache.magma.tools.devtools.domain.Traced;
+import org.apache.magma.website.WebHandler;
+import org.apache.magma.website.Producer;
+
+public aspect TraceWebMethods {
+       
+       // TODO : the org.apache.magma.website.We*Handler instead of plain 
WebHandler is needed as a workaround for bug
+       // https://bugs.eclipse.org/bugs/show_bug.cgi?id=288049
+       declare @method: (public Producer+ 
org.apache.magma.website.We*Handler+.do*(..)) : @Traced(located=true, 
subsystem="Magma/Website", 
type="domethod",handler=WebMethodsTracingHandler.class);
+       declare @method: (public WebHandler+ 
org.apache.magma.website.We*Handler+.handle*(..)) : @Traced(located=true, 
subsystem="Magma/Website", 
type="handlemethod",handler=WebMethodsTracingHandler.class);
+       
+}

Added: 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/tracing/WebMethodsTracingHandler.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/tracing/WebMethodsTracingHandler.java?rev=827847&view=auto
==============================================================================
--- 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/tracing/WebMethodsTracingHandler.java
 (added)
+++ 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/tracing/WebMethodsTracingHandler.java
 Wed Oct 21 00:05:57 2009
@@ -0,0 +1,24 @@
+package org.apache.magma.website.tracing;
+
+import org.apache.magma.tools.devtools.domain.TraceEvent;
+import org.apache.magma.tools.devtools.domain.TraceEventHandler;
+import org.aspectj.lang.JoinPoint;
+
+public class WebMethodsTracingHandler implements TraceEventHandler {
+
+       public TraceEvent handleEntering(TraceEvent event, JoinPoint enterjp) {
+               event.setLocated(true);
+               return event;
+       }
+
+       public TraceEvent handleError(TraceEvent event, Throwable error,
+                       JoinPoint exitjp) {
+               return event;
+       }
+
+       public TraceEvent handleReturning(TraceEvent event, Object retValue,
+                       JoinPoint exitjp) {
+               return event;
+       }
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to