Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ArtifactFileServlet.java')
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ArtifactFileServlet.java200
1 files changed, 100 insertions, 100 deletions
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ArtifactFileServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ArtifactFileServlet.java
index 8236cfb21e0..2cb73e6c482 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ArtifactFileServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ArtifactFileServlet.java
@@ -12,7 +12,7 @@ package org.eclipse.osee.framework.manager.servlet;
import java.io.IOException;
import java.io.InputStream;
-import java.net.HttpURLConnection;
+import java.net.URLConnection;
import java.util.logging.Level;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -39,114 +39,114 @@ import org.eclipse.osee.framework.resource.management.StandardOptions;
*/
public class ArtifactFileServlet extends UnsecuredOseeHttpServlet {
- private static final long serialVersionUID = -6334080268467740905L;
+ private static final long serialVersionUID = -6334080268467740905L;
- private final IResourceLocatorManager locatorManager;
- private final IResourceManager resourceManager;
+ private final IResourceLocatorManager locatorManager;
+ private final IResourceManager resourceManager;
- public ArtifactFileServlet(IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
- super();
- this.locatorManager = locatorManager;
- this.resourceManager = resourceManager;
- }
+ public ArtifactFileServlet(IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
+ super();
+ this.locatorManager = locatorManager;
+ this.resourceManager = resourceManager;
+ }
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
- try {
- HttpArtifactFileInfo artifactFileInfo = null;
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ try {
+ HttpArtifactFileInfo artifactFileInfo = null;
- String servletPath = request.getServletPath();
- // System.out.println("servletPath: " + servletPath);
- if (!Strings.isValid(servletPath) || "/".equals(servletPath) || "/index".equals(servletPath)) {
- // Enumeration<?> enumeration = request.getHeaderNames();
- // while (enumeration.hasMoreElements()) {
- // String headerField = (String) enumeration.nextElement();
- // String value = request.getHeader(headerField);
- // System.out.println(String.format("%s: %s", headerField, value));
- // }
+ String servletPath = request.getServletPath();
+ // System.out.println("servletPath: " + servletPath);
+ if (!Strings.isValid(servletPath) || "/".equals(servletPath) || "/index".equals(servletPath)) {
+ // Enumeration<?> enumeration = request.getHeaderNames();
+ // while (enumeration.hasMoreElements()) {
+ // String headerField = (String) enumeration.nextElement();
+ // String value = request.getHeader(headerField);
+ // System.out.println(String.format("%s: %s", headerField, value));
+ // }
- Pair<String, String> defaultArtifact = DefaultOseeArtifact.get();
- if (defaultArtifact != null) {
- artifactFileInfo =
- new HttpArtifactFileInfo(defaultArtifact.getFirst(), null, defaultArtifact.getSecond());
- }
- } else {
- artifactFileInfo = new HttpArtifactFileInfo(request);
- }
+ Pair<String, String> defaultArtifact = DefaultOseeArtifact.get();
+ if (defaultArtifact != null) {
+ artifactFileInfo =
+ new HttpArtifactFileInfo(defaultArtifact.getFirst(), null, defaultArtifact.getSecond());
+ }
+ } else {
+ artifactFileInfo = new HttpArtifactFileInfo(request);
+ }
- String uri = null;
- if (artifactFileInfo != null) {
- if (artifactFileInfo.isBranchNameValid()) {
- uri = ArtifactUtil.getUri(artifactFileInfo.getGuid(), artifactFileInfo.getBranchName());
- } else {
- uri = ArtifactUtil.getUri(artifactFileInfo.getGuid(), artifactFileInfo.getId());
- }
- }
- handleArtifactUri(locatorManager, resourceManager, request.getQueryString(), uri, response);
- } catch (NumberFormatException ex) {
- handleError(response, HttpServletResponse.SC_BAD_REQUEST,
- String.format("Invalid Branch Id: [%s]", request.getQueryString()), ex);
- } catch (Exception ex) {
- handleError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
- String.format("Unable to acquire resource: [%s]", request.getQueryString()), ex);
- } finally {
- response.flushBuffer();
- }
- }
+ String uri = null;
+ if (artifactFileInfo != null) {
+ if (artifactFileInfo.isBranchNameValid()) {
+ uri = ArtifactUtil.getUri(artifactFileInfo.getGuid(), artifactFileInfo.getBranchName());
+ } else {
+ uri = ArtifactUtil.getUri(artifactFileInfo.getGuid(), artifactFileInfo.getId());
+ }
+ }
+ handleArtifactUri(locatorManager, resourceManager, request.getQueryString(), uri, response);
+ } catch (NumberFormatException ex) {
+ handleError(response, HttpServletResponse.SC_BAD_REQUEST,
+ String.format("Invalid Branch Id: [%s]", request.getQueryString()), ex);
+ } catch (Exception ex) {
+ handleError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+ String.format("Unable to acquire resource: [%s]", request.getQueryString()), ex);
+ } finally {
+ response.flushBuffer();
+ }
+ }
- public static void handleArtifactUri(IResourceLocatorManager locatorManager, IResourceManager resourceManager, String request, String uri, HttpServletResponse response) throws OseeCoreException {
- boolean wasProcessed = false;
- if (Strings.isValid(uri)) {
- IResourceLocator locator = locatorManager.getResourceLocator(uri);
- Options options = new Options();
- options.put(StandardOptions.DecompressOnAquire.name(), true);
- IResource resource = resourceManager.acquire(locator, options);
+ public static void handleArtifactUri(IResourceLocatorManager locatorManager, IResourceManager resourceManager, String request, String uri, HttpServletResponse response) throws OseeCoreException {
+ boolean wasProcessed = false;
+ if (Strings.isValid(uri)) {
+ IResourceLocator locator = locatorManager.getResourceLocator(uri);
+ Options options = new Options();
+ options.put(StandardOptions.DecompressOnAquire.name(), true);
+ IResource resource = resourceManager.acquire(locator, options);
- if (resource != null) {
- wasProcessed = true;
+ if (resource != null) {
+ wasProcessed = true;
- InputStream inputStream = null;
- try {
- inputStream = resource.getContent();
+ InputStream inputStream = null;
+ try {
+ inputStream = resource.getContent();
- response.setStatus(HttpServletResponse.SC_OK);
- response.setContentLength(inputStream.available());
- response.setCharacterEncoding("ISO-8859-1");
- String mimeType = HttpURLConnection.guessContentTypeFromStream(inputStream);
- if (mimeType == null) {
- mimeType = HttpURLConnection.guessContentTypeFromName(resource.getLocation().toString());
- if (mimeType == null) {
- mimeType = "application/*";
- }
- }
- response.setContentType(mimeType);
- if (!mimeType.equals("text/html")) {
- response.setHeader("Content-Disposition", "attachment; filename=" + resource.getName());
- }
- Lib.inputStreamToOutputStream(inputStream, response.getOutputStream());
- response.flushBuffer();
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- } finally {
- Lib.close(inputStream);
- }
- }
- }
- if (!wasProcessed) {
- response.setStatus(HttpServletResponse.SC_NOT_FOUND);
- response.setContentType("text/plain");
- try {
- response.getWriter().write(String.format("Unable to find resource: [%s]", request));
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- }
- }
- }
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.setContentLength(inputStream.available());
+ response.setCharacterEncoding("ISO-8859-1");
+ String mimeType = URLConnection.guessContentTypeFromStream(inputStream);
+ if (mimeType == null) {
+ mimeType = URLConnection.guessContentTypeFromName(resource.getLocation().toString());
+ if (mimeType == null) {
+ mimeType = "application/*";
+ }
+ }
+ response.setContentType(mimeType);
+ if (!mimeType.equals("text/html")) {
+ response.setHeader("Content-Disposition", "attachment; filename=" + resource.getName());
+ }
+ Lib.inputStreamToOutputStream(inputStream, response.getOutputStream());
+ response.flushBuffer();
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ } finally {
+ Lib.close(inputStream);
+ }
+ }
+ }
+ if (!wasProcessed) {
+ response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+ response.setContentType("text/plain");
+ try {
+ response.getWriter().write(String.format("Unable to find resource: [%s]", request));
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ }
+ }
+ }
- private void handleError(HttpServletResponse response, int status, String message, Throwable ex) throws IOException {
- response.setStatus(status);
- response.setContentType("text/plain");
- OseeLog.log(Activator.class, Level.SEVERE, message, ex);
- response.getWriter().write(Lib.exceptionToString(ex));
- }
+ private void handleError(HttpServletResponse response, int status, String message, Throwable ex) throws IOException {
+ response.setStatus(status);
+ response.setContentType("text/plain");
+ OseeLog.log(Activator.class, Level.SEVERE, message, ex);
+ response.getWriter().write(Lib.exceptionToString(ex));
+ }
}

Back to the top