You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ry...@apache.org on 2012/04/09 20:22:31 UTC
svn commit: r1311363 - in /lucene/dev/trunk/solr:
core/src/java/org/apache/solr/servlet/LogLevelSelection.java
core/src/java/org/apache/solr/servlet/RedirectServlet.java
webapp/web/WEB-INF/web.xml
Author: ryan
Date: Mon Apr 9 18:22:31 2012
New Revision: 1311363
URL: http://svn.apache.org/viewvc?rev=1311363&view=rev
Log:
SOLR-3337: redirect old UI locations to new UI
Added:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/RedirectServlet.java (with props)
Removed:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/LogLevelSelection.java
Modified:
lucene/dev/trunk/solr/webapp/web/WEB-INF/web.xml
Added: lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/RedirectServlet.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/RedirectServlet.java?rev=1311363&view=auto
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/RedirectServlet.java (added)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/RedirectServlet.java Mon Apr 9 18:22:31 2012
@@ -0,0 +1,67 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.solr.servlet;
+
+import java.io.IOException;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * A Simple redirection servlet to help us deprecate old UI elements
+ */
+public class RedirectServlet extends HttpServlet{
+
+ static final String CONTEXT_KEY = "${context}";
+
+ String destination;
+ int code = HttpServletResponse.SC_MOVED_PERMANENTLY;
+
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+
+ destination = config.getInitParameter("destination");
+ if(destination==null) {
+ throw new ServletException("RedirectServlet missing destination configuration");
+ }
+ if( "false".equals(config.getInitParameter("permanent") )) {
+ code = HttpServletResponse.SC_MOVED_TEMPORARILY;
+ }
+
+ // Replace the context key
+ if(destination.startsWith(CONTEXT_KEY)) {
+ destination = config.getServletContext().getContextPath()
+ +destination.substring(CONTEXT_KEY.length());
+ }
+ }
+
+ public void doGet(HttpServletRequest req, HttpServletResponse res)
+ throws ServletException,IOException {
+
+ res.setStatus(code);
+ res.setHeader("Location", destination);
+ }
+
+ public void doPost(HttpServletRequest req, HttpServletResponse res)
+ throws ServletException,IOException {
+ doGet(req,res);
+ }
+}
\ No newline at end of file
Modified: lucene/dev/trunk/solr/webapp/web/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/webapp/web/WEB-INF/web.xml?rev=1311363&r1=1311362&r2=1311363&view=diff
==============================================================================
--- lucene/dev/trunk/solr/webapp/web/WEB-INF/web.xml (original)
+++ lucene/dev/trunk/solr/webapp/web/WEB-INF/web.xml Mon Apr 9 18:22:31 2012
@@ -84,11 +84,6 @@
</filter-mapping>
<servlet>
- <servlet-name>Logging</servlet-name>
- <servlet-class>org.apache.solr.servlet.LogLevelSelection</servlet-class>
- </servlet>
-
- <servlet>
<servlet-name>Zookeeper</servlet-name>
<servlet-class>org.apache.solr.servlet.ZookeeperInfoServlet</servlet-class>
</servlet>
@@ -97,13 +92,54 @@
<servlet-name>LoadAdminUI</servlet-name>
<servlet-class>org.apache.solr.servlet.LoadAdminUiServlet</servlet-class>
</servlet>
-
- <!-- Will be removed before 4.0 release! -->
+
+ <!-- Remove in Solr 5.0 -->
+ <!-- This sends SC_MOVED_PERMANENTLY (301) for resources that changed in 4.0 -->
+ <servlet>
+ <servlet-name>RedirectOldAdminUI</servlet-name>
+ <servlet-class>org.apache.solr.servlet.RedirectServlet</servlet-class>
+ <init-param>
+ <param-name>destination</param-name>
+ <param-value>${context}/#/</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>RedirectOldZookeeper</servlet-name>
+ <servlet-class>org.apache.solr.servlet.RedirectServlet</servlet-class>
+ <init-param>
+ <param-name>destination</param-name>
+ <param-value>${context}/zookeeper</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>RedirectLogging</servlet-name>
+ <servlet-class>org.apache.solr.servlet.RedirectServlet</servlet-class>
+ <init-param>
+ <param-name>destination</param-name>
+ <param-value>${context}/#/~logging</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>RedirectOldAdminUI</servlet-name>
+ <url-pattern>/admin/</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>RedirectOldAdminUI</servlet-name>
+ <url-pattern>/admin</url-pattern>
+ </servlet-mapping>
<servlet-mapping>
- <servlet-name>Logging</servlet-name>
+ <servlet-name>RedirectOldZookeeper</servlet-name>
+ <url-pattern>/zookeeper.jsp</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>RedirectLogging</servlet-name>
<url-pattern>/logging</url-pattern>
</servlet-mapping>
-
+
+ <!-- Servlet Mapping -->
<servlet-mapping>
<servlet-name>Zookeeper</servlet-name>
<url-pattern>/zookeeper</url-pattern>
@@ -113,7 +149,7 @@
<servlet-name>LoadAdminUI</servlet-name>
<url-pattern>/admin.html</url-pattern>
</servlet-mapping>
-
+
<mime-mapping>
<extension>.xsl</extension>
<!-- per http://www.w3.org/TR/2006/PR-xslt20-20061121/ -->