Example usage for org.apache.wicket.request.handler.resource ResourceRequestHandler ResourceRequestHandler

List of usage examples for org.apache.wicket.request.handler.resource ResourceRequestHandler ResourceRequestHandler

Introduction

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

Prototype

public ResourceRequestHandler(IResource resource, PageParameters parameters) 

Source Link

Document

Construct.

Usage

From source file:com.evolveum.midpoint.web.page.admin.resources.PageResourceVisualizationCytoscape.java

License:Apache License

private void initLayout(PrismObject<ResourceType> resourceObject) {
    retrievalBehavior = new AbstractAjaxBehavior() {
        @Override//from  www.  jav a  2  s .  com
        public void onRequest() {
            System.out.println("retrieve CS data: starting");
            RequestCycle requestCycle = getRequestCycle();
            requestCycle.scheduleRequestHandlerAfterCurrent(null);

            MidPointApplication app = (MidPointApplication) MidPointApplication.get();
            TaskManager taskManager = app.getTaskManager();
            Task task = taskManager.createTaskInstance(PageResourceVisualizationCytoscape.class + ".onRequest");

            String jsonData;
            try {
                jsonData = app.getModelDiagnosticService().exportDataModel(resourceObject.asObjectable(),
                        DataModelVisualizer.Target.CYTOSCAPE, task, task.getResult());
                System.out.println("JSON Cytoscape Data:\n" + jsonData);
            } catch (CommonException | RuntimeException e) {
                LoggingUtils.logUnexpectedException(LOGGER, "Couldn't visualize resource {}", e,
                        resourceObject);
                jsonData = "{\"nodes\":[], \"edges\":[]}"; // TODO better error handling
            }

            IResource jsonResource = new ByteArrayResource("application/json", jsonData.getBytes());
            IRequestHandler requestHandler = new ResourceRequestHandler(jsonResource, null);
            requestHandler.respond(requestCycle);
            System.out.println("retrieve CS data: response written");
        }
    };
    add(retrievalBehavior);

    deletionBehavior = new AbstractAjaxBehavior() {
        @Override
        public void onRequest() {
            System.out.println("deleteAttribute: starting");
            RequestCycle requestCycle = getRequestCycle();
            requestCycle.scheduleRequestHandlerAfterCurrent(null);

            MidPointApplication app = (MidPointApplication) MidPointApplication.get();
            TaskManager taskManager = app.getTaskManager();
            Task task = taskManager.createTaskInstance(PageResourceVisualizationCytoscape.class + ".onRequest");

            try {
                IRequestParameters parameters = requestCycle.getRequest().getQueryParameters();
                String resourceOid = parameters.getParameterValue("resourceOid").toString();
                String kind = parameters.getParameterValue("kind").toString();
                String intent = parameters.getParameterValue("intent").toString();
                String objectClass = parameters.getParameterValue("objectClass").toString();
                String attributeName = parameters.getParameterValue("attributeName").toString();
                System.out.println("ResourceOid: " + resourceOid + ", kind: " + kind + ", intent: " + intent
                        + ", objectClass: " + objectClass + ", attributeName: " + attributeName);
            } catch (RuntimeException e) {
                LoggingUtils.logUnexpectedException(LOGGER, "Couldn't delete attribute", e);
            }

            IResource resource = new ByteArrayResource("text/plain", "OK".getBytes());
            IRequestHandler requestHandler = new ResourceRequestHandler(resource, null);
            requestHandler.respond(requestCycle);
            System.out.println("deleteAttribute: finished");
        }
    };
    add(deletionBehavior);
}

From source file:fiftyfive.wicket.resource.MergedResourceRequestHandler.java

License:Apache License

public void respond(IRequestCycle requestCycle) {
    WebRequest origRequest = (WebRequest) requestCycle.getRequest();

    // Explicitly set the last modified header of the response based on the last modified
    // time of the aggregate. Do this on the original response because our wrapped response
    // ignores the last modified headers contributed by each individual resource.
    WebResponse origResponse = (WebResponse) requestCycle.getResponse();
    if (this.lastModified != null) {
        origResponse.setLastModifiedTime(this.lastModified);
    }//from  ww w .  ja  v a2s.com

    try {
        // Make a special response object that merges the contributions of each resource,
        // but maintains a single set of headers.
        MergedResponse merged = new MergedResponse(origResponse);
        requestCycle.setResponse(merged);

        // Make a special request object that tweaks the If-Modified-Since header to ensure
        // we don't end up in a situation where some resources respond 200 and others 304.
        // Yes, calling RequestCycle#setRequest() is frowned upon so this is a bit of a hack.
        ((RequestCycle) requestCycle).setRequest(new MergedRequest(origRequest));

        for (ResourceReference ref : this.resources) {
            ResourceRequestHandler handler = new ResourceRequestHandler(ref.getResource(), this.pageParameters);
            handler.respond(requestCycle);

            // If first resource sent 304 Not Modified that means all will.
            // We can therefore skip the rest.
            if (304 == merged.status) {
                break;
            }
        }
    } finally {
        // Restore the original request once we're done. We don't need to restore the
        // original response because Wicket takes care of that automatically.
        ((RequestCycle) requestCycle).setRequest(origRequest);
    }
}

From source file:gr.abiss.calipso.wicket.components.ByteDataRequestTarget.java

License:Open Source License

public void respond(IRequestCycle requestCycle) {
    ResourceRequestHandler handler = new ResourceRequestHandler(
            new ByteArrayResource(this.mime, this.getData(null), fileName), null);
    requestCycle.scheduleRequestHandlerAfterCurrent(handler);
}

From source file:org.cast.audioapplet.component.AudioResourcePlayer.java

License:Open Source License

/**
 * Called if we were initialized with a Resource and it's now being requested.
 */// www . ja va 2 s  . com
@Override
public void onResourceRequested() {
    // TODO rewritten - does this work??
    getRequestCycle().scheduleRequestHandlerAfterCurrent(new ResourceRequestHandler(audioResource, null));
}

From source file:org.cast.cwm.BinaryFileDataMapper.java

License:Open Source License

@Override
public IRequestHandler mapRequest(Request request) {
    List<String> segments = request.getUrl().getSegments();
    if (segments.size() != 2)
        return null;
    if (!segments.get(0).equals(urlPrefix))
        return null;
    Long id = Long.valueOf(segments.get(1));
    return new ResourceRequestHandler(new BinaryFileDataResource(id), null);
}

From source file:org.cast.cwm.UserResponseDataMapper.java

License:Open Source License

public IRequestHandler mapRequest(Request request) {
    List<String> segments = request.getUrl().getSegments();
    // segment size should be exactly 2: the prefix + the id
    if (segments.size() != 2)
        return null;
    if (!segments.get(0).equals(urlPrefix))
        return null;
    Long id = Long.valueOf(segments.get(1));
    return new ResourceRequestHandler(new UserResponseDataResource(id), null);
}

From source file:org.cast.isi.mapper.ContentDirectoryMapper.java

License:Open Source License

public IRequestHandler mapRequest(Request request) {
    String path = request.getUrl().getPath();
    if (!path.startsWith(CONTENT_DIRECTORY_MAPPER_PREFIX))
        return null;

    // strip off the prefix
    path = path.substring(CONTENT_DIRECTORY_MAPPER_PREFIX.length());

    if (davServer != null) {
        DavResource contentResource = new DavResource(davServer, contentDirectory + path);
        return new ResourceRequestHandler(contentResource, null);
    } else {//from   w w  w . j av  a2s .c o  m
        String filePath = contentDirectory + path;
        File contentFile = new File(filePath);
        FileResource contentResource = new FileResource(contentFile);
        return new ResourceRequestHandler(contentResource, null);
    }
}

From source file:org.hippoecm.frontend.translation.LocaleImageService.java

License:Apache License

@Override
public void onRequest() {
    if (provider == null) {
        throw new WicketRuntimeException("No locale provider available");
    }/*from   w ww.ja  v a2s  .c  o m*/
    RequestCycle rc = RequestCycle.get();
    StringValue language = rc.getRequest().getRequestParameters().getParameterValue("lang");
    ResourceReference resourceRef = provider.getLocale(language.toString()).getIcon(IconSize.M,
            LocaleState.EXISTS);
    rc.scheduleRequestHandlerAfterCurrent(new ResourceRequestHandler(resourceRef.getResource(), null));
}

From source file:org.isisaddons.wicket.pdfjs.cpt.ui.PdfJsViewerPanel.java

License:Apache License

@Override
public void onResourceRequested() {
    Blob pdfBlob = getBlob();/*from  w w  w  . ja va2 s  .  c  o  m*/
    if (pdfBlob != null) {
        final byte[] bytes = pdfBlob.getBytes();
        final ByteArrayResource resource = new ByteArrayResource("application/pdf", bytes) {
            @Override
            protected void configureResponse(final ResourceResponse response, final Attributes attributes) {
                super.configureResponse(response, attributes);
                response.setCacheDuration(Duration.NONE);
            }
        };
        final ResourceRequestHandler handler = new ResourceRequestHandler(resource, null);
        getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
    } else {
        throw new AbortWithHttpErrorCodeException(404);
    }
}

From source file:org.onexus.website.api.widgets.download.AjaxDownloadBehavior.java

License:Apache License

public void onRequest() {
    ResourceRequestHandler handler = new ResourceRequestHandler(getResource(), null);
    getComponent().getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
}