Package com.codeforces.graygoose.web.page.data

Source Code of com.codeforces.graygoose.web.page.data.ResponsesDataPage

package com.codeforces.graygoose.web.page.data;

import com.codeforces.graygoose.dao.ResponseDao;
import com.codeforces.graygoose.model.Response;
import com.codeforces.graygoose.validation.LongValidator;
import com.google.inject.Inject;
import org.apache.commons.io.IOUtils;
import org.nocturne.annotation.Action;
import org.nocturne.annotation.Parameter;
import org.nocturne.annotation.Validate;
import org.nocturne.link.Link;
import org.nocturne.validation.RequiredValidator;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@Link("data/responses")
public class ResponsesDataPage extends DataPage {
    @Parameter
    private Long responseId;

    @Inject
    private ResponseDao responseDao;

    @Validate("downloadResponse")
    public boolean validateDownloadResponse() {
        addValidator("responseId", new RequiredValidator());
        addValidator("responseId", new LongValidator(1, Long.MAX_VALUE));

        return runValidation();
    }

    @Action("downloadResponse")
    public void onDownloadResponse() {
        Response response = responseDao.find(responseId);
        HttpServletResponse httpServletResponse = getResponse();

        if (response != null) {
            try {
                IOUtils.write(response.getText(), httpServletResponse.getWriter());
            } catch (IOException e) {
                // No operations.
            }
        }
    }

    @Override
    public void action() {
        // No actions.
    }
}
TOP

Related Classes of com.codeforces.graygoose.web.page.data.ResponsesDataPage

TOP
Copyright © 2018 www.massapi.com. 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.