You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2009/04/27 17:18:28 UTC

svn commit: r769025 - /wicket/trunk/wicket-guice/src/main/java/org/apache/wicket/guice/GuiceProxyTargetLocator.java

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