summaryrefslogtreecommitdiffstats
path: root/sandbox/old/contrib/management-console/src/main/java/org/apache/tuscany/sca/console/handler/scdl/ScdlContributionHandler.java
diff options
context:
space:
mode:
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.java64
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);
+ }
+
+ }
+
+}