Java 类org.springframework.web.servlet.support.RequestContextUtils 实例源码

项目:parabuild-ci    文件:SpringCreator.java   
/**
 * @return A found BeanFactory configuration
 */
private BeanFactory getBeanFactory()
{
    // If someone has set a resource name then we need to load that.
    if (configLocation != null && configLocation.length > 0)
    {
        log.info("Spring BeanFactory via ClassPathXmlApplicationContext using " + configLocation.length + "configLocations.");
        return new ClassPathXmlApplicationContext(configLocation);
    }

    ServletContext srvCtx = WebContextFactory.get().getServletContext();
    HttpServletRequest request = WebContextFactory.get().getHttpServletRequest();

    if (request != null)
    {
        return RequestContextUtils.getWebApplicationContext(request, srvCtx);
    }
    else
    {
        return WebApplicationContextUtils.getWebApplicationContext(srvCtx);
    }
}
项目:dwr    文件:SpringCreator.java   
/**
 * @return A found BeanFactory configuration
 */
private BeanFactory getBeanFactory()
{
    // If someone has set a resource name then we need to load that.
    if (configLocation != null && configLocation.length > 0)
    {
        log.info("Spring BeanFactory via ClassPathXmlApplicationContext using " + configLocation.length + "configLocations.");
        return new ClassPathXmlApplicationContext(configLocation);
    }

    ServletContext srvCtx = ServerContextFactory.get().getServletContext();

    HttpServletRequest request = null;
    try
    {
        request = WebContextFactory.get().getHttpServletRequest();
    }
    catch (Exception ex)
    {
        // Probably on boot time
    }
    return request != null ? RequestContextUtils.getWebApplicationContext(request, srvCtx) : WebApplicationContextUtils.getWebApplicationContext(srvCtx);
}
项目:helium    文件:IdiomaInterceptor.java   
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException {
    if (request.getUserPrincipal() != null) {
        String codiIdioma = request.getParameter(this.paramName);

        if (codiIdioma != null) {
            personaService.savePrefIdioma(codiIdioma);
            LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
            if (localeResolver == null)
                throw new IllegalStateException  ("No LocaleResolver found: not in a DispatcherServlet request?");
            LocaleEditor localeEditor = new LocaleEditor();
            localeEditor.setAsText(codiIdioma);
            localeResolver.setLocale(request, response, (Locale)localeEditor.getValue());
        }
    }
    return true;
}
项目:spring4-understanding    文件:RedirectView.java   
/**
 * Convert model to request parameters and redirect to the given URL.
 * @see #appendQueryProperties
 * @see #sendRedirect
 */
@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request,
        HttpServletResponse response) throws IOException {

    String targetUrl = createTargetUrl(model, request);
    targetUrl = updateTargetUrl(targetUrl, model, request, response);

    FlashMap flashMap = RequestContextUtils.getOutputFlashMap(request);
    if (!CollectionUtils.isEmpty(flashMap)) {
        UriComponents uriComponents = UriComponentsBuilder.fromUriString(targetUrl).build();
        flashMap.setTargetRequestPath(uriComponents.getPath());
        flashMap.addTargetRequestParams(uriComponents.getQueryParams());
        FlashMapManager flashMapManager = RequestContextUtils.getFlashMapManager(request);
        if (flashMapManager == null) {
            throw new IllegalStateException("FlashMapManager not found despite output FlashMap having been set");
        }
        flashMapManager.saveOutputFlashMap(flashMap, request, response);
    }

    sendRedirect(request, response, targetUrl, this.http10Compatible);
}
项目:spring4-understanding    文件:RedirectView.java   
/**
 * Find the registered {@link RequestDataValueProcessor}, if any, and allow
 * it to update the redirect target URL.
 * @param targetUrl the given redirect URL
 * @return the updated URL or the same as URL as the one passed in
 */
protected String updateTargetUrl(String targetUrl, Map<String, Object> model,
        HttpServletRequest request, HttpServletResponse response) {

    WebApplicationContext wac = getWebApplicationContext();
    if (wac == null) {
        wac = RequestContextUtils.findWebApplicationContext(request, getServletContext());
    }

    if (wac != null && wac.containsBean(RequestContextUtils.REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME)) {
        RequestDataValueProcessor processor = wac.getBean(
                RequestContextUtils.REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME, RequestDataValueProcessor.class);
        return processor.processUrl(request, targetUrl);
    }

    return targetUrl;
}
项目:spring4-understanding    文件:RequestMappingHandlerAdapter.java   
private ModelAndView getModelAndView(ModelAndViewContainer mavContainer,
        ModelFactory modelFactory, NativeWebRequest webRequest) throws Exception {

    modelFactory.updateModel(webRequest, mavContainer);
    if (mavContainer.isRequestHandled()) {
        return null;
    }
    ModelMap model = mavContainer.getModel();
    ModelAndView mav = new ModelAndView(mavContainer.getViewName(), model);
    if (!mavContainer.isViewReference()) {
        mav.setView((View) mavContainer.getView());
    }
    if (model instanceof RedirectAttributes) {
        Map<String, ?> flashAttributes = ((RedirectAttributes) model).getFlashAttributes();
        HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class);
        RequestContextUtils.getOutputFlashMap(request).putAll(flashAttributes);
    }
    return mav;
}
项目:spring4-understanding    文件:PrintingResultHandler.java   
/**
 * Print {@link MvcResult} details.
 */
@Override
public final void handle(MvcResult result) throws Exception {
    this.printer.printHeading("MockHttpServletRequest");
    printRequest(result.getRequest());

    this.printer.printHeading("Handler");
    printHandler(result.getHandler(), result.getInterceptors());

    this.printer.printHeading("Async");
    printAsyncResult(result);

    this.printer.printHeading("Resolved Exception");
    printResolvedException(result.getResolvedException());

    this.printer.printHeading("ModelAndView");
    printModelAndView(result.getModelAndView());

    this.printer.printHeading("FlashMap");
    printFlashMap(RequestContextUtils.getOutputFlashMap(result.getRequest()));

    this.printer.printHeading("MockHttpServletResponse");
    printResponse(result.getResponse());
}
项目:diablo    文件:LocaleInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
    if (localeResolver == null) {
        return true;
    }

    try {
        Cookie[] cookies = request.getCookies();
        if (cookies != null){
            for (Cookie cookie : cookies){
                if (Objects.equal("lang", cookie.getName())){
                    LocaleContextHolder.setLocale(new Locale(cookie.getValue()));
                }
            }
        }
    } catch (Exception e) {
        Logs.error("occur errors when resolve locale: {}", Throwables.getStackTraceAsString(e));
    }

    return true;
}
项目:entelect-spring-webapp-template    文件:GlobalExceptionControllerAdvice.java   
@ExceptionHandler({Exception.class, RuntimeException.class})
public ModelAndView handleAllExceptions(Exception ex,
                                        HttpServletRequest request) {
    log.error(String.format("An unhandled error occurred on page %s.", request.getRequestURL()) ,ex);

    if (config.isDevOn()) {
        FlashMap flashMap = RequestContextUtils.getOutputFlashMap(request);
        flashMap.put("exceptionName", ex.getClass().getSimpleName());
        flashMap.put("exception", ex.getMessage());

        StringWriter errors = new StringWriter();
        ex.printStackTrace(new PrintWriter(errors));
        flashMap.put("stackTrace", errors.toString());
    }
    return new ModelAndView("redirect:/error");
}
项目:Javakit    文件:LocaleChangeInterceptorWrapper.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException {
    String newLocale = request.getParameter(getParamName());
    if(newLocale != null) {
        LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
        if(localeResolver == null) {
            throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
        }

        Locale locale = StringUtils.parseLocaleString(newLocale);
        localeResolver.setLocale(request, response, locale);
        localeHolder.setLocale(locale);
    }

    return true;
}
项目:jeecms6    文件:AdminLocaleInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler)
        throws ServletException {
    LocaleResolver localeResolver = RequestContextUtils
            .getLocaleResolver(request);
    if (localeResolver == null) {
        throw new IllegalStateException(
                "No LocaleResolver found: not in a DispatcherServlet request?");
    }
//  CmsSite site = CmsUtils.getSite(request);
    CmsSite site=CmsThreadVariable.getSite();
    String newLocale = site.getLocaleAdmin();
    LocaleEditor localeEditor = new LocaleEditor();
    localeEditor.setAsText(newLocale);
    localeResolver.setLocale(request, response, (Locale) localeEditor
            .getValue());
    // Proceed in any case.
    return true;
}
项目:jeecms6    文件:FrontLocaleInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler)
        throws ServletException {
    LocaleResolver localeResolver = RequestContextUtils
            .getLocaleResolver(request);
    if (localeResolver == null) {
        throw new IllegalStateException(
                "No LocaleResolver found: not in a DispatcherServlet request?");
    }
    CmsSite site = CmsUtils.getSite(request);
    String newLocale = site.getLocaleFront();
    LocaleEditor localeEditor = new LocaleEditor();
    localeEditor.setAsText(newLocale);
    localeResolver.setLocale(request, response, (Locale) localeEditor
            .getValue());
    // Proceed in any case.
    return true;
}
项目:jeecms6    文件:MessageResolver.java   
/**
 * 获得国际化信息
 * 
 * @param request
 *            HttpServletRequest
 * @param code
 *            国际化代码
 * @param args
 *            替换参数
 * @return
 * @see org.springframework.context.MessageSource#getMessage(String,
 *      Object[], Locale)
 */
public static String getMessage(HttpServletRequest request, String code,
        Object... args) {
    WebApplicationContext messageSource = RequestContextUtils.getWebApplicationContext(request);
    if (messageSource == null) {
        throw new IllegalStateException("WebApplicationContext not found!");
    }
    LocaleResolver localeResolver = RequestContextUtils
            .getLocaleResolver(request);
    Locale locale;
    if (localeResolver != null) {
        locale = localeResolver.resolveLocale(request);
    } else {
        locale = request.getLocale();
    }
    return messageSource.getMessage(code, args, locale);
}
项目:summerb    文件:ForceLocaleToCoockieInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws Exception {
    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);

    // Check if it's our case
    if (localeResolver == null) {
        throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
    }
    if (!(localeResolver instanceof CookieLocaleResolver)) {
        return true;
    }

    // Check if locale not in cookie.
    // If so, then force it to store in cookie
    CookieLocaleResolver cookieLocaleResolver = (CookieLocaleResolver) localeResolver;
    Cookie cookie = WebUtils.getCookie(request, cookieLocaleResolver.getCookieName());
    if (cookie == null) {
        cookieLocaleResolver.setLocale(request, response, localeResolver.resolveLocale(request));
    }

    return true;
}
项目:summerb    文件:ForceLocaleToCoockieUserAwareInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws Exception {
    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);

    // Check if it's our case
    if (localeResolver == null) {
        throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
    }
    if (!(localeResolver instanceof LocaleResolverUserBasedImpl)) {
        return true;
    }

    // Check if locale not in cookie.
    // If so, then force it to store in cookie
    LocaleResolverUserBasedImpl cookieLocaleResolver = (LocaleResolverUserBasedImpl) localeResolver;
    Locale localeFromCookie = cookieLocaleResolver.resolveLocaleFromCookie(request);
    Locale localeFromUser = cookieLocaleResolver.resolveLocale(request);
    if (localeFromUser != null && !localeFromUser.equals(localeFromCookie)) {
        cookieLocaleResolver.setLocale(request, response, localeFromUser);
    }

    return true;
}
项目:summerb    文件:CurrentRequestUtils.java   
/**
 * Get locale for curent request
 * 
 * @return
 */
public static Locale getLocale() {
    // Plan A: Try to get it from locale context holder
    Locale locale = LocaleContextHolder.getLocale();
    if (locale != null) {
        return locale;
    }

    // Plan B: Try to get it from request
    HttpServletRequest request = get();
    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
    if (localeResolver == null) {
        log.warn("Cannot get locale resolver. Will fallback to: " + defaultLocale);
        return defaultLocale;
    }
    locale = localeResolver.resolveLocale(request);
    if (locale != null) {
        return locale;
    }

    // fallback
    log.warn("Cannot resolve locale. Will fallback to: " + defaultLocale);
    return defaultLocale;
}
项目:dddsample-core    文件:CargoTrackingController.java   
@RequestMapping(method = RequestMethod.POST)
protected String onSubmit(final HttpServletRequest request,
                                                         final TrackCommand command,
                                                         final Map<String, Object> model,
                                                         final BindingResult bindingResult) {
    new TrackCommandValidator().validate(command, bindingResult);

    final TrackingId trackingId = new TrackingId(command.getTrackingId());
    final Cargo cargo = cargoRepository.find(trackingId);

    if (cargo != null) {
        final Locale locale = RequestContextUtils.getLocale(request);
        final List<HandlingEvent> handlingEvents = handlingEventRepository.lookupHandlingHistoryOfCargo(trackingId).distinctEventsByCompletionTime();
        model.put("cargo", new CargoTrackingViewAdapter(cargo, messageSource, locale, handlingEvents));
    } else {
        bindingResult.rejectValue("trackingId", "cargo.unknown_id", new Object[]{command.getTrackingId()}, "Unknown tracking id");
    }
    return "track";
}
项目:spring-boot-starter-pebble    文件:PebbleView.java   
@Override
protected void renderMergedTemplateModel(final Map<String, Object> model, final HttpServletRequest request,
                                         final HttpServletResponse response) throws IOException, PebbleException {

    response.setContentType(getContentType());
    response.setCharacterEncoding("UTF-8");

    final Writer writer = response.getWriter();
    try {
        engine.getTemplate(viewName).evaluate(writer, model, RequestContextUtils.getLocale(request));
    } finally {
        try {
            writer.flush();
        } catch (IOException ignore) {
        }
    }
}
项目:class-guard    文件:PrintingResultHandler.java   
/**
 * Print {@link MvcResult} details to the "standard" output stream.
 */
public final void handle(MvcResult result) throws Exception {

    this.printer.printHeading("MockHttpServletRequest");
    printRequest(result.getRequest());

    this.printer.printHeading("Handler");
    printHandler(result.getHandler(), result.getInterceptors());

    if (servlet3Present) {
        this.printer.printHeading("Async");
        printAsyncResult(result);
    }

    this.printer.printHeading("Resolved Exception");
    printResolvedException(result.getResolvedException());

    this.printer.printHeading("ModelAndView");
    printModelAndView(result.getModelAndView());

    this.printer.printHeading("FlashMap");
    printFlashMap(RequestContextUtils.getOutputFlashMap(result.getRequest()));

    this.printer.printHeading("MockHttpServletResponse");
    printResponse(result.getResponse());
}
项目:class-guard    文件:RedirectView.java   
/**
 * Convert model to request parameters and redirect to the given URL.
 * @see #appendQueryProperties
 * @see #sendRedirect
 */
@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request,
        HttpServletResponse response) throws IOException {

    String targetUrl = createTargetUrl(model, request);
    targetUrl = updateTargetUrl(targetUrl, model, request, response);

    FlashMap flashMap = RequestContextUtils.getOutputFlashMap(request);
    if (!CollectionUtils.isEmpty(flashMap)) {
        UriComponents uriComponents = UriComponentsBuilder.fromUriString(targetUrl).build();
        flashMap.setTargetRequestPath(uriComponents.getPath());
        flashMap.addTargetRequestParams(uriComponents.getQueryParams());
        FlashMapManager flashMapManager = RequestContextUtils.getFlashMapManager(request);
        if (flashMapManager == null) {
            throw new IllegalStateException("FlashMapManager not found despite output FlashMap having been set");
        }
        flashMapManager.saveOutputFlashMap(flashMap, request, response);
    }

    sendRedirect(request, response, targetUrl, this.http10Compatible);
}
项目:class-guard    文件:RequestMappingHandlerAdapter.java   
private ModelAndView getModelAndView(ModelAndViewContainer mavContainer,
        ModelFactory modelFactory, NativeWebRequest webRequest) throws Exception {

    modelFactory.updateModel(webRequest, mavContainer);
    if (mavContainer.isRequestHandled()) {
        return null;
    }
    ModelMap model = mavContainer.getModel();
    ModelAndView mav = new ModelAndView(mavContainer.getViewName(), model);
    if (!mavContainer.isViewReference()) {
        mav.setView((View) mavContainer.getView());
    }
    if (model instanceof RedirectAttributes) {
        Map<String, ?> flashAttributes = ((RedirectAttributes) model).getFlashAttributes();
        HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class);
        RequestContextUtils.getOutputFlashMap(request).putAll(flashAttributes);
    }
    return mav;
}
项目:sinavi-jfw    文件:MessageContext.java   
/**
 * 入力チェックエラー・メッセージをフラッシュスコープにストアします。
 * @param code メッセージ・コード
 * @param replace メッセージのプレースホルダを置換するキーとバリューの{@link Map}
 * @param property プロパティ名
 * @param constraintName 入力チェック名
 * @param modelName モデル名
 */
public void saveValidationMessageToFlash(
        String code,
        Map<String, ? extends Object> replace,
        String property,
        String constraintName,
        String modelName) {

    Args.checkNotNull(code);
    Messages messages = (Messages)RequestContextUtils.getOutputFlashMap(request).get(VALIDATION_MESSAGE_KEY_TO_FLASH);
    if (messages == null) {
        messages = new Messages(MessageType.VALIDATION);
    }
    messages.add(new Message(code, replace, property, constraintName, modelName));
    RequestContextUtils.getOutputFlashMap(request).put(VALIDATION_MESSAGE_KEY_TO_FLASH, messages);
}
项目:sinavi-jfw    文件:PostBackManager.java   
/**
 * {@link PostBack} インスタンスを保存します。
 * @param postBack {@link PostBack} インスタンス
 */
public static void save(PostBack postBack) {
    RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
    DispatchType dispatchType = getDispatchType(postBack.getException());
    switch (dispatchType) {
    case JSP:
        requestAttributes.setAttribute(PostBack.POST_BACK_ATTRIBUTE_KEY, postBack, RequestAttributes.SCOPE_REQUEST);
        break;
    case FORWARD:
        requestAttributes.setAttribute(PostBack.POST_BACK_ATTRIBUTE_KEY, postBack, RequestAttributes.SCOPE_REQUEST);
        break;
    case REDIRECT:
        PostBackManager instance = (PostBackManager) requestAttributes.getAttribute(STORE_KEY_TO_REQUEST, RequestAttributes.SCOPE_REQUEST);
        FlashMap flashMap = RequestContextUtils.getOutputFlashMap(instance.request);
        flashMap.put(PostBack.POST_BACK_ATTRIBUTE_KEY, postBack);
        break;
    default:
        throw new InternalException(PostBackManager.class, "E-POSTBACK#0001");
    }
}
项目:sinavi-jfw    文件:JseInformationsTagTest.java   
@Test
public void インフォメーションメッセージがリクエストとフラッシュスコープにセットされ出力される() throws Exception {

    MessageContext context = new MessageContext(request);
    context.saveInformationMessageToRequest("I-JX_INFORMATIONS_TAG_TEST#0001");
    context.saveInformationMessageToFlash("I-JX_INFORMATIONS_TAG_TEST#0002");
    FlashMap flashMap = RequestContextUtils.getOutputFlashMap(request);
    request.setAttribute(MessageContext.INFORMATION_MESSAGE_KEY_TO_FLASH, flashMap.get(MessageContext.INFORMATION_MESSAGE_KEY_TO_FLASH));
    JseInformationsTag tag = new JseInformationsTag();
    tag.setJspContext(page);
    tag.doTag();

    assertThat(response.getContentAsString(), is("<div class=\"jfw_messages\">"
        + "<p class=\"jfw_msg_style\">I-JX_INFORMATIONS_TAG_TEST#0001</p>"
        + "<p class=\"jfw_msg_style\">I-JX_INFORMATIONS_TAG_TEST#0002</p></div>"));
}
项目:sinavi-jfw    文件:JseErrorsTagTest.java   
@Test
public void エラーメッセージがリクエストとフラッシュスコープにセットされ出力される() throws Exception {

    MessageContext context = new MessageContext(request);
    context.saveErrorMessageToRequest("E-JX_ERRORS_TAG_TEST#0001");
    context.saveErrorMessageToFlash("E-JX_ERRORS_TAG_TEST#0002");
    FlashMap flashMap = RequestContextUtils.getOutputFlashMap(request);
    request.setAttribute(MessageContext.ERROR_MESSAGE_KEY_TO_FLASH, flashMap.get(MessageContext.ERROR_MESSAGE_KEY_TO_FLASH));
    JseErrorsTag tag = new JseErrorsTag();
    tag.setJspContext(page);
    tag.doTag();

    assertThat(response.getContentAsString(), is("<div class=\"jfw_messages\">"
            + "<p class=\"jfw_err_msg_style\">E-JX_ERRORS_TAG_TEST#0001</p>"
            + "<p class=\"jfw_err_msg_style\">E-JX_ERRORS_TAG_TEST#0002</p></div>"));
}
项目:ozwillo-portal    文件:PortalDashboardService.java   
private DashboardApp toDashboardApp(Subscription sub) {
    try {
        ServiceEntry service = catalogStore.findService(sub.getServiceId());
        if (service == null) {
            return null;
        }

        DashboardApp app = new DashboardApp();
        app.setId(sub.getId());
        app.setServiceId(sub.getServiceId());
        app.setName(service.getName(RequestContextUtils.getLocale(request)));
        app.setIcon(imageService.getImageForURL(service.getIcon(RequestContextUtils.getLocale(request)), ImageFormat.PNG_64BY64, false));
        app.setUrl(service.getUrl());

        if (service.getNotificationUrl() != null) {
            app.setNotificationUrl(service.getNotificationUrl());
        }

        return app;
    } catch (HttpServerErrorException kernelException) {
        logger.error("Cannot load service from the Kernel for subscription {}, skipping.", sub);
        return null;
    }
}
项目:ozwillo-portal    文件:PortalDashboardService.java   
private DashboardPendingApp toPendingApp(ApplicationInstance instance) {
    CatalogEntry appCatalog = catalogStore.findApplication(instance.getApplicationId());

    String imageUrl = "";
    if (appCatalog != null) {
        // No icons are set in the appInstance, so we have to take it directly from the app
        // TODO remove once kernel #121 is done
        imageUrl = appCatalog.getIcon(RequestContextUtils.getLocale(request));
    } // #220 The app could be deleted or stopped

    DashboardPendingApp dashPendingApp = new DashboardPendingApp();
    dashPendingApp.setId(instance.getInstanceId());
    dashPendingApp.setIcon(imageService.getImageForURL(imageUrl, ImageFormat.PNG_64BY64, false));
    //dashPendingApp.setIcon(imageService.getImageForURL(instance.getIcon(
    //      RequestContextUtils.getLocale(request)), ImageFormat.PNG_64BY64, false)); // TODO once kernel #121 is done
    dashPendingApp.setName(instance.getName(RequestContextUtils.getLocale(request)));

    return dashPendingApp;
}
项目:ozwillo-portal    文件:PortalAppstoreService.java   
/**
 * Mirrors Kernel API
 *
 * @param targetAudiences
 * @param paymentOptions
 * @param supportedLocales
 * @param geographicalAreas actually ancestors of the geo area chosen in the autocomplete field
 * @param categoryIds
 * @param q
 * @param from
 * @return
 */
public List<AppstoreHit> getAll(List<Audience> targetAudiences, List<PaymentOption> paymentOptions,
    List<Locale> supportedLocales, List<String> geographicalAreas,
    List<String> categoryIds, String q, int from) {

    if (addCurrentToSupportedLocalesIfNone) {
        supportedLocales = (supportedLocales == null || supportedLocales.isEmpty()) ?
            Arrays.asList(RequestContextUtils.getLocale(request)) : supportedLocales;
        // TODO or rather use PortalController.currentLanguage() ?? anyway, rather init it on client js side ?!!
    }

    String currentHl = RequestContextUtils.getLocale(request).getLanguage(); // optimization
    List<CatalogEntry> catalogEntryLst = catalogStore.findAllVisible(targetAudiences, paymentOptions, supportedLocales,
        geographicalAreas, categoryIds, q, currentHl, from);

    return catalogEntryLst.stream().filter(catalogEntry -> catalogEntry != null)
        .map(catalogEntry -> new AppstoreHit(RequestContextUtils.getLocale(request), catalogEntry,
            imageService.getImageForURL(catalogEntry.getIcon(RequestContextUtils.getLocale(request)), ImageFormat.PNG_64BY64, false),
            getOrganizationName(catalogEntry), getInstallationOption(catalogEntry)))
        .collect(Collectors.toList());
}
项目:ozwillo-portal    文件:PortalAppstoreService.java   
public AppstoreHit getInfo(String appId, CatalogEntryType appType) {
    Locale locale = RequestContextUtils.getLocale(request);

    CatalogEntry entry;
    if (CatalogEntryType.APPLICATION.equals(appType)) {
        entry = catalogStore.findApplication(appId);
    } else if (CatalogEntryType.SERVICE.equals(appType)) {
        entry = catalogStore.findService(appId);
    } else {
        logger.warn("Getting information about something that isn't an application or a service: {}", appType);
        throw new IllegalArgumentException("getInfo supports only applications and services");
    }

    String providerName = getOrganizationName(entry);

    return new AppstoreHit(locale, entry, imageService.getImageForURL(entry.getIcon(locale), ImageFormat.PNG_64BY64, false), providerName, getInstallationOption(entry));

}
项目:ozwillo-portal    文件:PortalAppstoreService.java   
public void buy(String appId, CatalogEntryType appType, String organizationId) {
    logger.debug("Buying application {} of type {}", appId, appType);

    if (CatalogEntryType.APPLICATION.equals(appType)) {
        CatalogEntry application = catalogStore.findApplication(appId);

        ApplicationInstantiationRequest instanceRequest = new ApplicationInstantiationRequest();
        instanceRequest.setProviderId(organizationId);
        instanceRequest.setName(application.getName(RequestContextUtils.getLocale(request))); // TODO make this user-provided at some stage
        instanceRequest.setDescription(application.getDescription(RequestContextUtils.getLocale(request)));

        catalogStore.instantiate(appId, instanceRequest);
    } else if (CatalogEntryType.SERVICE.equals(appType)) {

        Subscription subscription = new Subscription();
        subscription.setId(UUID.randomUUID().toString());

        subscription.setSubscriptionType(SubscriptionType.PERSONAL);
        subscription.setUserId(userInfoService.currentUser().getUserId());
        subscription.setServiceId(appId);

        subscriptionStore.create(userInfoService.currentUser().getUserId(), subscription);
    }
}
项目:ozwillo-portal    文件:NetworkService.java   
public void invite(String email, String organizationId) {
    if (!userIsAdmin(organizationId)) {
        logger.error("Potential attack: user {} is not admin of organization {}", userInfoService.currentUser().getUserId(), organizationId);
        throw new ForbiddenException();
    }

    try {
        userMembershipService.createMembership(email, organizationId);
    } catch (WrongQueryException wqex) {
        if (wqex.getStatusCode() == org.springframework.http.HttpStatus.CONFLICT.value()) {
            // Translated msg. see issue #201
            String translatedBusinessMessage = messageSource.getMessage("error.msg.user-already-invited",
                new Object[]{}, RequestContextUtils.getLocale(request));
            wqex.setTranslatedBusinessMessage(translatedBusinessMessage);
        }
        throw wqex;
    }
}
项目:ozwillo-portal    文件:NetworkService.java   
public void removeInvitation(String organizationId, String id, String eTag) {
    // prevent non organization admin users from removing invitations
    if (!userIsAdmin(organizationId)) {
        logger.error("Potential attack: user {} is not admin of organization {}", userInfoService.currentUser()
            .getUserId(), organizationId);
        throw new ForbiddenException();
    }

    try {
        userMembershipService.removePendingMembership(id, eTag);
    } catch (WrongQueryException wqex) {
        if (wqex.getStatusCode() == org.springframework.http.HttpStatus.CONFLICT.value()) {
            String translatedBusinessMessage = messageSource.getMessage("error.msg.data-conflict",
                new Object[]{}, RequestContextUtils.getLocale(request));
            wqex.setTranslatedBusinessMessage(translatedBusinessMessage);
        }
        throw wqex;
    }
}
项目:ozwillo-portal    文件:AppStoreController.java   
@RequestMapping(method = RequestMethod.GET, value = {"", "/"})
public String main(@PathVariable String lang, HttpServletRequest request, Model model, RedirectAttributes redirectAttributes) {
    if (requiresLogout()) {
        return "redirect:/logout";
    }

    String requestLanguage = RequestContextUtils.getLocale(request).getLanguage();
    if (requestLanguage.isEmpty()) {
        // happens ex. on Firefox private navigation on first time
        requestLanguage = "en"; // switch to default, else redirects to http://store
        // (don't merely keep lang, might be outside accepted languages)
    }
    if (!lang.equals(requestLanguage)) {
        return "redirect:/" + requestLanguage + "/store";
    }

    model.addAttribute("defaultApp", null);

    return "store/store";
}
项目:airsonic    文件:FormatBytesTag.java   
public int doEndTag() throws JspException {
    Locale locale = RequestContextUtils.getLocale((HttpServletRequest) pageContext.getRequest());
    String result = StringUtil.formatBytes(bytes, locale);

    try {
        pageContext.getOut().print(result);
    } catch (IOException x) {
        throw new JspTagException(x);
    }
    return EVAL_PAGE;
}
项目:airsonic    文件:PlayQueueService.java   
private PlayQueueInfo convert(HttpServletRequest request, Player player, boolean serverSidePlaylist, int offset) throws Exception {
    String url = NetworkService.getBaseUrl(request);

    /* if (serverSidePlaylist && player.isJukebox()) {
        updateJukebox(player, offset);
    } */
    boolean isCurrentPlayer = player.getIpAddress() != null && player.getIpAddress().equals(request.getRemoteAddr());

    boolean m3uSupported = player.isExternal() || player.isExternalWithPlaylist();
    serverSidePlaylist = player.isAutoControlEnabled() && m3uSupported && isCurrentPlayer && serverSidePlaylist;
    Locale locale = RequestContextUtils.getLocale(request);

    List<PlayQueueInfo.Entry> entries = new ArrayList<PlayQueueInfo.Entry>();
    PlayQueue playQueue = player.getPlayQueue();

    for (MediaFile file : playQueue.getFiles()) {

        String albumUrl = url + "main.view?id=" + file.getId();
        String streamUrl = url + "stream?player=" + player.getId() + "&id=" + file.getId();
        String coverArtUrl = url + "coverArt.view?id=" + file.getId();

        String remoteStreamUrl = jwtSecurityService.addJWTToken(url + "ext/stream?player=" + player.getId() + "&id=" + file.getId());
        String remoteCoverArtUrl = jwtSecurityService.addJWTToken(url + "ext/coverArt.view?id=" + file.getId());

        String format = formatFormat(player, file);
        String username = securityService.getCurrentUsername(request);
        boolean starred = mediaFileService.getMediaFileStarredDate(file.getId(), username) != null;
        entries.add(new PlayQueueInfo.Entry(file.getId(), file.getTrackNumber(), file.getTitle(), file.getArtist(),
                file.getAlbumName(), file.getGenre(), file.getYear(), formatBitRate(file),
                file.getDurationSeconds(), file.getDurationString(), format, formatContentType(format),
                formatFileSize(file.getFileSize(), locale), starred, albumUrl, streamUrl, remoteStreamUrl,
                coverArtUrl, remoteCoverArtUrl));
    }
    boolean isStopEnabled = playQueue.getStatus() == PlayQueue.Status.PLAYING && !player.isExternalWithPlaylist();

    float gain = 0.0f;
    gain = jukeboxService.getGain(player);

    return new PlayQueueInfo(entries, isStopEnabled, playQueue.isRepeatEnabled(), playQueue.isRadioEnabled(), serverSidePlaylist, gain);
}
项目:airsonic    文件:StatusController.java   
@RequestMapping(method = RequestMethod.GET)
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
    Map<String, Object> map = new HashMap<>();

    List<TransferStatus> streamStatuses = statusService.getAllStreamStatuses();
    List<TransferStatus> downloadStatuses = statusService.getAllDownloadStatuses();
    List<TransferStatus> uploadStatuses = statusService.getAllUploadStatuses();

    Locale locale = RequestContextUtils.getLocale(request);
    List<TransferStatusHolder> transferStatuses = new ArrayList<>();

    for (int i = 0; i < streamStatuses.size(); i++) {
        long minutesAgo = streamStatuses.get(i).getMillisSinceLastUpdate() / 1000L / 60L;
        if (minutesAgo < 60L) {
            transferStatuses.add(new TransferStatusHolder(streamStatuses.get(i), true, false, false, i, locale));
        }
    }
    for (int i = 0; i < downloadStatuses.size(); i++) {
        transferStatuses.add(new TransferStatusHolder(downloadStatuses.get(i), false, true, false, i, locale));
    }
    for (int i = 0; i < uploadStatuses.size(); i++) {
        transferStatuses.add(new TransferStatusHolder(uploadStatuses.get(i), false, false, true, i, locale));
    }

    map.put("transferStatuses", transferStatuses);
    map.put("chartWidth", StatusChartController.IMAGE_WIDTH);
    map.put("chartHeight", StatusChartController.IMAGE_HEIGHT);

    return new ModelAndView("status","model",map);
}
项目:spring-boot-slingshot    文件:SpringRequestHelper.java   
public String getLanguage(HttpServletRequest request) {
   Locale locale = RequestContextUtils.getLocale(request);
   String language = locale.getLanguage();
   if(!supportedLanguages.contains(language)){
      language = "en";
   }

   return language;
}
项目:esup-sgc    文件:StatsController.java   
@RequestMapping
public String index(HttpServletRequest httpServletRequest, Model uiModel, @RequestParam(value = "type", required = false) String type) {
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    String eppn = auth.getName();

    if(uiModel.containsAttribute("type")){
        Map<String, ?> flashInputMap = RequestContextUtils.getInputFlashMap(httpServletRequest);
        if(flashInputMap.containsKey("type")){
            type = (String) flashInputMap.get("type");
        }   
    }
    if(type==null){
        type="";
    }
    uiModel.addAttribute("selectedType", type);
    ObjectMapper mapper = new ObjectMapper();
    String jsonStats = "";
    String jsonStatsRm = "";
    List<String> prefsStats = new ArrayList<>();
    List<String> prefsStatsRm = new ArrayList<>();
    try {
        if(preferencesService.getPrefs(eppn, KEY)!=null){
            prefsStats = Arrays.asList(preferencesService.getPrefs(eppn, KEY).getValue().split("\\s*,\\s*"));
        }
        jsonStats = mapper.writeValueAsString(prefsStats);
        if(preferencesService.getPrefs(eppn, KEYRM)!=null){
            prefsStatsRm = Arrays.asList(preferencesService.getPrefs(eppn, KEYRM).getValue().split("\\s*,\\s*"));
        }
        jsonStatsRm = mapper.writeValueAsString(prefsStatsRm);

    } catch (Exception e) {
        e.printStackTrace();
    }
    uiModel.addAttribute("prefs",jsonStats);
    uiModel.addAttribute("prefsRm",jsonStatsRm);
    uiModel.addAttribute("prefsRmList",prefsStatsRm);
    return "manager/stats";
}
项目:JuniperBotJ    文件:NavigationInterceptor.java   
private Collection<MenuItem> parseItem(HttpServletRequest request, String[] search, String[] replace, Collection<MenuItem> items) {
    for (MenuItem item : items) {
        item.setUrl(StringUtils.replaceEach(item.getUrl(), search, replace));
        String message = context.getMessage(item.getName(), null, RequestContextUtils.getLocale(request));
        item.setName(StringUtils.replaceEach(message, search, replace));
        if (!item.getChilds().isEmpty()) {
            parseItem(request, search, replace, item.getChilds());
        }
    }
    return items;
}
项目:yadaframework    文件:YadaWebUtil.java   
/**
 * Test if a modal is going to be opened when back to the view (usually after a redirect)
 * @param request
 * @return true if a modal is going to be opened
 * @deprecated Use YadaNotify instead
 */
@Deprecated 
public boolean isNotifyModalPending(HttpServletRequest request) {
    Map<String, ?> flashMap = RequestContextUtils.getInputFlashMap(request);
    return flashMap!=null && (
        flashMap.containsKey(KEY_NOTIFICATION_TITLE)
        || flashMap.containsKey(KEY_NOTIFICATION_BODY)
        || flashMap.containsKey(KEY_NOTIFICATION_SEVERITY)
        );
}