[Struts Wiki] Update of "ToddOgin" by ToddOgin

2008-05-14 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by ToddOgin:
http://wiki.apache.org/struts/ToddOgin

New page:
##language:en
== Todd Ogin ==

Email: [[MailTo(togin AT SPAMFREE triteksol DOT com)]]

...


CategoryHomepage


svn commit: r656410 - in /struts/sandbox/trunk/struts2-convention-plugin/src: main/java/org/apache/struts2/convention/ main/java/org/apache/struts2/convention/annotation/ test/java/org/apache/struts2/

2008-05-14 Thread musachy
Author: musachy
Date: Wed May 14 13:24:35 2008
New Revision: 656410

URL: http://svn.apache.org/viewvc?rev=656410&view=rev
Log:
Add @InterceptorRefs, which can be applied at the class level

Added:

struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/annotation/InterceptorRefs.java

struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/actions/interceptor/ActionLevelInterceptor2Action.java

struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/actions/interceptor/ActionLevelInterceptor3Action.java

struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/actions/interceptor/ActionLevelInterceptorAction.java
Modified:

struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java

struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/InterceptorMapBuilder.java

struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java

struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/annotation/InterceptorRef.java

struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java

Modified: 
struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java?rev=656410&r1=656409&r2=656410&view=diff
==
--- 
struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java
 (original)
+++ 
struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java
 Wed May 14 13:24:35 2008
@@ -26,7 +26,9 @@
 import java.util.Map;
 
 import org.apache.struts2.convention.annotation.Action;
+import org.apache.struts2.convention.annotation.AnnotationTools;
 import org.apache.struts2.convention.annotation.InterceptorRef;
+import org.apache.struts2.convention.annotation.InterceptorRefs;
 
 import com.opensymphony.xwork2.ObjectFactory;
 import com.opensymphony.xwork2.config.Configuration;
@@ -35,6 +37,7 @@
 import com.opensymphony.xwork2.config.entities.PackageConfig;
 import com.opensymphony.xwork2.config.providers.InterceptorBuilder;
 import com.opensymphony.xwork2.inject.Inject;
+import com.opensymphony.xwork2.util.AnnotationUtils;
 import com.opensymphony.xwork2.util.logging.Logger;
 import com.opensymphony.xwork2.util.logging.LoggerFactory;
 
@@ -49,29 +52,48 @@
 
private Configuration configuration;
 
-   public List build(PackageConfig.Builder builder,
+   public List build(Class actionClass, 
PackageConfig.Builder builder,
String actionName, Action annotation) {
List interceptorList = new 
ArrayList(
10);
 
+   //from @InterceptorRefs annotation
+InterceptorRefs interceptorRefs = 
AnnotationTools.findAnnotation(actionClass, InterceptorRefs.class);
+if (interceptorRefs != null)
+interceptorList.addAll(build(interceptorRefs.value(), actionName, 
builder));
+
+//from @InterceptorRef annotation
+InterceptorRef interceptorRef = 
AnnotationTools.findAnnotation(actionClass, InterceptorRef.class);
+if (interceptorRef != null)
+interceptorList.addAll(build(new InterceptorRef[] 
{interceptorRef}, actionName, builder));
+
+   //from @Action annotation
if (annotation != null) {
InterceptorRef[] interceptors = 
annotation.interceptorRefs();
if (interceptors != null) {
-   for (InterceptorRef interceptor : interceptors) 
{
-   if (LOG.isTraceEnabled())
-   LOG.trace("Adding interceptor 
[#0] to [#1]",
-   
interceptor.value(), actionName);
-   Map params = 
createParameterMap(interceptor
-   .params());
-   
interceptorList.addAll(buildInterceptorList(builder,
-   interceptor, params));
-   }
+   interceptorList.addAll(build(interceptors, 
actionName, builder));
}
}
 
return interceptorList;
}
 
+   pro

[Struts Wiki] Update of "StrutsPleaseWait" by ToddOgin

2008-05-14 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by ToddOgin:
http://wiki.apache.org/struts/StrutsPleaseWait

--

  }}}
  
+ 
+ === A Note ===
+ 
+ Firstly, Thanks, I used this solution to great succes but noticed one issue.  
The line 
+ 
+ {{{
+ nonResetForm = (ActionForm) 
org.apache.commons.beanutils.BeanUtils.cloneBean(form);
+ }}}
+ 
+ does not copy the {{{ActionForm}}} servlet property (pretty sure it fails 
because there is no {{{ActionForm.getServlet}}}, only set).  For some reason 
our code used it.  To preserve that property, I edited the processActionPerform 
code when it tries to perform the real action like so:
+ 
+ {{{ 
+ if (nonResetForm != null) {
+session.setAttribute("current_form_key", null);
+//TO Needs servlet
+nonResetForm.setServlet(this.servlet);
+return super.processActionPerform(request, response, action, nonResetForm, 
mapping);
+ }
+ }}}
+ 
+ HTH ToddOgin
+ 


[Struts Wiki] Update of "ToddOgin" by ToddOgin

2008-05-14 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by ToddOgin:
http://wiki.apache.org/struts/ToddOgin

--
  ##language:en
  == Todd Ogin ==
  
- Email: [[MailTo(togin AT SPAMFREE triteksol DOT com)]]
+ Email: [[MailTo(WORDS WORDS togin AT SPAMFREE RANDOM triteksol WORDS WORDS 
WORDS DOT com)]]
  
  ...
  


[Struts Wiki] Update of "ToddOgin" by JamesMitchell

2008-05-14 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by JamesMitchell:
http://wiki.apache.org/struts/ToddOgin

--
+ deleted
- ##language:en
- == Todd Ogin ==
  
- Email: [[MailTo(WORDS WORDS togin AT SPAMFREE RANDOM triteksol WORDS WORDS 
WORDS DOT com)]]
- 
- ...
- 
- 
- CategoryHomepage
-