WINK-360 - Applying patch from gentaro oka to allow injection of members of Handler with Guice when using custom handlers

git-svn-id: https://svn.apache.org/repos/asf/incubator/wink/trunk@1328776 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/wink-guice-server/src/main/java/org/apache/wink/guice/server/internal/GuiceDeploymentConfiguration.java b/wink-guice-server/src/main/java/org/apache/wink/guice/server/internal/GuiceDeploymentConfiguration.java
index 3217e68..61f6f94 100644
--- a/wink-guice-server/src/main/java/org/apache/wink/guice/server/internal/GuiceDeploymentConfiguration.java
+++ b/wink-guice-server/src/main/java/org/apache/wink/guice/server/internal/GuiceDeploymentConfiguration.java
@@ -22,6 +22,7 @@
 import org.apache.wink.common.internal.lifecycle.LifecycleManagersRegistry;
 import org.apache.wink.guice.server.internal.lifecycle.GuiceInjectorLifeCycleManager;
 import org.apache.wink.guice.server.internal.lifecycle.WinkGuiceModule;
+import org.apache.wink.server.handlers.Handler;
 import org.apache.wink.server.internal.DeploymentConfiguration;
 
 import com.google.inject.Guice;
@@ -34,11 +35,21 @@
     public GuiceDeploymentConfiguration() {
         LifecycleManagersRegistry lifecycleManagersRegistry = new LifecycleManagersRegistry();
         setOfFactoryRegistry(lifecycleManagersRegistry);
-        Injector injector = Guice.createInjector(createModules());
+        injector = Guice.createInjector(createModules());
         lifecycleManagersRegistry.addFactoryFactory(new GuiceInjectorLifeCycleManager(injector));
     }
 
     public Module[] createModules() {
         return new Module[] {new WinkGuiceModule()};
     }
+    
+	private final Injector injector;
+	@Override
+	protected <T extends Handler> T createHandler(Class<T> cls) {
+		try {
+			return injector.getInstance(cls);
+		} catch (Throwable th) {
+			return super.createHandler(cls);
+		}
+	}
 }