stratos-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chs...@apache.org
Subject [1/4] git commit: Fixed typo in class name jira STRATOS-682
Date Mon, 30 Jun 2014 20:37:38 GMT
Repository: stratos
Updated Branches:
  refs/heads/4.0.0 d63e01c61 -> 56da2fd6e


Fixed typo in class name jira STRATOS-682


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/762e4ba3
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/762e4ba3
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/762e4ba3

Branch: refs/heads/4.0.0
Commit: 762e4ba3036f906fa393e2ba5f265b0c4368f457
Parents: d63e01c
Author: Dakshika Jayathilaka <sinhaladjs@gmail.com>
Authored: Sun Jun 22 09:55:32 2014 +0000
Committer: Chris Snow <chsnow@apache.org>
Committed: Mon Jun 30 20:34:58 2014 +0000

----------------------------------------------------------------------
 .../mgt/ui/servlets/ThemeResourceServlets.java  | 125 +++++++++++++++++++
 1 file changed, 125 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/762e4ba3/components/org.apache.stratos.theme.mgt.ui/src/main/java/org/apache/stratos/theme/mgt/ui/servlets/ThemeResourceServlets.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.theme.mgt.ui/src/main/java/org/apache/stratos/theme/mgt/ui/servlets/ThemeResourceServlets.java
b/components/org.apache.stratos.theme.mgt.ui/src/main/java/org/apache/stratos/theme/mgt/ui/servlets/ThemeResourceServlets.java
new file mode 100644
index 0000000..3190590
--- /dev/null
+++ b/components/org.apache.stratos.theme.mgt.ui/src/main/java/org/apache/stratos/theme/mgt/ui/servlets/ThemeResourceServlets.java
@@ -0,0 +1,125 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+
+ *  http://www.apache.org/licenses/LICENSE-2.0
+
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.stratos.theme.mgt.ui.servlets;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.theme.mgt.stub.registry.resource.stub.beans.xsd.ContentDownloadBean;
+import org.apache.stratos.theme.mgt.ui.clients.ThemeMgtServiceClient;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+
+public class ThemeResourceServlets extends HttpServlet {
+
+    private static final Log log = LogFactory.getLog(ThemeResourceServlets.class);
+
+    private ServletConfig servletConfig;
+
+    public void init(ServletConfig servletConfig) throws ServletException {
+        super.init(servletConfig);
+        this.servletConfig = servletConfig;
+    }
+
+    protected void doGet(HttpServletRequest request, HttpServletResponse response)
+            throws ServletException, IOException {
+
+        try {
+            ThemeMgtServiceClient client = new ThemeMgtServiceClient(servletConfig, request.getSession());
+            String path = request.getParameter("path");
+            String viewImage = request.getParameter("viewImage");
+            if (path == null) {
+                String msg = "Could not get the resource content. Path is not specified.";
+                log.error(msg);
+                response.setStatus(400);
+                return;
+            }
+
+            ContentDownloadBean bean = client.getContentDownloadBean(path);
+
+            InputStream contentStream = null;
+            if (bean.getContent() != null) {
+                contentStream = bean.getContent().getInputStream();
+            } else {
+                String msg = "The resource content was empty.";
+                log.error(msg);
+                response.setStatus(204);
+                return;
+            }
+
+            response.setDateHeader("Last-Modified", bean.getLastUpdatedTime().getTime().getTime());
+            String ext = "jpg";
+            if (path.lastIndexOf(".") < path.length() -1 && path.lastIndexOf(".")
> 0) {
+                ext = path.substring(path.lastIndexOf(".") + 1);
+            }
+
+            if (viewImage != null && viewImage.equals("1")) {
+                response.setContentType("img/" + ext);
+            }
+            else {
+                if (bean.getMediatype() != null && bean.getMediatype().length() >
0) {
+                    response.setContentType(bean.getMediatype());
+                } else {
+                    response.setContentType("application/download");
+                }
+
+                if (bean.getResourceName() != null) {
+                    response.setHeader(
+                            "Content-Disposition", "attachment; filename=\"" + bean.getResourceName()
+ "\"");
+                }
+            }
+
+            if (contentStream != null) {
+
+                ServletOutputStream servletOutputStream = null;
+                try {
+                    servletOutputStream = response.getOutputStream();
+
+                    byte[] contentChunk = new byte[1024];
+                    int byteCount;
+                    while ((byteCount = contentStream.read(contentChunk)) != -1) {
+                        servletOutputStream.write(contentChunk, 0, byteCount);
+                    }
+
+                    response.flushBuffer();
+                    servletOutputStream.flush();
+
+                } finally {
+                    contentStream.close();
+
+                    if (servletOutputStream != null) {
+                        servletOutputStream.close();
+                    }
+                }
+            }
+        } catch (Exception e) {
+
+            String msg = "Failed to get resource content. " + e.getMessage();
+            log.error(msg, e);
+            response.setStatus(500);
+        }
+    }
+}


Mime
View raw message