From 3f5b8f5d9203aa7ffb7fbe9cdbaf9dba3da6cae6 Mon Sep 17 00:00:00 2001
From: Hybris95 <hybris_95@hotmail.com>
Date: Thu, 01 May 2014 16:14:15 -0400
Subject: [PATCH] Fixes sort, page building and search functions on "my tickets" page.

---
 src/main/java/com/gitblit/dagger/DaggerWicketFilter.java |   99 ++++++++++++++++++++++---------------------------
 1 files changed, 45 insertions(+), 54 deletions(-)

diff --git a/src/main/java/com/gitblit/dagger/DaggerWicketFilter.java b/src/main/java/com/gitblit/dagger/DaggerWicketFilter.java
index b778f1f..c2fd4d6 100644
--- a/src/main/java/com/gitblit/dagger/DaggerWicketFilter.java
+++ b/src/main/java/com/gitblit/dagger/DaggerWicketFilter.java
@@ -1,54 +1,45 @@
-/*
- * Copyright 2013 gitblit.com.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.gitblit.dagger;
-
-import groovy.lang.Singleton;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-
-import org.apache.wicket.protocol.http.IWebApplicationFactory;
-import org.apache.wicket.protocol.http.WebApplication;
-import org.apache.wicket.protocol.http.WicketFilter;
-
-/**
- *
- * A Wicket filter that supports Dagger injection.
- *
- * @author James Moger
- *
- */
-@Singleton
-public class DaggerWicketFilter extends WicketFilter {
-
-	@Inject
-	Provider<WebApplication> webApplicationProvider;
-
-	@Inject
-	public DaggerWicketFilter() {
-		super();
-	}
-
-	@Override
-	protected IWebApplicationFactory getApplicationFactory() {
-		return new IWebApplicationFactory() {
-			@Override
-			public WebApplication createApplication(WicketFilter filter) {
-				return webApplicationProvider.get();
-			}
-		};
-	}
-}
+/*
+ * Copyright 2013 gitblit.com.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.gitblit.dagger;
+
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+
+import org.apache.wicket.protocol.http.WicketFilter;
+
+import dagger.ObjectGraph;
+
+/**
+ * Uses Dagger to manually inject dependencies into a Wicket filter.
+ * This class is useful for servlet containers that offer CDI and are
+ * confused by Dagger.
+ *
+ * @author James Moger
+ *
+ */
+public abstract class DaggerWicketFilter extends WicketFilter {
+
+	@Override
+	public final void init(FilterConfig filterConfig) throws ServletException {
+		ServletContext context = filterConfig.getServletContext();
+		ObjectGraph objectGraph = (ObjectGraph) context.getAttribute(DaggerContext.INJECTOR_NAME);
+		inject(objectGraph);
+		super.init(filterConfig);
+	}
+
+	protected abstract void inject(ObjectGraph dagger);
+}

--
Gitblit v1.9.1