Example usage for org.apache.wicket.resource FileSystemResource FileSystemResource

List of usage examples for org.apache.wicket.resource FileSystemResource FileSystemResource

Introduction

In this page you can find the example usage for org.apache.wicket.resource FileSystemResource FileSystemResource.

Prototype

public FileSystemResource() 

Source Link

Document

Creates a new file system resource

Usage

From source file:org.apache.openmeetings.web.util.FileItemResourceReference.java

License:Apache License

@Override
public IResource getResource() {
    return new FileSystemResource() {
        private static final long serialVersionUID = 1L;
        private File file;
        private T r;

        @Override//w w w  .j  a  va2s . c om
        protected String getMimeType() throws IOException {
            return FileItemResourceReference.this.getMimeType(r);
        }

        @Override
        protected ResourceResponse newResourceResponse(Attributes attributes) {
            r = getFileItem(attributes);
            if (r != null) {
                file = getFile(r);
                ResourceResponse rr = createResourceResponse(file.toPath());
                rr.setFileName(getFileName(r));
                return rr;
            } else {
                log.debug("No file item was found");
                ResourceResponse rr = new ResourceResponse();
                rr.setError(HttpServletResponse.SC_NOT_FOUND);
                return rr;
            }
        }
    };
}

From source file:org.apache.openmeetings.web.util.GroupLogoResourceReference.java

License:Apache License

@Override
public IResource getResource() {
    return new FileSystemResource() {
        private static final long serialVersionUID = 1L;

        @Override//from   ww  w .j a  v  a  2s .c  o  m
        protected String getMimeType() throws IOException {
            return PNG_MIME_TYPE;
        }

        @Override
        protected ResourceResponse newResourceResponse(Attributes attrs) {
            Long id = null;
            boolean allowed = false;
            WebSession ws = WebSession.get();
            if (ws.isSignedIn()) {
                PageParameters params = attrs.getParameters();
                StringValue _id = params.get("id");
                try {
                    id = _id.toOptionalLong();
                } catch (Exception e) {
                    //no-op expected
                }
                allowed = id == null || hasAdminLevel(getRights())
                        || null != groupUserDao.getByGroupAndUser(id, getUserId());
                if (!allowed && ws.getInvitation() != null) {
                    Room r = ws.getInvitation().getRoom() == null ? null
                            : roomDao.get(ws.getInvitation().getRoom().getId());
                    if (r != null && r.getGroups() != null) {
                        for (RoomGroup rg : r.getGroups()) {
                            if (id.equals(rg.getGroup().getId())) {
                                allowed = true;
                                break;
                            }
                        }
                    }
                }
            }
            if (allowed) {
                return createResourceResponse(attrs, getGroupLogo(id, true).toPath());
            } else {
                log.debug("Not authorized");
                ResourceResponse rr = new ResourceResponse();
                rr.setError(HttpServletResponse.SC_FORBIDDEN);
                return rr;
            }
        }
    };
}