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 2013/10/05 02:27:29 UTC
svn commit: r1529361 -
/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/
Author: orudyy
Date: Sat Oct 5 00:27:28 2013
New Revision: 1529361
URL: http://svn.apache.org/r1529361
Log:
QPID-5138: Remove the duplicate code processing servlet path info
Modified:
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/UserPreferencesServlet.java
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java?rev=1529361&r1=1529360&r2=1529361&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java Sat Oct 5 00:27:28 2013
@@ -275,4 +275,14 @@ public abstract class AbstractServlet ex
mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
mapper.writeValue(writer, object);
}
+
+ protected String[] getPathInfoElements(HttpServletRequest request)
+ {
+ String pathInfo = request.getPathInfo();
+ if (pathInfo != null && pathInfo.length() > 0)
+ {
+ return pathInfo.substring(1).split("/");
+ }
+ return null;
+ }
}
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java?rev=1529361&r1=1529360&r2=1529361&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java Sat Oct 5 00:27:28 2013
@@ -44,8 +44,8 @@ public class MessageContentServlet exten
@Override
protected void doGetWithSubjectAndActor(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
-
- if(request.getPathInfo() != null && request.getPathInfo().length()>0 && request.getPathInfo().substring(1).split("/").length > 2)
+ String[] pathInfoElements = getPathInfoElements(request);
+ if(pathInfoElements != null && pathInfoElements.length > 2)
{
getMessageContent(request, response);
}
@@ -55,7 +55,7 @@ public class MessageContentServlet exten
private void getMessageContent(HttpServletRequest request, HttpServletResponse response) throws IOException
{
Queue queue = getQueueFromRequest(request);
- String path[] = request.getPathInfo().substring(1).split("/");
+ String path[] = getPathInfoElements(request);
MessageFinder finder = new MessageFinder(Long.parseLong(path[2]));
queue.visit(finder);
if(finder.isFound())
@@ -70,15 +70,15 @@ public class MessageContentServlet exten
private Queue getQueueFromRequest(HttpServletRequest request)
{
- List<String> names = new ArrayList<String>();
// TODO - validation that there is a vhost and queue and only those in the path
- if(request.getPathInfo() != null && request.getPathInfo().length()>0)
+
+ String[] pathInfoElements = getPathInfoElements(request);
+ if(pathInfoElements == null || pathInfoElements.length < 2)
{
- String path = request.getPathInfo().substring(1);
- names.addAll(Arrays.asList(path.split("/")));
+ throw new IllegalArgumentException("Invalid path is specified");
}
- String vhostName = names.get(0);
- String queueName = names.get(1);
+ String vhostName = pathInfoElements[0];
+ String queueName = pathInfoElements[1];
VirtualHost vhost = null;
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java?rev=1529361&r1=1529360&r2=1529361&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java Sat Oct 5 00:27:28 2013
@@ -56,8 +56,8 @@ public class MessageServlet extends Abst
@Override
protected void doGetWithSubjectAndActor(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
-
- if(request.getPathInfo() != null && request.getPathInfo().length()>0 && request.getPathInfo().substring(1).split("/").length > 2)
+ String[] pathInfoElements = getPathInfoElements(request);
+ if(pathInfoElements != null && pathInfoElements.length > 2)
{
getMessageContent(request, response);
}
@@ -71,7 +71,7 @@ public class MessageServlet extends Abst
private void getMessageContent(HttpServletRequest request, HttpServletResponse response) throws IOException
{
Queue queue = getQueueFromRequest(request);
- String path[] = request.getPathInfo().substring(1).split("/");
+ String path[] = getPathInfoElements(request);
MessageFinder messageFinder = new MessageFinder(Long.parseLong(path[2]));
queue.visit(messageFinder);
@@ -124,15 +124,15 @@ public class MessageServlet extends Abst
private Queue getQueueFromRequest(HttpServletRequest request)
{
- List<String> names = new ArrayList<String>();
// TODO - validation that there is a vhost and queue and only those in the path
- if(request.getPathInfo() != null && request.getPathInfo().length()>0)
+
+ String[] pathInfoElements = getPathInfoElements(request);
+ if(pathInfoElements == null || pathInfoElements.length < 2)
{
- String path = request.getPathInfo().substring(1);
- names.addAll(Arrays.asList(path.split("/")));
+ throw new IllegalArgumentException("Invalid path is specified");
}
- String vhostName = names.get(0);
- String queueName = names.get(1);
+ String vhostName = pathInfoElements[0];
+ String queueName = pathInfoElements[1];
VirtualHost vhost = null;
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java?rev=1529361&r1=1529360&r2=1529361&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java Sat Oct 5 00:27:28 2013
@@ -115,16 +115,15 @@ public class RestServlet extends Abstrac
protected Collection<ConfiguredObject> getObjects(HttpServletRequest request)
{
+ String[] pathInfoElements = getPathInfoElements(request);
List<String> names = new ArrayList<String>();
- if(request.getPathInfo() != null && request.getPathInfo().length()>0)
+ if(pathInfoElements != null)
{
- String path = request.getPathInfo().substring(1);
- names.addAll(Arrays.asList(path.split("/")));
-
- if(names.size() > _hierarchy.length)
+ if(pathInfoElements.length > _hierarchy.length)
{
throw new IllegalArgumentException("Too many entries in path. Expected " + _hierarchy.length + "; path: " + names);
}
+ names.addAll(Arrays.asList(pathInfoElements));
}
Collection<ConfiguredObject> parents = Collections.singleton((ConfiguredObject) getBroker());
@@ -329,16 +328,15 @@ public class RestServlet extends Abstrac
List<String> names = new ArrayList<String>();
- if(request.getPathInfo() != null && request.getPathInfo().length()>0)
+ String[] pathInfoElements = getPathInfoElements(request);
+ if(pathInfoElements != null )
{
- String path = request.getPathInfo().substring(1);
- names.addAll(Arrays.asList(path.split("/")));
-
- if(names.size() != _hierarchy.length)
+ if(pathInfoElements.length != _hierarchy.length)
{
throw new IllegalArgumentException("Path to object to create must be fully specified. "
+ "Found " + names + " of size " + names.size() + " expecting " + _hierarchy.length);
}
+ names.addAll(Arrays.asList(pathInfoElements));
}
if (names.isEmpty())
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/UserPreferencesServlet.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/UserPreferencesServlet.java?rev=1529361&r1=1529360&r2=1529361&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/UserPreferencesServlet.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/UserPreferencesServlet.java Sat Oct 5 00:27:28 2013
@@ -50,11 +50,7 @@ public class UserPreferencesServlet exte
protected void doGetWithSubjectAndActor(HttpServletRequest request, HttpServletResponse response) throws IOException,
ServletException
{
- String[] pathElements = null;
- if (request.getPathInfo() != null && request.getPathInfo().length() > 0)
- {
- pathElements = request.getPathInfo().substring(1).split("/");
- }
+ String[] pathElements = getPathInfoElements(request);
if (pathElements != null && pathElements.length > 1)
{
getUserPreferences(pathElements[0], pathElements[1], response);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org