Revision: 1056
          http://stripes.svn.sourceforge.net/stripes/?rev=1056&view=rev
Author:   bengunter
Date:     2009-02-26 06:14:38 +0000 (Thu, 26 Feb 2009)

Log Message:
-----------
STS-614: Added the code to RuntimeConfiguration to load ObjectPostProcessors 
automatically

Modified Paths:
--------------
    trunk/stripes/src/net/sourceforge/stripes/config/RuntimeConfiguration.java

Modified: 
trunk/stripes/src/net/sourceforge/stripes/config/RuntimeConfiguration.java
===================================================================
--- trunk/stripes/src/net/sourceforge/stripes/config/RuntimeConfiguration.java  
2009-02-26 05:53:16 UTC (rev 1055)
+++ trunk/stripes/src/net/sourceforge/stripes/config/RuntimeConfiguration.java  
2009-02-26 06:14:38 UTC (rev 1056)
@@ -15,6 +15,7 @@
 package net.sourceforge.stripes.config;
 
 import java.lang.reflect.Type;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
@@ -23,9 +24,11 @@
 import net.sourceforge.stripes.controller.ActionBeanContextFactory;
 import net.sourceforge.stripes.controller.ActionBeanPropertyBinder;
 import net.sourceforge.stripes.controller.ActionResolver;
+import net.sourceforge.stripes.controller.DefaultObjectFactory;
 import net.sourceforge.stripes.controller.Interceptor;
 import net.sourceforge.stripes.controller.LifecycleStage;
 import net.sourceforge.stripes.controller.ObjectFactory;
+import net.sourceforge.stripes.controller.ObjectPostProcessor;
 import net.sourceforge.stripes.controller.multipart.MultipartWrapperFactory;
 import net.sourceforge.stripes.exception.ExceptionHandler;
 import net.sourceforge.stripes.exception.StripesRuntimeException;
@@ -337,5 +340,19 @@
                 }
             }
         }
+
+        ObjectFactory factory = getObjectFactory();
+        if (factory instanceof DefaultObjectFactory) {
+            List<Class<? extends ObjectPostProcessor>> classes = 
getBootstrapPropertyResolver()
+                    .getClassPropertyList(ObjectPostProcessor.class);
+            List<ObjectPostProcessor> instances = new 
ArrayList<ObjectPostProcessor>();
+            for (Class<? extends ObjectPostProcessor> clazz : classes) {
+                log.debug("Instantiating object post-processor ", clazz);
+                instances.add(factory.newInstance(clazz));
+            }
+            for (ObjectPostProcessor pp : instances) {
+                ((DefaultObjectFactory) factory).addPostProcessor(pp);
+            }
+        }
     }
 }


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to