diff options
author | dims <dims@13f79535-47bb-0310-9956-ffa450edef68> | 2008-06-17 00:23:01 +0000 |
---|---|---|
committer | dims <dims@13f79535-47bb-0310-9956-ffa450edef68> | 2008-06-17 00:23:01 +0000 |
commit | bdd0a41aed7edf21ec2a65cfa17a86af2ef8c48a (patch) | |
tree | 38a92061c0793434c4be189f1d70c3458b6bc41d /sandbox/old/contrib/management-console/src/main/java/org/apache/tuscany/sca/console/handler/scdl/ScdlContributionHandler.java |
Move Tuscany from Incubator to top level.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sandbox/old/contrib/management-console/src/main/java/org/apache/tuscany/sca/console/handler/scdl/ScdlContributionHandler.java')
-rw-r--r-- | sandbox/old/contrib/management-console/src/main/java/org/apache/tuscany/sca/console/handler/scdl/ScdlContributionHandler.java | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/sandbox/old/contrib/management-console/src/main/java/org/apache/tuscany/sca/console/handler/scdl/ScdlContributionHandler.java b/sandbox/old/contrib/management-console/src/main/java/org/apache/tuscany/sca/console/handler/scdl/ScdlContributionHandler.java new file mode 100644 index 0000000000..609187d668 --- /dev/null +++ b/sandbox/old/contrib/management-console/src/main/java/org/apache/tuscany/sca/console/handler/scdl/ScdlContributionHandler.java @@ -0,0 +1,64 @@ +package org.apache.tuscany.sca.console.handler.scdl; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintWriter; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.tuscany.host.deployment.AssemblyService; +import org.apache.tuscany.host.deployment.DeploymentException; +import org.apache.tuscany.spi.host.ServletHost; +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Reference; + +@SuppressWarnings("serial") +public class ScdlContributionHandler extends TuscanyServlet { + + // SCDL query parameter + private static final String SCDL_PARAM = "scdl"; + + // Assembly service to use + private AssemblyService assemblyService; + + /** + * Injects the servlet host and path mapping. + * + * @param servletHost Servlet host to use. + * @param path Path mapping for the servlet. + */ + public ScdlContributionHandler(@Reference(name = "servletHost") ServletHost servletHost, + @Property(name = "path") String path, + @Reference(name = "assemblyService") AssemblyService assemblyService) { + super(servletHost, path); + this.assemblyService = assemblyService; + } + + /** + * Processes the request. + * + * @param req Servlet request. + * @param res Servlet response. + * @throws ServletException Servlet exception. + * @throws IOException IO Exception. + */ + protected void process(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { + + try { + String scdl = req.getParameter(SCDL_PARAM); + InputStream in = new ByteArrayInputStream(scdl.getBytes()); + assemblyService.include(in); + PrintWriter writer = res.getWriter(); + writer.println("Processed SCDL "); + writer.flush(); + writer.close(); + } catch(DeploymentException ex) { + throw new ServletException(ex); + } + + } + +} |