SLING-6790 : Enable aliases even if referenced format is disabled
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1792634 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/servlets/get/impl/DefaultGetServlet.java b/src/main/java/org/apache/sling/servlets/get/impl/DefaultGetServlet.java
index fd5c4bb..33322b0 100644
--- a/src/main/java/org/apache/sling/servlets/get/impl/DefaultGetServlet.java
+++ b/src/main/java/org/apache/sling/servlets/get/impl/DefaultGetServlet.java
@@ -175,18 +175,27 @@
}
private Servlet getDefaultRendererServlet(final String type) {
+ Servlet servlet = null;
if ( StreamRendererServlet.EXT_RES.equals(type) ) {
- return new StreamRendererServlet(index, indexFiles);
+ servlet = new StreamRendererServlet(index, indexFiles);
} else if ( HtmlRendererServlet.EXT_HTML.equals(type) ) {
- return new HtmlRendererServlet();
+ servlet = new HtmlRendererServlet();
} else if ( PlainTextRendererServlet.EXT_TXT.equals(type) ) {
- return new PlainTextRendererServlet();
+ servlet = new PlainTextRendererServlet();
} else if (JsonRendererServlet.EXT_JSON.equals(type) ) {
- return new JsonRendererServlet(jsonMaximumResults);
+ servlet = new JsonRendererServlet(jsonMaximumResults);
} else if ( XMLRendererServlet.EXT_XML.equals(type) ) {
- return new XMLRendererServlet();
+ servlet = new XMLRendererServlet();
}
- return null;
+ if ( servlet != null ) {
+ try {
+ servlet.init(getServletConfig());
+ } catch (Throwable t) {
+ logger.error("Error while initializing servlet " + servlet, t);
+ servlet = null;
+ }
+ }
+ return servlet;
}
@Override
@@ -194,22 +203,27 @@
super.init();
// Register renderer servlets
- setupServlet(rendererMap, StreamRendererServlet.EXT_RES);
+ rendererMap.put(StreamRendererServlet.EXT_RES,
+ getDefaultRendererServlet(StreamRendererServlet.EXT_RES));
if (enableHtml) {
- setupServlet(rendererMap, HtmlRendererServlet.EXT_HTML);
+ rendererMap.put(HtmlRendererServlet.EXT_HTML,
+ getDefaultRendererServlet(HtmlRendererServlet.EXT_HTML));
}
if (enableTxt) {
- setupServlet(rendererMap, PlainTextRendererServlet.EXT_TXT);
+ rendererMap.put(PlainTextRendererServlet.EXT_TXT,
+ getDefaultRendererServlet(PlainTextRendererServlet.EXT_TXT));
}
if (enableJson) {
- setupServlet(rendererMap, JsonRendererServlet.EXT_JSON);
+ rendererMap.put(JsonRendererServlet.EXT_JSON,
+ getDefaultRendererServlet(JsonRendererServlet.EXT_JSON));
}
if (enableXml) {
- setupServlet(rendererMap, XMLRendererServlet.EXT_XML);
+ rendererMap.put(XMLRendererServlet.EXT_XML,
+ getDefaultRendererServlet(XMLRendererServlet.EXT_XML));
}
// use the servlet for rendering StreamRendererServlet.EXT_RES as the
@@ -224,7 +238,7 @@
final String type = m.substring(0, pos);
Servlet servlet = rendererMap.get(type);
if ( servlet == null ) {
- servlet = setupServlet(rendererMap, type);
+ servlet = getDefaultRendererServlet(type);
}
if (servlet != null) {
final String extensions = m.substring(pos + 1);
@@ -314,18 +328,4 @@
super.destroy();
}
-
- private Servlet setupServlet(final Map<String, Servlet> rendererMap,
- final String key) {
- final Servlet servlet = getDefaultRendererServlet(key);
- if ( servlet != null ) {
- try {
- servlet.init(getServletConfig());
- rendererMap.put(key, servlet);
- } catch (Throwable t) {
- logger.error("Error while initializing servlet " + servlet, t);
- }
- }
- return servlet;
- }
}