Author: pete Date: Wed Jan 26 22:56:18 2011 New Revision: 1063913 URL: http://svn.apache.org/viewvc?rev=1063913&view=rev Log: WICKET-3393 remove ApplicationContextHolder from SpringComponentInjector
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application.java wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/SpringComponentInjector.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application.java?rev=1063913&r1=1063912&r2=1063913&view=diff ============================================================================== --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application.java Wed Jan 26 22:56:18 2011 @@ -559,7 +559,6 @@ public abstract class Application implem * @throws IllegalArgumentException * @see MetaDataKey */ - // TODO: Replace the Serializable type with Object for next wicket version public final synchronized <T> void setMetaData(final MetaDataKey<T> key, final Object object) { metaData = key.set(metaData, object); Modified: wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/SpringComponentInjector.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/SpringComponentInjector.java?rev=1063913&r1=1063912&r2=1063913&view=diff ============================================================================== --- wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/SpringComponentInjector.java (original) +++ wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/SpringComponentInjector.java Wed Jan 26 22:56:18 2011 @@ -20,7 +20,6 @@ import javax.servlet.ServletContext; import org.apache.wicket.Application; import org.apache.wicket.Component; -import org.apache.wicket.IClusterable; import org.apache.wicket.MetaDataKey; import org.apache.wicket.Session; import org.apache.wicket.application.IComponentInstantiationListener; @@ -50,11 +49,10 @@ public class SpringComponentInjector ext private final IFieldValueFactory fieldValueFactory; /** - * Metadata key used to store application context holder in application's metadata + * Metadata key used to store application context in application's metadata */ - private static MetaDataKey<ApplicationContextHolder> CONTEXT_KEY = new MetaDataKey<ApplicationContextHolder>() + private static MetaDataKey<ApplicationContext> CONTEXT_KEY = new MetaDataKey<ApplicationContext>() { - private static final long serialVersionUID = 1L; }; @@ -114,7 +112,7 @@ public class SpringComponentInjector ext } // store context in application's metadata ... - webapp.setMetaData(CONTEXT_KEY, new ApplicationContextHolder(ctx)); + webapp.setMetaData(CONTEXT_KEY, ctx); fieldValueFactory = new AnnotProxyFieldValueFactory(new ContextLocator(), wrapInProxies); bind(webapp); } @@ -132,40 +130,6 @@ public class SpringComponentInjector ext inject(component); } - /** - * This is a holder for the application context. The reason we need a holder is that metadata - * only supports storing serializable objects but application context is not. The holder acts as - * a serializable wrapper for the context. Notice that although holder implements IClusterable - * it really is not because it has a reference to non serializable context - but this is ok - * because metadata objects in application are never serialized. - * - * @author ivaynberg - * - */ - private static class ApplicationContextHolder implements IClusterable - { - private static final long serialVersionUID = 1L; - - private final ApplicationContext context; - - /** - * Constructor - * - * @param context - */ - public ApplicationContextHolder(final ApplicationContext context) - { - this.context = context; - } - - /** - * @return the context - */ - public ApplicationContext getContext() - { - return context; - } - } /** * A context locator that locates the context in application's metadata. This locator also keeps @@ -184,7 +148,7 @@ public class SpringComponentInjector ext { if (context == null) { - context = (Application.get().getMetaData(CONTEXT_KEY)).getContext(); + context = Application.get().getMetaData(CONTEXT_KEY); } return context; }