提交 d5918cfe 编写于 作者: K kohsuke

added preliminary schema generation support.


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@3462 71c3de6d-444a-0410-be80-ed276b4c234a
上级 25c1a668
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
<dependency> <dependency>
<groupId>org.kohsuke.stapler</groupId> <groupId>org.kohsuke.stapler</groupId>
<artifactId>stapler</artifactId> <artifactId>stapler</artifactId>
<version>1.32</version> <version>1.33</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.kohsuke</groupId> <groupId>org.kohsuke</groupId>
...@@ -252,5 +252,10 @@ ...@@ -252,5 +252,10 @@
<artifactId>commons-logging</artifactId> <artifactId>commons-logging</artifactId>
<version>1.1</version> <version>1.1</version>
</dependency> </dependency>
<dependency>
<groupId>com.sun.xml.txw2</groupId>
<artifactId>txw2</artifactId>
<version>20070616</version>
</dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
...@@ -4,8 +4,11 @@ import org.kohsuke.stapler.StaplerRequest; ...@@ -4,8 +4,11 @@ import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse; import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.export.Flavor; import org.kohsuke.stapler.export.Flavor;
import org.kohsuke.stapler.export.SchemaGenerator;
import org.kohsuke.stapler.export.ModelBuilder;
import javax.servlet.ServletException; import javax.servlet.ServletException;
import javax.xml.transform.stream.StreamResult;
import java.io.IOException; import java.io.IOException;
/** /**
...@@ -35,6 +38,16 @@ public class Api extends AbstractModelObject { ...@@ -35,6 +38,16 @@ public class Api extends AbstractModelObject {
rsp.serveExposedBean(req,bean, Flavor.XML); rsp.serveExposedBean(req,bean, Flavor.XML);
} }
/**
* Generate schema.
*/
public void doSchema(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
rsp.setContentType("application/xml");
StreamResult r = new StreamResult(rsp.getOutputStream());
new SchemaGenerator(new ModelBuilder().get(bean.getClass())).generateSchema(r);
r.getOutputStream().close();
}
/** /**
* Exposes the bean as JSON. * Exposes the bean as JSON.
*/ */
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
<dt><a href="xml">XML API</a></dt> <dt><a href="xml">XML API</a></dt>
<dd> <dd>
Access data exposed in <a href="..">HTML</a> as XML for machine consumption. Access data exposed in <a href="..">HTML</a> as XML for machine consumption.
<a href="schema">Schema</a> is also available.
</dd> </dd>
<dt><a href="json">JSON API</a></dt> <dt><a href="json">JSON API</a></dt>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册