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