Example usage for javax.servlet.http HttpServletResponse SC_NOT_FOUND

List of usage examples for javax.servlet.http HttpServletResponse SC_NOT_FOUND

Introduction

In this page you can find the example usage for javax.servlet.http HttpServletResponse SC_NOT_FOUND.

Prototype

int SC_NOT_FOUND

To view the source code for javax.servlet.http HttpServletResponse SC_NOT_FOUND.

Click Source Link

Document

Status code (404) indicating that the requested resource is not available.

Usage

From source file:org.wallride.web.controller.admin.post.PostSelectController.java

@RequestMapping(value = "/{language}/posts/select/{id}")
public @ResponseBody DomainObjectSelect2Model select(@PathVariable String language, @RequestParam Long id,
        HttpServletResponse response) throws IOException {
    Post post = postService.getPostById(id, language);
    if (post == null) {
        response.sendError(HttpServletResponse.SC_NOT_FOUND);
        return null;
    }//from www. j av  a 2  s . co  m

    DomainObjectSelect2Model model = new DomainObjectSelect2Model(post);
    return model;
}

From source file:com.thinkberg.moxo.dav.DeleteHandler.java

public void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
    FileObject object = getResourceManager().getFileObject(request.getPathInfo());
    if (request instanceof Request) {
        String fragment = ((Request) request).getUri().getFragment();
        if (fragment != null) {
            response.sendError(HttpServletResponse.SC_FORBIDDEN);
            return;
        }//  w ww .j  ava  2 s . c o  m
    }

    try {
        LockManager.getInstance().checkCondition(object, getIf(request));
    } catch (LockException e) {
        if (e.getLocks() != null) {
            response.sendError(SC_LOCKED);
        } else {
            response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
        }
        return;
    }

    if (object.exists()) {
        if (object.delete(ALL_FILES_SELECTOR) > 0) {
            response.setStatus(HttpServletResponse.SC_OK);
        } else {
            response.sendError(HttpServletResponse.SC_FORBIDDEN);
        }
    } else {
        response.sendError(HttpServletResponse.SC_NOT_FOUND);
    }
}

From source file:au.edu.uq.cmm.paul.servlet.FileView.java

@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request,
        HttpServletResponse response) throws IOException {
    File file = (File) model.get("file");
    String contentType = (String) model.get("contentType");
    try (FileInputStream fis = new FileInputStream(file)) {
        response.setContentType(contentType);
        long length = file.length();
        if (length <= Integer.MAX_VALUE) {
            response.setContentLength((int) length);
        }/*w ww  . ja  va 2 s .co m*/
        response.setStatus(HttpServletResponse.SC_OK);
        try (OutputStream os = response.getOutputStream()) {
            byte[] buffer = new byte[8192];
            int nosRead;
            while ((nosRead = fis.read(buffer)) > 0) {
                os.write(buffer, 0, nosRead);
            }
        }
    } catch (FileNotFoundException ex) {
        LOG.info("Cannot access file: " + ex.getLocalizedMessage());
        response.setStatus(HttpServletResponse.SC_NOT_FOUND);
    }
}

From source file:com.enonic.cms.web.webdav.SimpleDavServlet.java

protected void service(final HttpServletRequest request, final HttpServletResponse response)
        throws ServletException, IOException {
    ServletRequestAccessor.setRequest(request);
    ensureResourceRootExists();//from w  w  w .  j  a va2s  . com

    if (isHidden(request)) {
        response.setStatus(HttpServletResponse.SC_NOT_FOUND);
        return;
    }

    super.service(request, response);
}

From source file:com.citytechinc.cq.clientlibs.core.servlets.ComponentClientLibraryServlet.java

@Override
public void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response)
        throws ServletException, IOException {
    Optional<LibraryType> requestedLibraryType = Optional.fromNullable(LibraryType.fromRequest(request));

    if (requestedLibraryType == null) {
        LOG.error("Invalid extension for client library");
        response.sendError(HttpServletResponse.SC_NOT_FOUND);
        return;//w ww.  j  a  va  2s.  co  m
    }

    Optional<String> brand = lookupBrandForRequest(request);

    try {
        final Resource jcrContent = request.getResource().getChild(JcrConstants.JCR_CONTENT);

        String compiledLibrary = clientLibraryRepository.compileClientLibrary(jcrContent,
                requestedLibraryType.get(), brand);
        response.setContentType(requestedLibraryType.get().contentType);
        response.getWriter().write(compiledLibrary);
    } catch (ClientLibraryCompilationException e) {
        LOG.error("Error encountered requesting page library for " + request.getResource().getPath(), e);
        response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
    }
}

From source file:com.formtek.dashlets.sitetaskmgr.SiteWFUtil.java

/**
 * Retrieve the Start WorkflowTask from the current Task
 *
 * @param WorkflowTask current wfTask//w ww . ja v  a2 s . c  om
 * @param workflowService workflowService
 * @return WorkflowTask the start task
 */
public static WorkflowTask getStartWorkflowTaskFromCurrent(WorkflowTask wfTask,
        WorkflowService workflowService) {
    logger.debug("Getting the Start WorkflowTask from the current WorkflowTask: " + wfTask.getId());
    WorkflowPath wfPath = wfTask.getPath();
    if (wfPath == null) {
        throw new WebScriptException(HttpServletResponse.SC_NOT_FOUND,
                "Failed to find workflow path for WorkflowTask id: " + wfTask.getId());
    }
    logger.debug("Retrieved WorkflowPath with id: " + wfPath.getId());
    WorkflowInstance wfInstance = wfPath.getInstance();

    WorkflowTask startTask = workflowService.getStartTask(wfInstance.getId());

    logger.debug("Found the Start WorkflowTask: " + startTask.getId());
    return startTask;
}

From source file:io.wcm.handler.link.ui.Redirect.java

@PostConstruct
private void activate() throws IOException {
    // resolve link of redirect page
    String redirectUrl = linkHandler.get(resource).buildUrl();

    // in publish mode redirect to target
    if (wcmMode == WCMMode.DISABLED) {
        renderPage = false;//  ww w.  j a v  a 2 s.c  o  m
        if (StringUtils.isNotEmpty(redirectUrl)) {
            if (StringUtils.equals(redirectStatus,
                    Integer.toString(HttpServletResponse.SC_MOVED_TEMPORARILY))) {
                response.sendRedirect(redirectUrl);
            } else {
                response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
                response.setHeader("Location", redirectUrl);
            }
        } else {
            response.sendError(HttpServletResponse.SC_NOT_FOUND);
        }
    }
}

From source file:org.wso2.carbon.tryit.TryitRequestProcessor.java

public void process(CarbonHttpRequest request, CarbonHttpResponse response,
        ConfigurationContext configurationContext) throws Exception {
    OutputStream outputStream = response.getOutputStream();
    String requestURL = request.getRequestURL() + "?" + request.getQueryString();
    String serviceParameter = request.getParameter(WSDL2FormGenerator.SERVICE_QUERY_PARAM);
    String endpointParameter = request.getParameter(WSDL2FormGenerator.ENDPOINT_QUERY_PARAM);
    String operationParameter = request.getParameter(WSDL2FormGenerator.OPERATION_PARAM);

    response.addHeader(HTTP.CONTENT_TYPE, "text/html; charset=utf-8");

    try {//from  w  w  w  .  j a  v a2s  .  c  o  m
        Result result = new StreamResult(outputStream);
        String str = WSDL2FormGenerator.getInstance().getInternalTryit(result, configurationContext, requestURL,
                serviceParameter, operationParameter, endpointParameter, true);
        if (!str.equals(WSDL2FormGenerator.SUCCESS)) {
            response.setRedirect(str);
        }
    } catch (CarbonException e) {
        log.error(e);
        if (e.getMessage().equals(WSDL2FormGenerator.SERVICE_INACTIVE)) {
            response.setStatus(HttpServletResponse.SC_NOT_FOUND);
            outputStream.write(("<h4>Requested Service is inactive. Cannot generate stubs.</h4>").getBytes());
            outputStream.flush();
        } else if (e.getMessage().equals(WSDL2FormGenerator.SERVICE_NOT_FOUND)) {
            response.setStatus(HttpServletResponse.SC_SERVICE_UNAVAILABLE);
            outputStream.write(("<h4>Service cannot be found. Cannot display <em>Stub</em>.</h4>").getBytes());
            outputStream.flush();
        } else {
            response.setError(HttpServletResponse.SC_NOT_FOUND);
            outputStream.write(("<h4>" + e.getMessage() + "</h4>").getBytes());
            outputStream.flush();
        }
    }
}

From source file:org.magnum.mobilecloud.video.VideoLikeController.java

@RequestMapping(value = VideoSvcApi.VIDEO_SVC_PATH + "/{id}/like", method = RequestMethod.POST)
public void likeVideo(@PathVariable("id") long id, Principal p, HttpServletResponse resp) {
    Video v = videos.findOne(id);//from  w w  w.j  a  v  a 2 s  . c o m
    if (v == null) {
        resp.setStatus(HttpServletResponse.SC_NOT_FOUND);
    } else {
        Set<String> likedUsernames = v.getLikedUsernames();
        String username = p.getName();
        if (likedUsernames.contains(username)) {
            resp.setStatus(HttpServletResponse.SC_BAD_REQUEST);
        } else {
            likedUsernames.add(username);
            v.setLikedUsernames(likedUsernames);
            v.setLikes(likedUsernames.size());
            videos.save(v);
        }
    }
}

From source file:com.swingtech.apps.filemgmt.controller.StreamingViewRenderer.java

@Override
protected void renderMergedOutputModel(Map objectMap, HttpServletRequest request, HttpServletResponse response)
        throws Exception {

    InputStream dataStream = (InputStream) objectMap.get(DownloadConstants.INPUT_STREAM);

    if (dataStream == null) {
        response.sendError(HttpServletResponse.SC_NOT_FOUND);
        return;/*w ww .  j  a v  a2 s  . c  o m*/
    }
    long length = (Long) objectMap.get(DownloadConstants.CONTENT_LENGTH);
    String fileName = (String) objectMap.get(DownloadConstants.FILENAME);
    Date lastModifiedObj = (Date) objectMap.get(DownloadConstants.LAST_MODIFIED);

    if (StringUtils.isEmpty(fileName) || lastModifiedObj == null) {
        response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        return;
    }
    long lastModified = lastModifiedObj.getTime();
    String contentType = (String) objectMap.get(DownloadConstants.CONTENT_TYPE);

    // Validate request headers for caching
    // ---------------------------------------------------

    // If-None-Match header should contain "*" or ETag. If so, then return
    // 304.
    String ifNoneMatch = request.getHeader("If-None-Match");
    if (ifNoneMatch != null && HttpUtils.matches(ifNoneMatch, fileName)) {
        response.setHeader("ETag", fileName); // Required in 304.
        response.sendError(HttpServletResponse.SC_NOT_MODIFIED);
        return;
    }

    // If-Modified-Since header should be greater than LastModified. If so,
    // then return 304.
    // This header is ignored if any If-None-Match header is specified.
    long ifModifiedSince = request.getDateHeader("If-Modified-Since");
    if (ifNoneMatch == null && ifModifiedSince != -1 && ifModifiedSince + 1000 > lastModified) {
        response.setHeader("ETag", fileName); // Required in 304.
        response.sendError(HttpServletResponse.SC_NOT_MODIFIED);
        return;
    }

    // Validate request headers for resume
    // ----------------------------------------------------

    // If-Match header should contain "*" or ETag. If not, then return 412.
    String ifMatch = request.getHeader("If-Match");
    if (ifMatch != null && !HttpUtils.matches(ifMatch, fileName)) {
        response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
        return;
    }

    // If-Unmodified-Since header should be greater than LastModified. If
    // not, then return 412.
    long ifUnmodifiedSince = request.getDateHeader("If-Unmodified-Since");
    if (ifUnmodifiedSince != -1 && ifUnmodifiedSince + 1000 <= lastModified) {
        response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
        return;
    }

    // Validate and process range
    // -------------------------------------------------------------

    // Prepare some variables. The full Range represents the complete file.
    Range full = new Range(0, length - 1, length);
    List<Range> ranges = new ArrayList<Range>();

    // Validate and process Range and If-Range headers.
    String range = request.getHeader("Range");
    if (range != null) {

        // Range header should match format "bytes=n-n,n-n,n-n...". If not,
        // then return 416.
        if (!range.matches("^bytes=\\d*-\\d*(,\\d*-\\d*)*$")) {
            response.setHeader("Content-Range", "bytes */" + length); // Required
            // in
            // 416.
            response.sendError(HttpServletResponse.SC_REQUESTED_RANGE_NOT_SATISFIABLE);
            return;
        }

        String ifRange = request.getHeader("If-Range");
        if (ifRange != null && !ifRange.equals(fileName)) {
            try {
                long ifRangeTime = request.getDateHeader("If-Range"); // Throws
                // IAE
                // if
                // invalid.
                if (ifRangeTime != -1) {
                    ranges.add(full);
                }
            } catch (IllegalArgumentException ignore) {
                ranges.add(full);
            }
        }

        // If any valid If-Range header, then process each part of byte
        // range.
        if (ranges.isEmpty()) {
            for (String part : range.substring(6).split(",")) {
                // Assuming a file with length of 100, the following
                // examples returns bytes at:
                // 50-80 (50 to 80), 40- (40 to length=100), -20
                // (length-20=80 to length=100).
                long start = StringUtils.sublong(part, 0, part.indexOf("-"));
                long end = StringUtils.sublong(part, part.indexOf("-") + 1, part.length());

                if (start == -1) {
                    start = length - end;
                    end = length - 1;
                } else if (end == -1 || end > length - 1) {
                    end = length - 1;
                }

                // Check if Range is syntactically valid. If not, then
                // return 416.
                if (start > end) {
                    response.setHeader("Content-Range", "bytes */" + length); // Required
                    // in
                    // 416.
                    response.sendError(HttpServletResponse.SC_REQUESTED_RANGE_NOT_SATISFIABLE);
                    return;
                }

                // Add range.
                ranges.add(new Range(start, end, length));
            }
        }
    }

    // Prepare and initialize response
    // --------------------------------------------------------

    // Get content type by file name and set content disposition.
    String disposition = "inline";

    // If content type is unknown, then set the default value.
    // For all content types, see:
    // http://www.w3schools.com/media/media_mimeref.asp
    // To add new content types, add new mime-mapping entry in web.xml.
    if (contentType == null) {
        contentType = "application/octet-stream";
    } else if (!contentType.startsWith("image")) {
        // Else, expect for images, determine content disposition. If
        // content type is supported by
        // the browser, then set to inline, else attachment which will pop a
        // 'save as' dialogue.
        String accept = request.getHeader("Accept");
        disposition = accept != null && HttpUtils.accepts(accept, contentType) ? "inline" : "attachment";
    }

    // Initialize response.
    response.reset();
    response.setBufferSize(DEFAULT_BUFFER_SIZE);
    response.setHeader("Content-Disposition", disposition + ";filename=\"" + fileName + "\"");
    response.setHeader("Accept-Ranges", "bytes");
    response.setHeader("ETag", fileName);
    response.setDateHeader("Last-Modified", lastModified);
    response.setDateHeader("Expires", System.currentTimeMillis() + DEFAULT_EXPIRE_TIME);

    // Send requested file (part(s)) to client
    // ------------------------------------------------

    // Prepare streams.
    InputStream input = null;
    OutputStream output = null;

    try {
        // Open streams.
        input = new BufferedInputStream(dataStream);
        output = response.getOutputStream();

        if (ranges.isEmpty() || ranges.get(0) == full) {

            // Return full file.
            Range r = full;
            response.setContentType(contentType);
            response.setHeader("Content-Range", "bytes " + r.start + "-" + r.end + "/" + r.total);
            response.setHeader("Content-Length", String.valueOf(r.length));
            copy(input, output, length, r.start, r.length);

        } else if (ranges.size() == 1) {

            // Return single part of file.
            Range r = ranges.get(0);
            response.setContentType(contentType);
            response.setHeader("Content-Range", "bytes " + r.start + "-" + r.end + "/" + r.total);
            response.setHeader("Content-Length", String.valueOf(r.length));
            response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); // 206.

            // Copy single part range.
            copy(input, output, length, r.start, r.length);

        } else {

            // Return multiple parts of file.
            response.setContentType("multipart/byteranges; boundary=" + MULTIPART_BOUNDARY);
            response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); // 206.

            // Cast back to ServletOutputStream to get the easy println
            // methods.
            ServletOutputStream sos = (ServletOutputStream) output;

            // Copy multi part range.
            for (Range r : ranges) {
                // Add multipart boundary and header fields for every range.
                sos.println();
                sos.println("--" + MULTIPART_BOUNDARY);
                sos.println("Content-Type: " + contentType);
                sos.println("Content-Range: bytes " + r.start + "-" + r.end + "/" + r.total);

                // Copy single part range of multi part range.
                copy(input, output, length, r.start, r.length);
            }

            // End with multipart boundary.
            sos.println();
            sos.println("--" + MULTIPART_BOUNDARY + "--");
        }
    } finally {
        // Gently close streams.
        close(output);
        close(input);
        close(dataStream);
    }

}