[Yanel-commits] rev 23262 -
public/yanel/trunk/src/core/java/org/wyona/yanel/servlet
michi at wyona.com
michi at wyona.com
Wed Mar 14 17:14:22 CET 2007
Author: michi
Date: 2007-03-14 17:14:21 +0100 (Wed, 14 Mar 2007)
New Revision: 23262
Modified:
public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
introspection added
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java 2007-03-14 09:47:53 UTC (rev 23261)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java 2007-03-14 16:14:21 UTC (rev 23262)
@@ -38,6 +38,7 @@
import org.wyona.yanel.core.ResourceTypeIdentifier;
import org.wyona.yanel.core.ResourceTypeRegistry;
import org.wyona.yanel.core.Yanel;
+import org.wyona.yanel.core.api.attributes.IntrospectableV1;
import org.wyona.yanel.core.api.attributes.ModifiableV1;
import org.wyona.yanel.core.api.attributes.ModifiableV2;
import org.wyona.yanel.core.api.attributes.VersionableV2;
@@ -505,6 +506,25 @@
return;
}
+ // TODO: Move this introspection generation somewhere else ...
+ try {
+ if (usecase != null && usecase.equals("introspection")) {
+ if (ResourceAttributeHelper.hasAttributeImplemented(res, "Introspectable", "1")) {
+ String introspection = ((IntrospectableV1)res).getIntrospection();
+ response.setContentType("application/neutron+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);
+ }
String meta = request.getParameter("yanel.resource.meta");
More information about the Yanel-commits
mailing list