You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2020/09/02 19:32:51 UTC
[qpid-broker-j] 04/10: QPID-8458: [Broker-J] Removed RewriteServlet
from HTTP management
This is an automated email from the ASF dual-hosted git repository.
orudyy pushed a commit to branch 7.1.x
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git
commit 1c0446625a438569d27f7a401fadefebd253de55
Author: Tomas Vavricka <to...@deutsche-boerse.com>
AuthorDate: Tue Aug 4 14:09:27 2020 +0000
QPID-8458: [Broker-J] Removed RewriteServlet from HTTP management
(cherry picked from commit 370fb357b766c2c5d3e3016a274601650181cd1a)
---
.../server/management/plugin/HttpManagement.java | 11 +---
.../server/management/plugin/RewriteServlet.java | 55 -------------------
.../plugin/servlet/rest/ApiDocsServlet.java | 64 ++++++++++------------
3 files changed, 32 insertions(+), 98 deletions(-)
diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
index c6bed8a..39709df 100644
--- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
+++ b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
@@ -382,10 +382,10 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem
ServletHolder apiDocsServlet = new ServletHolder(new ApiDocsServlet());
- final ServletHolder rewriteSerlvet = new ServletHolder(new RewriteServlet("^(.*)$", "$1/"));
- for(String path : new String[]{"/apidocs", "/apidocs/latest", "/apidocs/"+getLatestSupportedVersion()})
+ final String version = "v" + BrokerModel.MODEL_VERSION;
+ for (final String path : new String[]{"/apidocs", "/apidocs/latest", "/apidocs/" + version})
{
- root.addServlet(rewriteSerlvet, path);
+ root.addServlet(apiDocsServlet, path);
root.addServlet(apiDocsServlet, path + "/");
}
@@ -763,11 +763,6 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem
root.addServlet(versionsServletHolder, "/api/");
}
- private String getLatestSupportedVersion()
- {
- return "v"+String.valueOf(BrokerModel.MODEL_VERSION);
- }
-
private void logOperationalListenMessages()
{
for (Map.Entry<HttpPort<?>, ServerConnector> portConnector : _portConnectorMap.entrySet())
diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/RewriteServlet.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/RewriteServlet.java
deleted file mode 100644
index c222662..0000000
--- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/RewriteServlet.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- *
- * 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.qpid.server.management.plugin;
-
-import java.io.IOException;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-public class RewriteServlet extends HttpServlet
-{
- private static final long serialVersionUID = 1L;
-
- private final String _pattern;
- private final String _replacement;
-
- public RewriteServlet(final String pattern, final String replacement)
- {
- _pattern = pattern;
- _replacement = replacement;
-
- }
-
- @Override
- protected void service(final HttpServletRequest req, final HttpServletResponse resp)
- throws ServletException, IOException
- {
- String location = req.getRequestURI().replaceAll(_pattern, _replacement);
- if(req.getQueryString() != null)
- {
- location += "?" + req.getQueryString();
- }
- resp.sendRedirect(location);
- }
-}
diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ApiDocsServlet.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ApiDocsServlet.java
index 6e5bddc..ca1c9d2 100644
--- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ApiDocsServlet.java
+++ b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ApiDocsServlet.java
@@ -18,17 +18,24 @@ package org.apache.qpid.server.management.plugin.servlet.rest;
import java.io.IOException;
import java.io.PrintWriter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.EnumSet;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectAttribute;
import org.apache.qpid.server.model.ConfiguredObjectAttributeOrStatistic;
@@ -45,23 +52,12 @@ public class ApiDocsServlet extends AbstractServlet
{
private static final long serialVersionUID = 1L;
- private static final Logger LOGGER = LoggerFactory.getLogger(ApiDocsServlet.class);
-
private static final Set<Character> VOWELS = new HashSet<>(Arrays.asList('a','e','i','o','u'));
public static final Comparator<Class<? extends ConfiguredObject>> CLASS_COMPARATOR =
- new Comparator<Class<? extends ConfiguredObject>>()
- {
- @Override
- public int compare(final Class<? extends ConfiguredObject> o1,
- final Class<? extends ConfiguredObject> o2)
- {
- return o1.getSimpleName().compareTo(o2.getSimpleName());
- }
-
- };
+ Comparator.comparing(Class::getSimpleName);
- private transient final ConcurrentMap<Class<? extends ConfiguredObject>, List<Class<? extends ConfiguredObject>>> _typeSpecialisations = new ConcurrentHashMap<>();
+ private final transient ConcurrentMap<Class<? extends ConfiguredObject>, List<Class<? extends ConfiguredObject>>> _typeSpecialisations = new ConcurrentHashMap<>();
public ApiDocsServlet()
{
@@ -71,9 +67,9 @@ public class ApiDocsServlet extends AbstractServlet
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response,
- final ConfiguredObject<?> managedObject) throws ServletException, IOException
+ final ConfiguredObject<?> managedObject) throws IOException
{
- ConfiguredObjectFinder finder = getConfiguredObjectFinder(managedObject);
+ final ConfiguredObjectFinder finder = getConfiguredObjectFinder(managedObject);
final Class<? extends ConfiguredObject> configuredClass;
@@ -81,7 +77,7 @@ public class ApiDocsServlet extends AbstractServlet
final String[] servletPathParts = request.getServletPath().split("/");
final Model model = managedObject.getModel();
- if(servletPathParts.length < 4)
+ if (servletPathParts.length < 4)
{
configuredClass = null;
hierarchy = null;
@@ -100,10 +96,10 @@ public class ApiDocsServlet extends AbstractServlet
sendError(response, HttpServletResponse.SC_NOT_FOUND);
return;
}
- if(!_typeSpecialisations.containsKey(configuredClass))
+ if (!_typeSpecialisations.containsKey(configuredClass))
{
- List<Class<? extends ConfiguredObject>> types = new ArrayList<>(model
- .getTypeRegistry().getTypeSpecialisations(configuredClass));
+ final List<Class<? extends ConfiguredObject>> types =
+ new ArrayList<>(model.getTypeRegistry().getTypeSpecialisations(configuredClass));
_typeSpecialisations.putIfAbsent(configuredClass, types);
}
}
@@ -111,12 +107,12 @@ public class ApiDocsServlet extends AbstractServlet
response.setStatus(HttpServletResponse.SC_OK);
- PrintWriter writer = response.getWriter();
+ final PrintWriter writer = response.getWriter();
writePreamble(writer);
writeHead(writer, hierarchy, configuredClass);
- if(hierarchy == null)
+ if (hierarchy == null)
{
writer.println("<table class=\"api\">");
writer.println("<thead>");
@@ -127,23 +123,21 @@ public class ApiDocsServlet extends AbstractServlet
writer.println("</tr>");
writer.println("</thead>");
writer.println("<tbody>");
- SortedSet<Class<? extends ConfiguredObject>> managedCategories = new TreeSet<>(CLASS_COMPARATOR);
+ final SortedSet<Class<? extends ConfiguredObject>> managedCategories = new TreeSet<>(CLASS_COMPARATOR);
managedCategories.addAll(finder.getManagedCategories());
- String pathStem = "/" + servletPathParts[1] + "/" + (servletPathParts.length == 2 ? "latest" : servletPathParts[2]) + "/";
- for(Class<? extends ConfiguredObject> category : managedCategories)
+ final String pathStem = "/" + servletPathParts[1] + "/" + (servletPathParts.length == 2 ? "latest" : servletPathParts[2]) + "/";
+ for (final Class<? extends ConfiguredObject> category : managedCategories)
{
- Class<? extends ConfiguredObject> objClass = category;
- String path = pathStem + category.getSimpleName().toLowerCase();
+ final String path = pathStem + category.getSimpleName().toLowerCase();
writer.println("<tr>");
- writer.println("<td class=\"type\"><a href=" + ((servletPathParts.length == 2) ? "\"latest/" : "")+ objClass.getSimpleName().toLowerCase()+"\">"+objClass.getSimpleName()+"</a></td>");
+ writer.println("<td class=\"type\"><a href=" + path + ">" + category.getSimpleName() + "</a></td>");
writer.println("<td class=\"path\">" + path + "</td>");
- writer.println("<td class=\"description\">"+
- objClass.getAnnotation(ManagedObject.class).description()+"</td>");
+ writer.println("<td class=\"description\">" +
+ category.getAnnotation(ManagedObject.class).description()+"</td>");
writer.println("</tr>");
}
writer.println("</tbody>");
writer.println("</table>");
-
}
else
{
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org