Example usage for org.springframework.web.servlet ModelAndView getModel

List of usage examples for org.springframework.web.servlet ModelAndView getModel

Introduction

In this page you can find the example usage for org.springframework.web.servlet ModelAndView getModel.

Prototype

public Map<String, Object> getModel() 

Source Link

Document

Return the model map.

Usage

From source file:com.zb.app.web.controller.login.LoginController.java

/**
 * //  w w  w .  j a  v a2  s. co  m
 * 
 * @return
 */
@RequestMapping(value = "/index2.htm")
public ModelAndView index2() {
    ModelAndView mav = new ModelAndView("index");
    if (WebUserTools.hasLogin() && CompanyTypeEnum.isTour(WebUserTools.current().getType())) {
        TravelMemberDO member = memberService.getById(WebUserTools.getMid());
        TravelIntegralDO integral = integralService
                .queryBala(new TravelIntegralQuery(WebUserTools.getCid(), WebUserTools.getMid()));
        mav.addObject("mPic", member == null ? StringUtils.EMPTY : member.getmPic());
        mav.addObject("iBalance",
                integral == null ? 0 : integral.getiBalance() == null ? 0 : integral.getiBalance());
        mav.addObject("reserveOrderCount", 0);
        mav.addObject("modifyOrderCount", 0);
        mav.addObject("hasLogin", true);
    }
    TravelNewsQuery query = new TravelNewsQuery();
    query.setNowPageIndex(0);
    query.setPageSize(10);
    PaginationList<TravelNewsDO> list = cmsService.showNewsPagination(query, new DefaultIpageUrl());

    SiteCacheTools siteCacheTools = (SiteCacheTools) SpringContextAware.getBean("siteCacheTools");
    ChufaFullVO chugang = siteCacheTools.getSiteAndChugang(WebUserTools.getSiteId(),
            WebUserTools.getChugangId());

    mav.getModel().put(CustomVelocityLayoutView.USE_LAYOUT, "false");
    mav.addObject("newsList", list);
    mav.addObject("chugang", chugang);
    return mav;
}

From source file:org.iwethey.forums.web.HeaderInterceptor.java

/**
 * Load the model with the information needed for the header JSP,
 * including user statistics, the quote-of-the-page, and the
 * navigation bar links. Sets the last URI attribute in the session.
 * <p>/* www  . jav  a2  s.co  m*/
 * @param request The servlet request object.
 * @param response The servlet response object.
 * @param handler The request handler processing this request.
 * @param mv The ModelAndView created by the controller wrapped by this interceptor.
 */
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
        ModelAndView mv) throws Exception {
    String currentUri = request.getRequestURI();
    if (!(currentUri.indexOf("toggle") >= 0 || currentUri.indexOf("logout") >= 0
            || currentUri.indexOf("mark") >= 0)) {
        String query = request.getQueryString();
        if (query != null) {
            currentUri = currentUri + "?" + query;
        }
        WebUtils.setSessionAttribute(request, LAST_URI_ATTRIBUTE, currentUri);
    }

    View view = mv.getView();
    if (view != null && view instanceof RedirectView) {
        return;
    }

    // Copy the stuff set above on the request into the model.
    // Some view engines (Velocity as an example) use the model differently.
    mv.addObject("now", request.getAttribute("now"));
    mv.addObject("start", request.getAttribute("start"));
    mv.addObject(USER_ATTRIBUTE, request.getAttribute(USER_ATTRIBUTE));
    mv.addObject("username", request.getAttribute("username"));

    mv.addObject("userCount", new Integer(mUserManager.getUserCount()));
    int actives = mUserManager.getActiveUserCount();
    mv.addObject("activeUserCount", new Integer(actives));
    mv.addObject("activeSingle", Boolean.valueOf(actives == 1));

    mv.addObject("lph", new Integer(3));
    mv.addObject("mpl", new Integer(60 / 3));

    mv.addObject("notice", mAdminManager.getNotice());

    mv.addObject("lrpd", mAdminManager.getLRPD());

    List nav = null;
    Map model = mv.getModel();
    if (model != null) {
        nav = (List) model.get("navigation");
    }
    if (nav == null) {
        nav = new ArrayList();
    }

    nav.add(0, new NavigationEntry("home", "/main.iwt"));

    mv.addObject("navigation", nav);

    //mv.addObject("ctx", new ContextTool(request, response, RequestContextUtils.getLocale(request), mMessageSource));
}

From source file:com.zb.app.web.controller.account.AccountCustomerController.java

/**
 * //from ww  w. j  a v a2s.c o  m
 * 
 * @param mav
 * @param query
 * @param page
 * @return
 */
@RequestMapping(value = "/customerlist.htm")
public ModelAndView customer(ModelAndView mav, TravelCompanyQuery query, Integer page) {
    mav.setViewName("account/customer/customerlist");
    if (query == null) {
        query = new TravelCompanyQuery();
    }
    TravelCompanyDO myCompany = companyService.getById(WebUserTools.getCid());

    List<Long> cIdList = orderService
            .getTourCompany(new TravelOrderQuery(myCompany.getcId(), OrderStateEnum.CONFIRM));
    if (cIdList == null || cIdList.size() == 0) {
        return mav;
    }
    query.setcIds(cIdList.toArray(new Long[cIdList.size()]));
    if (StringUtils.isEmpty(query.getcProvince())) {
        // query.setcProvince(myCompany.getcProvince());
    }
    query.setNowPageIndex(Argument.isNotPositive(page) ? 0 : page - 1);
    query.setcType(CompanyTypeEnum.TOUR.getValue());
    query.setPageSize(10);

    Map<Long, Integer> map = new HashMap<Long, Integer>();
    PaginationList<TravelCompanyDO> list = companyService.showCompanyPagination(query, new DefaultIpageUrl());
    for (TravelCompanyDO travelCompanyDO : list) {
        Integer count = companyService.getBlackCount(new TravelBlackListQuery(travelCompanyDO.getcId()));
        map.put(travelCompanyDO.getcId(), count);
    }
    mav.addObject("list", list);
    mav.getModel().put(CustomVelocityLayoutView.USE_LAYOUT, "false");
    mav.addObject("map", map);

    return mav;
}

From source file:org.guanxi.sp.engine.service.shibboleth.ShibbolethProfileService.java

/** @see org.guanxi.sp.engine.service.generic.ProfileService#doProfile(javax.servlet.http.HttpServletRequest, String, String, org.guanxi.xal.saml2.metadata.GuardRoleDescriptorExtensions, String, org.guanxi.common.entity.EntityFarm) */
public ModelAndView doProfile(HttpServletRequest request, String guardID, String guardSessionID,
        GuardRoleDescriptorExtensions guardNativeMetadata, String entityID, EntityFarm farm)
        throws GuanxiException {
    ModelAndView mAndV = new ModelAndView();
    mAndV.setViewName(wayfViewJSP);//w w w.  j a  v a  2  s.  co m

    // If there's an entityID try to load its metadata
    String wayfForGuard = null;
    String defaultWAYFLocation = null;
    if (entityID != null) {
        EntityManager manager = farm.getEntityManagerForID(entityID);
        Metadata idpMetadata = manager.getMetadata(entityID);
        EntityDescriptorType saml2Metadata = (EntityDescriptorType) idpMetadata.getPrivateData();
        EndpointType[] ssoServices = saml2Metadata.getIDPSSODescriptorArray(0).getSingleSignOnServiceArray();
        for (EndpointType ssoService : ssoServices) {
            if (ssoService.getBinding().equals("urn:mace:shibboleth:1.0:profiles:AuthnRequest")) {
                wayfForGuard = ssoService.getLocation();
                logger.info("Guard '" + guardID + "' obtained WAYFless location : " + wayfForGuard);
            }
        }
    }

    // No entityID or no suitable profile endpoint so use a WAYF
    if (wayfForGuard == null) {
        // Find out which WAYF to use for this Guard
        for (String guardId : wayfs.keySet()) {
            if (guardId.equals(DEFAULT_WAYF_MARKER)) {
                defaultWAYFLocation = wayfs.get(guardId);
            }
            if (guardId.equals(guardID)) {
                wayfForGuard = wayfs.get(guardId);
            }
        }
        wayfForGuard = (wayfForGuard != null) ? wayfForGuard : defaultWAYFLocation;
        logger.info("Guard '" + guardID + "' obtained WAYF location : " + wayfForGuard);
    }

    try {
        // Guard either gets its own WAYF or the default one for all other Guards
        mAndV.getModel().put("wayfLocation", wayfForGuard);
        mAndV.getModel().put("shire", URLEncoder.encode(attributeConsumerService, "UTF-8"));
        mAndV.getModel().put("target", URLEncoder.encode(guardSessionID, "UTF-8"));
        mAndV.getModel().put("time", Long.toString(System.currentTimeMillis() / 1000));
        mAndV.getModel().put("providerId", guardID);
    } catch (UnsupportedEncodingException uee) {
        logger.error("something went wrong putting the WAYF location together", uee);
        throw new GuanxiException(uee);
    }

    return mAndV;
}

From source file:org.sakaiproject.metaobj.utils.mvc.impl.servlet.FormControllerImpl.java

protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command,
        BindException errors) throws Exception {

    Map requestMap = HttpServletHelper.getInstance().createRequestMap(request);
    Map session = HttpServletHelper.getInstance().createSessionMap(request);
    Map application = HttpServletHelper.getInstance().createApplicationMap(request);

    ModelAndView returnedMv;

    if (controller instanceof CancelableController
            && ((CancelableController) controller).isCancel(requestMap)) {
        returnedMv = ((CancelableController) controller).processCancel(requestMap, session, application,
                command, errors);//from   w w w  . j  a va 2s  .  c  o  m
    } else {
        returnedMv = controller.handleRequest(command, requestMap, session, application, errors);
    }

    boolean saveCookies = ServerConfigurationService.getBoolean(PROP_SAVE_COOKIES, false);

    if (errors.hasErrors()) {
        logger.debug("Form submission errors: " + errors.getErrorCount());
        HttpServletHelper.getInstance().reloadApplicationMap(request, application);
        HttpServletHelper.getInstance().reloadSessionMap(request, session);
        HttpServletHelper.getInstance().reloadRequestMap(request, requestMap);
        if (saveCookies) {
            Cookie cookie = new Cookie(FormHelper.FORM_SAVE_ATTEMPT, "yes");
            cookie.setMaxAge(30);
            cookie.setPath("/");
            response.addCookie(cookie);
        }
        return showForm(request, response, errors);
    }

    if (returnedMv.getViewName() != null) {
        // should get from mappings
        String mappedView = (String) screenMappings.get(returnedMv.getViewName());

        if (mappedView == null) {
            mappedView = returnedMv.getViewName();
        }

        //getControllerFilterManager().processFilters(requestMap, session, application, returnedMv, mappedView);

        returnedMv = new ModelAndView(mappedView, returnedMv.getModel());
    }

    //We have a successful save coming back, so we set/append to a cookie
    String savedForm = (String) session.get(FormHelper.FORM_SAVE_SUCCESS);
    if (savedForm != null && saveCookies) {
        Cookie cookie = null;
        if (request.getCookies() != null) {
            for (Cookie c : request.getCookies()) {
                if (FormHelper.FORM_SAVE_SUCCESS.equals(c.getName())) {
                    String[] forms = c.getValue().split(",");
                    StringBuilder value = new StringBuilder();
                    boolean alreadyIncluded = false;
                    for (String form : forms) {
                        if (form.equals(savedForm)) {
                            alreadyIncluded = true;
                        }
                        value.append(",").append(form);
                    }
                    if (!alreadyIncluded) {
                        value.append(",").append(savedForm);
                    }
                    cookie = new Cookie(FormHelper.FORM_SAVE_SUCCESS, value.substring(1));
                }
            }
        }
        if (cookie == null) {
            cookie = new Cookie(FormHelper.FORM_SAVE_SUCCESS, savedForm);
        }
        cookie.setMaxAge(2000000);
        cookie.setPath("/");
        response.addCookie(cookie);
    }

    HttpServletHelper.getInstance().reloadApplicationMap(request, application);
    HttpServletHelper.getInstance().reloadSessionMap(request, session);
    HttpServletHelper.getInstance().reloadRequestMap(request, requestMap);

    return returnedMv;
}

From source file:gov.nih.nci.cabig.caaers.web.ae.ListAdverseEventsController.java

@Override
protected ModelAndView processFormSubmission(HttpServletRequest request, HttpServletResponse response,
        Object command, BindException errors) throws Exception {
    ListAdverseEventsCommand listAECommand = (ListAdverseEventsCommand) command;
    ModelAndView modelAndView = super.processFormSubmission(request, response, listAECommand, errors);

    ListAdverseEventsCommand listAECmd = (ListAdverseEventsCommand) command;

    String userId = SecurityUtils.getUserLoginName();
    Boolean isStaff = true;/*from   ww w .  java  2  s . c  o m*/
    Person loggedInPerson = personDao.getByLoginId(userId);
    if (loggedInPerson instanceof Investigator) {
        isStaff = false;
    }
    request.setAttribute("isStaff", isStaff);
    listAECmd.setUserId(userId);
    boolean noStudy = listAECmd.getStudy() == null;
    boolean noParticipant = listAECmd.getParticipant() == null;

    if (!noStudy && noParticipant) {
        listAECmd.setStudyCentric(true);
        listAECmd.setParticipantCentric(false);
    } else if (noStudy && !noParticipant) {
        listAECmd.setParticipantCentric(true);
        listAECmd.setStudyCentric(false);
    } else {
        listAECmd.setStudyCentric(false);
        listAECmd.setParticipantCentric(false);
    }

    if (!errors.hasErrors()) {
        //if there is no validation error, update the report submitability
        listAECmd.updateSubmittability();
        listAECmd.updateSubmittabilityBasedOnReportStatus();
        listAECmd.updateOptions();
    }

    processPaginationSubmission(request, listAECommand, modelAndView);
    String numberOfResultsPerPage = (String) findInRequest(request, "numberOfResultsPerPage");
    if (numberOfResultsPerPage == null)
        modelAndView.getModel().put("numberOfResultsPerPage", 5);
    else
        modelAndView.getModel().put("numberOfResultsPerPage", Integer.parseInt(numberOfResultsPerPage));

    Integer currentPageNumber = (Integer) request.getSession().getAttribute(CURRENT_PAGE_NUMBER);
    if (currentPageNumber.equals(1))
        modelAndView.getModel().put("isFirstPage", true);
    else
        modelAndView.getModel().put("isFirstPage", false);
    if (isLastPage(request, listAECommand))
        modelAndView.getModel().put("isLastPage", true);
    else
        modelAndView.getModel().put("isLastPage", false);

    return modelAndView;
}

From source file:org.guanxi.idp.service.saml2.WebBrowserSSO.java

/**
 * Handles processing of an AuthnRequest message. If the request attribute:
 * wbsso-handler-error-message/*from www.  j a v  a2 s  .  com*/
 * is present then we must display the error text it contains and go no further.
 * 
 * @param request Servlet request
 * @param response Servlet response
 * @return the view to display
 * @throws Exception if an error occurs
 */
public ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
        throws Exception {
    ModelAndView mAndV = new ModelAndView();

    idpConfig = (IdpDocument.Idp) getServletContext().getAttribute(Guanxi.CONTEXT_ATTR_IDP_CONFIG);
    loadPersona(request);
    String spEntityID = (String) request.getAttribute("entityID");

    // Display an error message if it exists and go no further
    if (request.getAttribute("wbsso-handler-error-message") != null) {
        if (request.getAttribute("wbsso-handler-error-message").equals(SAML.SAML2_STATUS_NO_PASSIVE)) {
            // Return SAML2 Response as we don't do passive
            ResponseDocument errorDoc = buidErrorResponse(idpEntityID,
                    (String) request.getAttribute("requestID"), (String) request.getAttribute("acsURL"),
                    SAML.SAML2_STATUS_NO_PASSIVE);

            xmlOptions.setSaveSuggestedPrefixes(saml2Namespaces);

            Document signedDoc = null;
            if (request.getAttribute("responseBinding").equals(SAML.SAML2_BINDING_HTTP_POST)) {
                try {
                    // Need to use newDomNode to preserve namespace information
                    signedDoc = SecUtils.getInstance().saml2Sign(secUtilsConfig,
                            (Document) errorDoc.newDomNode(xmlOptions), errorDoc.getResponse().getID());
                } catch (GuanxiException ge) {
                    logger.error("Could not sign Response", ge);
                    mAndV.setViewName(errorView);
                    mAndV.getModel().put(errorViewDisplayVar,
                            messages.getMessage("error.could.not.sign.message", null, request.getLocale()));
                    return mAndV;
                }
            }

            // Do the binding quickstep
            String b64SAMLResponse = null;
            if (request.getAttribute("responseBinding").equals(SAML.SAML2_BINDING_HTTP_POST)) {
                b64SAMLResponse = Utils.base64(signedDoc);
                mAndV.setViewName(httpPOSTView);
            } else if (request.getAttribute("responseBinding").equals(SAML.SAML2_BINDING_HTTP_REDIRECT)) {
                String deflatedResponse = Utils.deflate(errorDoc.toString(),
                        Utils.RFC1951_DEFAULT_COMPRESSION_LEVEL, Utils.RFC1951_NO_WRAP);
                b64SAMLResponse = Utils.base64(deflatedResponse.getBytes());
                b64SAMLResponse = b64SAMLResponse.replaceAll(System.getProperty("line.separator"), "");
                b64SAMLResponse = URLEncoder.encode(b64SAMLResponse, "UTF-8");
                mAndV.setViewName(httpRedirectView);
            }

            // Debug syphoning?
            if (idpConfig.getDebug() != null) {
                if (idpConfig.getDebug().getSypthonAttributeAssertions() != null) {
                    if (idpConfig.getDebug().getSypthonAttributeAssertions().equals("yes")) {
                        logger.info("=======================================================");
                        logger.info("Error Response to SAML2 WBSSO request by " + spEntityID);
                        logger.info("");
                        StringWriter sw = new StringWriter();
                        errorDoc.save(sw, xmlOptions);
                        logger.info(sw.toString());
                        logger.info("");
                        logger.info("=======================================================");
                    }
                }
            }

            request.setAttribute("SAMLResponse", b64SAMLResponse);
            request.setAttribute("RelayState", request.getParameter("RelayState"));
            mAndV.getModel().put("wbsso_acs_endpoint", request.getAttribute("acsURL"));
            return mAndV;
        } else {
            logger.error("Displaying auth handler error");
            mAndV.setViewName(errorView);
            mAndV.getModel().put(errorViewDisplayVar, request.getAttribute("wbsso-handler-error-message"));
            return mAndV;
        }
    } // if (request.getAttribute("wbsso-handler-error-message") != null)

    GuanxiPrincipal gxPrincipal = (GuanxiPrincipal) request.getAttribute(Guanxi.REQUEST_ATTR_IDP_PRINCIPAL);
    if (request.getAttribute("NameIDFormat") != null) {
        // Use the NameID format supplied in the request...
        gxPrincipal.setNameIDFormat((String) request.getAttribute("NameIDFormat"));
    } else {
        // ...or the default if none is specified
        gxPrincipal.setNameIDFormat(nameQualifier);
    }

    // We need this for reference in the Response
    String requestID = (String) request.getAttribute("requestID");

    // Response
    ResponseDocument responseDoc = ResponseDocument.Factory.newInstance();
    ResponseType wbssoResponse = responseDoc.addNewResponse();
    wbssoResponse.setID(generateStringID());
    wbssoResponse.setVersion("2.0");
    wbssoResponse.setDestination((String) request.getAttribute("acsURL"));
    wbssoResponse.setIssueInstant(Calendar.getInstance());
    wbssoResponse.setInResponseTo(requestID);
    Utils.zuluXmlObject(wbssoResponse, 0);

    // Response/Issuer
    NameIDType issuer = wbssoResponse.addNewIssuer();
    issuer.setFormat(SAML.URN_SAML2_NAMEID_FORMAT_ENTITY);
    issuer.setStringValue(idpEntityID);

    // Response/Status
    StatusDocument statusDoc = StatusDocument.Factory.newInstance();
    StatusType status = statusDoc.addNewStatus();
    StatusCodeType topLevelStatusCode = status.addNewStatusCode();
    topLevelStatusCode.setValue(SAML.SAML2_STATUS_SUCCESS);
    wbssoResponse.setStatus(status);

    // Response/Assertion
    AssertionDocument assertionDoc = AssertionDocument.Factory.newInstance();
    AssertionType assertion = assertionDoc.addNewAssertion();
    assertion.setID(generateStringID());
    assertion.setIssueInstant(Calendar.getInstance());
    assertion.setIssuer(issuer);
    assertion.setVersion("2.0");
    Utils.zuluXmlObject(assertion, 0);

    // Response/Assertion/Subject
    SubjectType subject = assertion.addNewSubject();
    SubjectConfirmationType subjectConfirmation = subject.addNewSubjectConfirmation();
    subjectConfirmation.setMethod(SAML.URN_SAML2_CONFIRMATION_METHOD_BEARER);
    SubjectConfirmationDataType subjectConfirmationData = subjectConfirmation.addNewSubjectConfirmationData();
    subjectConfirmationData.setAddress(request.getLocalAddr());
    subjectConfirmationData.setInResponseTo(requestID);
    subjectConfirmationData.setNotOnOrAfter(Calendar.getInstance());
    subjectConfirmationData.setRecipient((String) request.getAttribute("acsURL"));
    Utils.zuluXmlObject(subjectConfirmationData, assertionTimeLimit);

    // Response/Assertion/Conditions
    ConditionsType conditions = assertion.addNewConditions();
    conditions.setNotBefore(Calendar.getInstance());
    conditions.setNotOnOrAfter(Calendar.getInstance());
    AudienceRestrictionType audienceRestriction = conditions.addNewAudienceRestriction();
    audienceRestriction.addAudience(spEntityID);
    Utils.zuluXmlObject(conditions, assertionTimeLimit);

    // Response/Assertion/AuthnStatement
    AuthnStatementType authnStatement = assertion.addNewAuthnStatement();
    authnStatement.setAuthnInstant(Calendar.getInstance());
    authnStatement.setSessionIndex("");
    authnStatement.addNewSubjectLocality().setAddress(request.getLocalAddr());
    authnStatement.addNewAuthnContext().setAuthnContextClassRef(SAML.URN_SAML2_PASSWORD_PROTECTED_TRANSPORT);
    authnStatement.setSessionIndex("860e1c78883a682e07697c494b0ff1641847b128ec28cc8b597fb");
    Utils.zuluXmlObject(authnStatement, 0);

    // Assemble the attributes
    UserAttributesDocument attributesDoc = UserAttributesDocument.Factory.newInstance();
    UserAttributesDocument.UserAttributes attributes = attributesDoc.addNewUserAttributes();
    for (org.guanxi.idp.farm.attributors.Attributor attr : attributor) {
        attr.getAttributes(gxPrincipal, spEntityID, arpEngine, mapper, attributes);
    }
    AttributeStatementDocument attrStatementDoc = getSAML2AttributeStatementFromFarm(attributesDoc, spEntityID,
            subject, gxPrincipal);

    // If a user has no attributes we shouldn't add an Assertion or Subject
    if (attrStatementDoc != null) {
        // Response/Assertion/AttributeStatement
        assertion.setAttributeStatementArray(
                new AttributeStatementType[] { attrStatementDoc.getAttributeStatement() });
    }

    // Sort out the namespaces for saving the Response
    xmlOptions.setSaveSuggestedPrefixes(saml2Namespaces);

    // Debug syphoning?
    if (idpConfig.getDebug() != null) {
        if (idpConfig.getDebug().getSypthonAttributeAssertions() != null) {
            if (idpConfig.getDebug().getSypthonAttributeAssertions().equals("yes")) {
                logger.info("=======================================================");
                logger.info("Response to SAML2 WBSSO request by " + spEntityID);
                logger.info("");
                StringWriter sw = new StringWriter();
                responseDoc.save(sw, xmlOptions);
                assertionDoc.save(sw, xmlOptions);
                logger.info(sw.toString());
                logger.info("");
                logger.info("=======================================================");
            }
        }
    }

    if (encryptAttributes) {
        // Get the SP's encryption key. We'll use this to encrypt the secret key for encrypting the attributes
        X509Certificate encryptionCert = getX509CertFromMetadata(getSPMetadata(spEntityID), ENTITY_SP,
                ENCRYPTION_CERT);
        if (encryptionCert != null) {
            addEncryptedAssertionsToResponse(encryptionCert, assertionDoc, responseDoc);
        } else {
            logger.warn("Attribute encryption is on but " + spEntityID + " has no encryption key");
            responseDoc.getResponse().addNewAssertion();
            responseDoc.getResponse().setAssertionArray(0, assertionDoc.getAssertion());
        }
    } else {
        responseDoc.getResponse().addNewAssertion();
        responseDoc.getResponse().setAssertionArray(0, assertionDoc.getAssertion());
    }

    // Break out to DOM land to get the SAML Response signed...
    Document signedDoc = null;
    if (request.getAttribute("responseBinding").equals(SAML.SAML2_BINDING_HTTP_POST)) {
        try {
            // Need to use newDomNode to preserve namespace information
            signedDoc = SecUtils.getInstance().saml2Sign(secUtilsConfig,
                    (Document) responseDoc.newDomNode(xmlOptions), responseDoc.getResponse().getID());
        } catch (GuanxiException ge) {
            logger.error("Could not sign Response", ge);
            mAndV.setViewName(errorView);
            mAndV.getModel().put(errorViewDisplayVar,
                    messages.getMessage("error.could.not.sign.message", null, request.getLocale()));
            return mAndV;
        }
    }

    // Do the binding quickstep
    String b64SAMLResponse = null;
    if (request.getAttribute("responseBinding").equals(SAML.SAML2_BINDING_HTTP_POST)) {
        b64SAMLResponse = Utils.base64(signedDoc);
        mAndV.setViewName(httpPOSTView);
    } else if (request.getAttribute("responseBinding").equals(SAML.SAML2_BINDING_HTTP_REDIRECT)) {
        String deflatedResponse = Utils.deflate(responseDoc.toString(), Utils.RFC1951_DEFAULT_COMPRESSION_LEVEL,
                Utils.RFC1951_NO_WRAP);
        b64SAMLResponse = Utils.base64(deflatedResponse.getBytes());
        b64SAMLResponse = b64SAMLResponse.replaceAll(System.getProperty("line.separator"), "");
        b64SAMLResponse = URLEncoder.encode(b64SAMLResponse, "UTF-8");
        mAndV.setViewName(httpRedirectView);
    }

    // Send the Response to the SP
    request.setAttribute("SAMLResponse", b64SAMLResponse);
    request.setAttribute("RelayState", request.getParameter("RelayState"));
    mAndV.getModel().put("wbsso_acs_endpoint", request.getAttribute("acsURL"));
    return mAndV;
}

From source file:org.myjerry.evenstar.web.blog.ViewLabeledPostsController.java

@SuppressWarnings("unchecked")
public ModelAndView view(HttpServletRequest request, HttpServletResponse response) throws Exception {
    String label = request.getParameter("label");
    Long older = StringUtils.getLong(request.getParameter("older"));
    Long newer = StringUtils.getLong(request.getParameter("newer"));

    Long blogID = ControllerHelper.convertToBlogID(request, this.blogService);
    Long labelID = this.blogLabelService.getLabelID(blogID, label);

    ModelAndView mav = getModelAndView(request);

    if (blogID == null || labelID == null) {
        mav.setViewName(".evenstar");
    } else {/*from  w w w  .  j av  a  2s.c  o  m*/
        Map<String, Object> model = new HashMap<String, Object>();

        Blog blog = this.blogService.getBlog(blogID);
        String numPostsString = this.blogPreferenceService.getPreference(blogID,
                BlogPreferenceConstants.showNumPosts);
        int numPosts = 10;
        if (StringUtils.isNotEmpty(numPostsString)) {
            numPosts = Integer.valueOf(numPostsString);
        }

        Collection<BlogPost> postsCollection = null;
        postsCollection = this.blogPostService.getBlogPostsForLabel(blogID, labelID, numPosts, older, newer);

        List<BlogPost> posts = new ArrayList<BlogPost>(postsCollection);

        if (posts != null && posts.size() > 0) {
            if (posts.size() > numPosts) {
                int last = posts.size() - 1;
                BlogPost lastPost = posts.get(last);
                model.put("olderPageUrl", "/showPostsForLabel.html?label=" + label + "&older="
                        + ServerUtils.getUniversalDateString(lastPost.getPostedDate()));
                posts.remove(last);
            } else {
                model.put("olderPageUrl", "");
            }

            if (!this.blogPostService.isFirstPost(posts.get(0))) {
                model.put("newerPageUrl", "/showPostsForLabel.html?label=" + label + "&newer="
                        + ServerUtils.getUniversalDateString(posts.get(0).getPostedDate()));
            } else {
                model.put("newerPageUrl", "");
            }
        }

        model.putAll(mav.getModel());
        model = this.viewPostService.getPostsViewModel(blog, posts, false, model);
        String generatedBlogPage = TemplateHelper.generateBlogPage(blogID, model, blogLayoutService,
                velocityEngine);

        mav.addAllObjects(model);
        mav.addObject("generatedBlogPage", generatedBlogPage);
        mav.setViewName(".view.blog.home");
    }

    return mav;
}

From source file:jetbrains.buildServer.clouds.azure.web.AzureEditProfileController.java

public AzureEditProfileController(@NotNull final SBuildServer server,
        @NotNull final PluginDescriptor pluginDescriptor, @NotNull final WebControllerManager manager) {
    super(server);
    myPluginDescriptor = pluginDescriptor;
    myHtmlPath = pluginDescriptor.getPluginResourcesPath("azure-settings.html");
    myJspPath = pluginDescriptor.getPluginResourcesPath("azure-settings.jsp");

    manager.registerController(myHtmlPath, this);
    manager.registerController(pluginDescriptor.getPluginResourcesPath("uploadManagementCertificate.html"),
            new MultipartFormController() {
                @Override/*from   w  w  w .  java 2  s.  c  o  m*/
                protected ModelAndView doPost(final HttpServletRequest request,
                        final HttpServletResponse response) {
                    final ModelAndView modelAndView = new ModelAndView("/_fileUploadResponse.jsp");
                    final String fileName = request.getParameter("fileName");
                    boolean exists;
                    try {
                        final MultipartFile file = getMultipartFileOrFail(request, "file:fileToUpload");
                        if (file == null) {
                            return error(modelAndView, "No file set");
                        }
                        final File pluginDataDirectory = FileUtil.createDir(new File(""));
                        final File destinationFile = new File(pluginDataDirectory, fileName);
                        exists = destinationFile.exists();
                        file.transferTo(destinationFile);
                    } catch (IOException e) {
                        return error(modelAndView, e.getMessage());
                    } catch (IllegalStateException e) {
                        return error(modelAndView, e.getMessage());
                    }
                    if (exists) {
                        Loggers.SERVER.info("File " + fileName + " is overwritten");
                        ActionMessages.getOrCreateMessages(request).addMessage("mavenSettingsUploaded",
                                "Maven settings file " + fileName + " was updated");
                    } else {
                        ActionMessages.getOrCreateMessages(request).addMessage("mavenSettingsUploaded",
                                "Maven settings file " + fileName + " was uploaded");
                    }
                    return modelAndView;

                }

                protected ModelAndView error(@NotNull ModelAndView modelAndView, @NotNull String error) {
                    modelAndView.getModel().put("error", error);
                    return modelAndView;
                }

            });
}