Author: ivaynberg
Date: Mon Apr 27 15:18:27 2009
New Revision: 769025

URL: http://svn.apache.org/viewvc?rev=769025&view=rev
Log:
WICKET-2241 Guice integration doesn't honour optional bindings

Modified:
    
wicket/trunk/wicket-guice/src/main/java/org/apache/wicket/guice/GuiceProxyTargetLocator.java

Modified: 
wicket/trunk/wicket-guice/src/main/java/org/apache/wicket/guice/GuiceProxyTargetLocator.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-guice/src/main/java/org/apache/wicket/guice/GuiceProxyTargetLocator.java?rev=769025&r1=769024&r2=769025&view=diff
==============================================================================
--- 
wicket/trunk/wicket-guice/src/main/java/org/apache/wicket/guice/GuiceProxyTargetLocator.java
 (original)
+++ 
wicket/trunk/wicket-guice/src/main/java/org/apache/wicket/guice/GuiceProxyTargetLocator.java
 Mon Apr 27 15:18:27 2009
@@ -116,9 +116,21 @@
 
                // if the Inject annotation is marked optional and no binding 
is found
                // then skip this injection (WICKET-2241)
-               if (optional && injector.getBinding(key) == null)
+               if (optional)
                {
-                       return null;
+                       // Guice 2.0 throws a ConfigurationException if no 
binding is find while 1.0 simply
+                       // returns null.
+                       try
+                       {
+                               if (injector.getBinding(key) == null)
+                               {
+                                       return null;
+                               }
+                       }
+                       catch (RuntimeException e)
+                       {
+                               return null;
+                       }
                }
 
                return injector.getInstance(key);


Reply via email to