Author: cziegeler
Date: Thu Sep 18 06:54:56 2014
New Revision: 1625896
URL: http://svn.apache.org/r1625896
Log:
SLING-3934 : SlingServletResolver webconsole plugin does show servlets which
are not within an execution path
Modified:
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
Modified:
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java?rev=1625896&r1=1625895&r2=1625896&view=diff
==============================================================================
---
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
(original)
+++
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
Thu Sep 18 06:54:56 2014
@@ -1179,8 +1179,13 @@ public class SlingServletResolver
tdLabel(pw, "URL");
tdContent(pw);
- pw.println("<input type='text' name='" + PARAMETER_URL + "'
value='" +
- (url != null ? url : "") + "' class='input'
size='50'>");
+ pw.print("<input type='text' name='");
+ pw.print(PARAMETER_URL);
+ pw.print("' value='");
+ if ( url != null ) {
+ pw.print(url);
+ }
+ pw.println("' class='input' size='50'>");
closeTd(pw);
closeTr(pw);
closeTr(pw);
@@ -1188,12 +1193,13 @@ public class SlingServletResolver
tr(pw);
tdLabel(pw, "Method");
tdContent(pw);
- pw.println("<select name='" + PARAMETER_METHOD + "'>");
+ pw.print("<select name='");
+ pw.print(PARAMETER_METHOD);
+ pw.println("'>");
pw.println("<option value='GET'>GET</option>");
pw.println("<option value='POST'>POST</option>");
pw.println("</select>");
- pw.println(" <input type='submit'" +
- "' value='Resolve' class='submit'>");
+ pw.println(" <input type='submit' value='Resolve'
class='submit'>");
closeTd(pw);
closeTr(pw);
@@ -1204,7 +1210,11 @@ public class SlingServletResolver
tdContent(pw);
pw.println("<dl>");
pw.println("<dt>Path</dt>");
- pw.println("<dd>" + requestPathInfo.getResourcePath() +
"<br/>" + CONSOLE_PATH_WARNING + "</dd>");
+ pw.print("<dd>");
+ pw.print(requestPathInfo.getResourcePath());
+ pw.print("<br/>");
+ pw.print(CONSOLE_PATH_WARNING);
+ pw.println("</dd>");
pw.println("<dt>Selectors</dt>");
pw.print("<dd>");
if (requestPathInfo.getSelectors().length == 0) {
@@ -1216,11 +1226,15 @@ public class SlingServletResolver
}
pw.println("</dd>");
pw.println("<dt>Extension</dt>");
- pw.println("<dd>" + requestPathInfo.getExtension() +
"</dd>");
+ pw.print("<dd>");
+ pw.print(requestPathInfo.getExtension());
+ pw.println("</dd>");
pw.println("</dl>");
pw.println("</dd>");
pw.println("<dt>Suffix</dt>");
- pw.println("<dd>" + requestPathInfo.getSuffix() + "</dd>");
+ pw.print("<dd>");
+ pw.print(requestPathInfo.getSuffix());
+ pw.println("</dd>");
pw.println("</dl>");
closeTd(pw);
closeTr(pw);
@@ -1248,10 +1262,11 @@ public class SlingServletResolver
if (servlets == null || servlets.isEmpty()) {
pw.println("Could not find a suitable servlet for this
request!");
} else {
- pw.println("Candidate servlets and scripts in order of
preference for method " + method + ":<br/>");
+ pw.print("Candidate servlets and scripts in order of
preference for method ");
+ pw.print(method);
+ pw.println(":<br/>");
pw.println("<ol class='servlets'>");
- Iterator<Resource> iterator = servlets.iterator();
- outputServlets(pw, iterator);
+ outputServlets(pw, servlets.iterator());
pw.println("</ol>");
}
pw.println("</td>");
@@ -1291,7 +1306,9 @@ public class SlingServletResolver
}
private void tdLabel(final PrintWriter pw, final String label) {
- pw.println("<td class='content'>" + label + "</td>");
+ pw.print("<td class='content'>");
+ pw.print(label);
+ pw.println("</td>");
}
private void tr(final PrintWriter pw) {
@@ -1303,30 +1320,42 @@ public class SlingServletResolver
Resource candidateResource = iterator.next();
Servlet candidate = candidateResource.adaptTo(Servlet.class);
if (candidate != null) {
- boolean isOptingServlet = false;
+ final boolean allowed =
isPathAllowed(candidateResource.getPath());
+ pw.print("<li>");
+ if ( !allowed ) {
+ pw.print("<del>");
+ }
if (candidate instanceof SlingScript) {
- pw.println("<li>" + candidateResource.getPath() +
"</li>");
+ pw.print(candidateResource.getPath());
} else {
- if (candidate instanceof OptingServlet) {
- isOptingServlet = true;
+ final boolean isOptingServlet = candidate instanceof
OptingServlet;
+ pw.print(candidate.getClass().getName());
+ if ( isOptingServlet ) {
+ pw.print(" (OptingServlet)");
}
- pw.println("<li>" + candidate.getClass().getName() +
(isOptingServlet ? " (OptingServlet)" : "") + "</li>");
}
+
+ if ( !allowed ) {
+ pw.print("</del>");
+ }
+ pw.println("</li>");
}
}
}
private void titleHtml(final PrintWriter pw, final String title, final
String description) {
tr(pw);
- pw.println("<th colspan='3' class='content container'>" + title +
- "</th>");
+ pw.print("<th colspan='3' class='content container'>");
+ pw.print(title);
+ pw.println("</th>");
closeTr(pw);
if (description != null) {
tr(pw);
- pw.println("<td colspan='3' class='content'>" + description +
- "</th>");
+ pw.print("<td colspan='3' class='content'>");
+ pw.print(description);
+ pw.println("</th>");
closeTr(pw);
}
}