Example usage for org.apache.wicket.request.resource ResourceStreamResource setFileName

List of usage examples for org.apache.wicket.request.resource ResourceStreamResource setFileName

Introduction

In this page you can find the example usage for org.apache.wicket.request.resource ResourceStreamResource setFileName.

Prototype

public ResourceStreamResource setFileName(String fileName) 

Source Link

Usage

From source file:org.artifactory.webapp.wicket.page.logs.SystemLogsViewPanel.java

License:Open Source License

/**
 * Add a link to enable the download of the system log file
 *//*from   w  ww.j  av  a2s .  c  om*/
private void addSystemLogsLink() {
    // This is very ugly and should be removed when we upgrade wicket, see RTFACT-5470 for explanation
    downloadLink = new DownloadLink("systemLogsLink", systemLogFile) {
        @Override
        public void onClick() {
            final File file = getModelObject();
            IResourceStream resourceStream = new FileResourceStream(new org.apache.wicket.util.file.File(file));
            ResourceStreamRequestHandler handler = new ResourceStreamRequestHandler(resourceStream) {
                @Override
                public void respond(IRequestCycle requestCycle) {
                    IResource.Attributes attributes = new IResource.Attributes(requestCycle.getRequest(),
                            requestCycle.getResponse());

                    ResourceStreamResource resource = new ResourceStreamResource(this.getResourceStream()) {
                        @Override
                        protected void configureCache(ResourceResponse data, Attributes attributes) {
                            Response response = attributes.getResponse();
                            ((WebResponse) response).disableCaching();
                        }
                    };
                    resource.setFileName(file.getName());
                    resource.setContentDisposition(ContentDisposition.ATTACHMENT);
                    resource.respond(attributes);
                }
            };
            getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
        }
    };

    add(downloadLink);
    downloadLink.add(linkLabel);
    downloadLink.setOutputMarkupId(true);
    linkLabel.setOutputMarkupId(true);
}

From source file:org.hippoecm.frontend.plugins.console.editor.BinaryEditor.java

License:Apache License

public BinaryEditor(String id, JcrPropertyModel model, final IPluginContext pluginContext) {
    super(id, model);
    final IResourceStream stream = new BinaryResourceStream(model);

    // download//w  w  w  . jav  a2  s. c  om
    final ResourceStreamResource resource = new ResourceStreamResource(stream);
    resource.setCacheDuration(Duration.NONE);
    try {
        final Node node = model.getProperty().getParent().getParent();
        final StringBuilder fileName = new StringBuilder(node.getName());
        if (isExtractedTextProperty(model.getProperty())) {
            fileName.append(".txt");
        }
        resource.setFileName(fileName.toString());
    } catch (RepositoryException e) {
        log.error("Unexpected exception while determining download filename", e);
    }
    final Link downloadLink = new ResourceLink("binary-download-lnk", resource);
    downloadLink.add(new Label("binary-download-text", "download (" + getSizeString(stream.length()) + ")"));
    add(downloadLink);

    // upload
    IDialogFactory factory = new IDialogFactory() {
        private static final long serialVersionUID = 1L;

        public IDialogService.Dialog createDialog() {
            return new BinaryUploadDialog(model);
        }
    };
    final IDialogService service = pluginContext.getService(IDialogService.class.getName(),
            IDialogService.class);
    final DialogLink uploadLink = new DialogLink("binary-upload-link", new Model<>("Upload binary"), factory,
            service);
    add(uploadLink);

    // Jackrabbit Binary Content Identifier if this Binary is in BinaryStore.
    final Label contentIdentityValueLabel = new Label("content-identity-value",
            new PropertyModel<String>(this, "contentIdentity"));
    contentIdentityValueLabel.setOutputMarkupPlaceholderTag(true);
    contentIdentityValueLabel.setVisible(false);
    add(contentIdentityValueLabel);
    final AjaxLink contentIdentityShowLink = new AjaxLink("content-identity-show-link") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            setContentIdentity(retrieveJackrabbitContentIdentity());
            target.add(contentIdentityValueLabel.setVisible(true));
            target.add(this.setVisible(false));
        }
    };
    add(contentIdentityShowLink);
}

From source file:org.wicketstuff.poi.excel.TableComponentAsXlsHandler.java

License:Apache License

public void respond(IRequestCycle requestCycle) {
    try {/* w w  w. j  a  v a2  s .  c  o m*/
        TableParser parser = new TableParser(newSheet(), cellExporter);
        if (tableComponent instanceof IPageable) {
            IPageable pageable = (IPageable) tableComponent;
            for (int i = 0; i < pageable.getPageCount(); i++) {
                pageable.setCurrentPage(i);
                parser.parse(tableComponent);
            }
        } else {
            parser.parse(tableComponent);
        }
        XlsStream xlsStream = new XlsStream(parser.getSheet().getWorkbook());
        ResourceStreamResource resource = new ResourceStreamResource(xlsStream);
        resource.setFileName(filename);
        resource.setContentDisposition(ContentDisposition.ATTACHMENT);
        IResource.Attributes a = new IResource.Attributes(requestCycle.getRequest(),
                requestCycle.getResponse());
        resource.respond(a);
    } catch (Exception e) {
        throw new RuntimeException("Error while generating a xls file to table component", e);
    }
}

From source file:org.wicketstuff.poi.excel.TablesComponentAsXlsHandler.java

License:Apache License

public void respond(IRequestCycle requestCycle) {
    try {//from   www  .j a  v  a 2s  .c o  m
        workbook = new HSSFWorkbook();
        int index = 0;
        for (Component tableComponent : tableComponents) {
            TableParser parser = new TableParser(newSheet(workbook, tableComponent, index++), cellExporter);
            if (tableComponent instanceof IPageable) {
                IPageable pageable = (IPageable) tableComponent;
                for (int i = 0; i < pageable.getPageCount(); i++) {
                    pageable.setCurrentPage(i);
                    parser.parse(tableComponent);
                }
            } else {
                parser.parse(tableComponent);
            }
        }
        XlsStream xlsStream = new XlsStream(workbook);
        ResourceStreamResource resource = new ResourceStreamResource(xlsStream);
        resource.setFileName(filename);
        resource.setContentDisposition(ContentDisposition.ATTACHMENT);
        IResource.Attributes a = new IResource.Attributes(requestCycle.getRequest(),
                requestCycle.getResponse());
        resource.respond(a);
    } catch (Exception e) {
        throw new RuntimeException("Error while generating a xls file to table component", e);
    }
}