[Yanel-commits] rev 43139 -
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet
michi at wyona.com
michi at wyona.com
Fri Jun 5 15:13:49 CEST 2009
Author: michi
Date: 2009-06-05 15:13:48 +0200 (Fri, 05 Jun 2009)
New Revision: 43139
Modified:
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
introspection moved into separate method
Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2009-06-05 12:54:19 UTC (rev 43138)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2009-06-05 13:13:48 UTC (rev 43139)
@@ -625,29 +625,9 @@
}
// END first try
- // TODO: Move this introspection generation somewhere else ...
// START introspection generation
- try {
- if (usecase != null && usecase.equals("introspection")) {
- if (ResourceAttributeHelper.hasAttributeImplemented(res, "Introspectable", "1")) {
- String introspection = ((IntrospectableV1)res).getIntrospection();
- response.setContentType("application/xml");
- response.setStatus(javax.servlet.http.HttpServletResponse.SC_OK);
- response.getWriter().print(introspection);
- } else {
- String message = "Resource is not introspectable.";
- Element exceptionElement = (Element) rootElement.appendChild(doc.createElementNS(NAMESPACE, "exception"));
- exceptionElement.appendChild(doc.createTextNode(message));
- setYanelOutput(request, response, doc);
- }
- return;
- }
- } catch(Exception e) {
- log.error(e.getMessage(), e);
- Element exceptionElement = (Element) rootElement.appendChild(doc.createElementNS(NAMESPACE, "exception"));
- exceptionElement.appendChild(doc.createTextNode(e.getMessage()));
- response.setStatus(javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- setYanelOutput(request, response, doc);
+ if (usecase != null && usecase.equals("introspection")) {
+ sendIntrospectionAsResponse(res, doc, rootElement, request, response);
return;
}
// END introspection generation
@@ -2265,4 +2245,31 @@
private String getClientAuthenticationScheme(HttpServletRequest request) {
return request.getHeader("WWW-Authenticate");
}
+
+ /**
+ * Respond with introspection
+ */
+ private void sendIntrospectionAsResponse(Resource res, Document doc, Element rootElement, HttpServletRequest request, HttpServletResponse response) throws ServletException {
+ try {
+ if (ResourceAttributeHelper.hasAttributeImplemented(res, "Introspectable", "1")) {
+ String introspection = ((IntrospectableV1)res).getIntrospection();
+ response.setContentType("application/xml");
+ response.setStatus(javax.servlet.http.HttpServletResponse.SC_OK);
+ response.getWriter().print(introspection);
+ } else {
+ String message = "Resource is not introspectable.";
+ Element exceptionElement = (Element) rootElement.appendChild(doc.createElementNS(NAMESPACE, "exception"));
+ exceptionElement.appendChild(doc.createTextNode(message));
+ setYanelOutput(request, response, doc);
+ }
+ return;
+ } catch(Exception e) {
+ log.error(e.getMessage(), e);
+ Element exceptionElement = (Element) rootElement.appendChild(doc.createElementNS(NAMESPACE, "exception"));
+ exceptionElement.appendChild(doc.createTextNode(e.getMessage()));
+ response.setStatus(javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ setYanelOutput(request, response, doc);
+ return;
+ }
+ }
}
More information about the Yanel-commits
mailing list