Package org.apache.wicket.util.resource

Examples of org.apache.wicket.util.resource.IResourceStream


  @Override
  protected ResourceResponse newResourceResponse(Attributes attributes)
  {
    final ResourceResponse resourceResponse = new ResourceResponse();

    final IResourceStream resourceStream = getResourceStream();

    // bail out if resource stream could not be found
    if (resourceStream == null)
    {
      return sendResourceError(resourceResponse, HttpServletResponse.SC_NOT_FOUND,
          "Unable to find resource");
    }

    // add Last-Modified header (to support HEAD requests and If-Modified-Since)
    final Time lastModified = resourceStream.lastModifiedTime();

    resourceResponse.setLastModified(lastModified);

    if (resourceResponse.dataNeedsToBeWritten(attributes))
    {
      String contentType = resourceStream.getContentType();

      if (contentType == null && Application.exists())
      {
        contentType = Application.get().getMimeType(path);
      }

      // set Content-Type (may be null)
      resourceResponse.setContentType(contentType);
     
      // set content encoding (may be null)
      resourceResponse.setTextEncoding(getTextEncoding());

      try
      {
        // read resource data
        final byte[] bytes = IOUtils.toByteArray(resourceStream.getInputStream());

        // send Content-Length header
        resourceResponse.setContentLength(bytes.length);

        // send response body with resource data
        resourceResponse.setWriteCallback(new WriteCallback()
        {
          @Override
          public void writeData(Attributes attributes)
          {
            attributes.getResponse().write(bytes);
          }
        });
      }
      catch (IOException e)
      {
        log.debug(e.getMessage(), e);
        return sendResourceError(resourceResponse, 500, "Unable to read resource stream");
      }
      catch (ResourceStreamNotFoundException e)
      {
        log.debug(e.getMessage(), e);
        return sendResourceError(resourceResponse, 500, "Unable to open resource stream");
      }
      finally
      {
        try
        {
          resourceStream.close();
        }
        catch (IOException e)
        {
          log.warn("Unable to close the resource stream", e);
        }
View Full Code Here


  private IResourceStream internalGetResourceStream(final String style, final Locale locale)
  {
    IResourceStreamLocator resourceStreamLocator = Application.get()
        .getResourceSettings()
        .getResourceStreamLocator();
    IResourceStream resourceStream = resourceStreamLocator.locate(getScope(), absolutePath, style, variation, locale, null, false);

    Class<?> realScope = getScope();
    String realPath = absolutePath;
    if (resourceStream instanceof IFixedLocationResourceStream)
    {
View Full Code Here

                          null, false);
  }

  public Serializable getCacheKey()
  {
    IResourceStream stream = getCacheableResourceStream();

    // if resource stream can not be found do not cache
    if (stream == null)
    {
      return null;
    }

    return new CacheKey(scopeName, absolutePath,
                        stream.getLocale(), stream.getStyle(), stream.getVariation());
  }
View Full Code Here

    final ResourceResponse resourceResponse = new ResourceResponse();

    if (resourceResponse.dataNeedsToBeWritten(attributes))
    {
      // get resource stream
      final IResourceStream resourceStream = getResourceStream();

      // bail out if resource stream could not be found
      if (resourceStream == null)
        return sendResourceError(resourceResponse, HttpServletResponse.SC_NOT_FOUND,
          "Unable to find resource");

      // set Content-Type (may be null)
      resourceResponse.setContentType(resourceStream.getContentType());

      // add Last-Modified header (to support HEAD requests and If-Modified-Since)
      final Time lastModified = resourceStream.lastModifiedTime();

      if (lastModified != null)
        resourceResponse.setLastModified(lastModified);

      try
      {
        // read resource data
        final byte[] bytes;

        try
        {
          bytes = IOUtils.toByteArray(resourceStream.getInputStream());
        }
        finally
        {
          resourceStream.close();
        }

        final byte[] processed = processResponse(attributes, bytes);

        // send Content-Length header
View Full Code Here

    Class<?> containerClass = getClass();

    while (!(containerClass.equals(BorderBehavior.class)))
    {
      String path = containerClass.getName().replace('.', '/');
      IResourceStream resourceStream = locator.locate(containerClass, path, style, variation,
        locale, markupType.getExtension(), false);

      // Did we find it already?
      if (resourceStream != null)
      {
View Full Code Here

    }
    final String fn = UrlEncoder.QUERY_INSTANCE.encode(
      (fileName != null) ? fileName : file.getName(), getRequest().getCharset());


    IResourceStream resourceStream = new FileResourceStream(
      new org.apache.wicket.util.file.File(file));
    getRequestCycle().scheduleRequestHandlerAfterCurrent(
      new ResourceStreamRequestHandler(resourceStream)
      {
        @Override
View Full Code Here

    sb.append("fileName=\"");
    sb.append(escape('"', "\\\"", handler.getFileName()));
    sb.append("\",contentDisposition=");
    sb.append(handler.getContentDisposition());
    sb.append(",resourceStream={");
    IResourceStream resourceStream = handler.getResourceStream();
    if (resourceStream != null)
    {
      sb.append("resourceStreamClass=");
      sb.append(resourceStream.getClass().getName());
      sb.append(",contentType=\"");
      sb.append(resourceStream.getContentType());
      sb.append("\",locale=");
      sb.append(resourceStream.getLocale());
      sb.append(",style=");
      sb.append(resourceStream.getStyle());
      sb.append(",variation=");
      sb.append(resourceStream.getVariation());
    }
    sb.append("}");
  }
View Full Code Here

  private List<IResourceStream> collectResourceStreams()
  {
    List<IResourceStream> ret = new ArrayList<IResourceStream>(providedResources.size());
    for (IReferenceHeaderItem curItem : providedResources)
    {
      IResourceStream stream = ((IStaticCacheableResource)curItem.getReference()
        .getResource()).getCacheableResourceStream();
      if (stream == null)
        return null;

      ret.add(stream);
View Full Code Here

      throw new IllegalStateException(getClass().getName() +
        " failed to retrieve a File object from model");
    }
    final String fn = (fileName != null) ? fileName : file.getName();

    IResourceStream resourceStream = new FileResourceStream(
      new org.apache.wicket.util.file.File(file));
    getRequestCycle().setRequestTarget(new ResourceStreamRequestTarget(resourceStream)
    {
      @Override
      public String getFileName()
View Full Code Here

          // Set parameters from servlet request
          resource.setParameters(request.getParameterMap());

          // Get resource stream
          IResourceStream stream = resource.getResourceStream();

          // Get last modified time from stream
          Time time = stream.lastModifiedTime();

          try
          {
            stream.close();
          }
          catch (IOException e)
          {
            // ignore
          }
View Full Code Here

TOP

Related Classes of org.apache.wicket.util.resource.IResourceStream

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.