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;
                }


Reply via email to