Sync Integ to Master
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / servlets / ResourceArtifactDownloadServlet.java
index 54ec6e3..5d4001e 100644 (file)
 
 package org.openecomp.sdc.be.servlets;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.jcabi.aspects.Loggable;
+import fj.data.Either;
 import org.apache.http.HttpStatus;
 import org.openecomp.sdc.be.config.BeEcompErrorManager;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
@@ -38,116 +33,116 @@ import org.openecomp.sdc.be.info.ArtifactAccessInfo;
 import org.openecomp.sdc.be.resources.api.IResourceUploader;
 import org.openecomp.sdc.be.resources.data.ESArtifactData;
 import org.openecomp.sdc.common.api.Constants;
-import org.openecomp.sdc.common.config.EcompErrorName;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.jcabi.aspects.Loggable;
-
-import fj.data.Either;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
 
 @Loggable(prepend = true, value = Loggable.DEBUG, trim = false)
 @Path("/v1/catalog/resources/available")
 public class ResourceArtifactDownloadServlet extends ToscaDaoServlet {
 
-       private static Logger log = LoggerFactory.getLogger(ResourceArtifactDownloadServlet.class.getName());
-
-       private Gson gson = new GsonBuilder().setPrettyPrinting().create();
-
-       @GET
-       @Path("/{resourceName}/{resourceVersion}/artifacts/{artifactName}")
-       // @Produces(MediaType.APPLICATION_OCTET_STREAM)
-       public Response getResourceArtifactByName(@PathParam("resourceName") final String resourceName, @PathParam("resourceVersion") final String resourceVersion, @PathParam("artifactName") final String artifactName,
-                       @Context final HttpServletRequest request) {
-
-               String url = request.getMethod() + " " + request.getRequestURI();
-               log.debug("Start handle request of {}", url);
-               Response response = null;
-               try {
-                       // get the artifact data
-                       String artifactId = String.format(Constants.ARTIFACT_ID_FORMAT, resourceName, resourceVersion, artifactName);
-
-                       IResourceUploader resouceUploader = getResourceUploader(request.getSession().getServletContext());
-                       if (resouceUploader == null) {
-                               return buildResponse(HttpStatus.SC_INTERNAL_SERVER_ERROR, "");
-
-                       }
-                       Either<ESArtifactData, ResourceUploadStatus> getArtifactStatus = resouceUploader.getArtifact(artifactId);
-
-                       DownloadArtifactLogic logic = getLogic(request.getSession().getServletContext());
-                       if (logic == null) {
-                               return buildResponse(HttpStatus.SC_INTERNAL_SERVER_ERROR, "");
-
-                       }
-                       response = logic.downloadArtifact(resourceName, resourceVersion, artifactName, getArtifactStatus, artifactId);
-
-                       log.info("Finish handle request of {} | result = {}", url, response.getStatus());
-                       return response;
-
-               } catch (Exception e) {
-                       BeEcompErrorManager.getInstance().processEcompError(EcompErrorName.BeRestApiGeneralError, "Get Resource Artifact By Name");
-                       BeEcompErrorManager.getInstance().logBeRestApiGeneralError("Get Resource Artifact By Name");
-                       log.debug("getResourceArtifactByName failed with exception", e);
-                       response = buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR));
-                       return response;
-               }
-       }
-
-       @GET
-       @Path("/{resourceName}/{resourceVersion}/artifacts/{artifactName}/metadata")
-       @Produces(MediaType.APPLICATION_JSON)
-       public Response getResourceArtifactMetadata(@PathParam("resourceName") final String resourceName, @PathParam("resourceVersion") final String resourceVersion, @PathParam("artifactName") final String artifactName,
-                       @Context final HttpServletRequest request) {
-
-               String url = request.getMethod() + " " + request.getRequestURI();
-               log.debug("Start handle request of {}", url);
-
-               Response response = null;
-               try {
-                       IResourceUploader resourceDao = getResourceUploader(request.getSession().getServletContext());
-                       if (resourceDao == null) {
-                               log.error("resource dao cannot be found");
-                               response = buildResponse(HttpStatus.SC_INTERNAL_SERVER_ERROR, "Resource dao cannot be found");
-                               return response;
-                       }
-
-                       String artifactId = String.format(Constants.ARTIFACT_ID_FORMAT, resourceName, resourceVersion, artifactName);
-                       Either<ESArtifactData, ResourceUploadStatus> getArtifactStatus = resourceDao.getArtifact(artifactId);
-
-                       if (getArtifactStatus.isRight()) {
-                               ResourceUploadStatus status = getArtifactStatus.right().value();
-                               if (status == ResourceUploadStatus.COMPONENT_NOT_EXIST) {
-                                       response = Response.status(HttpStatus.SC_NOT_FOUND).build();
-                                       log.debug("Could not find artifact for with id: {}", artifactId);
-                               } else {
-                                       response = Response.status(HttpStatus.SC_NO_CONTENT).build();
-                                       log.debug("Could not find artifact for with id: {}", artifactId);
-                               }
-                               return response;
-                       } else {
-                               ESArtifactData artifactData = getArtifactStatus.left().value();
-                               log.debug("found artifact with id: {}", artifactId);
-                               ArtifactAccessInfo artifactInfo = new ArtifactAccessInfo(artifactData);
-                               String artifactDataJson = gson.toJson(artifactInfo);
-                               response = Response.status(HttpStatus.SC_OK).entity(artifactDataJson).type(MediaType.APPLICATION_JSON_TYPE).build();
-
-                               log.info("Finish handle request of {} | result = {}", url, response.getStatus());
-                               return response;
-                       }
-               } catch (Exception e) {
-                       BeEcompErrorManager.getInstance().processEcompError(EcompErrorName.BeRestApiGeneralError, "Get Resource Artifact Metadata");
-                       BeEcompErrorManager.getInstance().logBeRestApiGeneralError("Get Resource Artifact Metadata");
-                       log.debug("getResourceArtifactMetadata failed with exception", e);
-                       response = buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR));
-                       return response;
-               }
-
-       }
-
-       @Override
-       public Logger getLogger() {
-               return log;
-       }
+    private static final Logger log = LoggerFactory.getLogger(ResourceArtifactDownloadServlet.class);
+
+    private Gson gson = new GsonBuilder().setPrettyPrinting().create();
+
+    @GET
+    @Path("/{resourceName}/{resourceVersion}/artifacts/{artifactName}")
+    // @Produces(MediaType.APPLICATION_OCTET_STREAM)
+    public Response getResourceArtifactByName(@PathParam("resourceName") final String resourceName, @PathParam("resourceVersion") final String resourceVersion, @PathParam("artifactName") final String artifactName,
+            @Context final HttpServletRequest request) {
+
+        String url = request.getMethod() + " " + request.getRequestURI();
+        log.debug("Start handle request of {}", url);
+        Response response = null;
+        try {
+            // get the artifact data
+            String artifactId = String.format(Constants.ARTIFACT_ID_FORMAT, resourceName, resourceVersion, artifactName);
+
+            IResourceUploader resouceUploader = getResourceUploader(request.getSession().getServletContext());
+            if (resouceUploader == null) {
+                return buildResponse(HttpStatus.SC_INTERNAL_SERVER_ERROR, "");
+
+            }
+            Either<ESArtifactData, ResourceUploadStatus> getArtifactStatus = resouceUploader.getArtifact(artifactId);
+
+            DownloadArtifactLogic logic = getLogic(request.getSession().getServletContext());
+            if (logic == null) {
+                return buildResponse(HttpStatus.SC_INTERNAL_SERVER_ERROR, "");
+
+            }
+            response = logic.downloadArtifact(artifactName, getArtifactStatus, artifactId);
+
+            log.info("Finish handle request of {} | result = {}", url, response.getStatus());
+            return response;
+
+        } catch (Exception e) {
+            BeEcompErrorManager.getInstance().logBeRestApiGeneralError("Get Resource Artifact By Name");
+            log.debug("getResourceArtifactByName failed with exception", e);
+            response = buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR));
+            return response;
+        }
+    }
+
+    @GET
+    @Path("/{resourceName}/{resourceVersion}/artifacts/{artifactName}/metadata")
+    @Produces(MediaType.APPLICATION_JSON)
+    public Response getResourceArtifactMetadata(@PathParam("resourceName") final String resourceName, @PathParam("resourceVersion") final String resourceVersion, @PathParam("artifactName") final String artifactName,
+            @Context final HttpServletRequest request) {
+
+        String url = request.getMethod() + " " + request.getRequestURI();
+        log.debug("Start handle request of {}", url);
+
+        Response response = null;
+        try {
+            IResourceUploader resourceDao = getResourceUploader(request.getSession().getServletContext());
+            if (resourceDao == null) {
+                log.error("resource dao cannot be found");
+                response = buildResponse(HttpStatus.SC_INTERNAL_SERVER_ERROR, "Resource dao cannot be found");
+                return response;
+            }
+
+            String artifactId = String.format(Constants.ARTIFACT_ID_FORMAT, resourceName, resourceVersion, artifactName);
+            Either<ESArtifactData, ResourceUploadStatus> getArtifactStatus = resourceDao.getArtifact(artifactId);
+
+            if (getArtifactStatus.isRight()) {
+                ResourceUploadStatus status = getArtifactStatus.right().value();
+                if (status == ResourceUploadStatus.COMPONENT_NOT_EXIST) {
+                    response = Response.status(HttpStatus.SC_NOT_FOUND).build();
+                    log.debug("Could not find artifact for with id: {}", artifactId);
+                } else {
+                    response = Response.status(HttpStatus.SC_NO_CONTENT).build();
+                    log.debug("Could not find artifact for with id: {}", artifactId);
+                }
+                return response;
+            } else {
+                ESArtifactData artifactData = getArtifactStatus.left().value();
+                log.debug("found artifact with id: {}", artifactId);
+                ArtifactAccessInfo artifactInfo = new ArtifactAccessInfo(artifactData);
+                String artifactDataJson = gson.toJson(artifactInfo);
+                response = Response.status(HttpStatus.SC_OK).entity(artifactDataJson).type(MediaType.APPLICATION_JSON_TYPE).build();
+
+                log.info("Finish handle request of {} | result = {}", url, response.getStatus());
+                return response;
+            }
+        } catch (Exception e) {
+            BeEcompErrorManager.getInstance().logBeRestApiGeneralError("Get Resource Artifact Metadata");
+            log.debug("getResourceArtifactMetadata failed with exception", e);
+            response = buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR));
+            return response;
+        }
+
+    }
+
+    @Override
+    public Logger getLogger() {
+        return log;
+    }
 }