/** * @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); } }
/** * @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); }
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; }
/** * 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); }
/** * 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; }
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; }
/** * 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()); }
@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; }
@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"); }
@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; }
@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; }
@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; }
/** * 获得国际化信息 * * @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); }
@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; }
@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; }
/** * 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; }
@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"; }
@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) { } } }
/** * 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()); }
/** * 入力チェックエラー・メッセージをフラッシュスコープにストアします。 * @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); }
/** * {@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"); } }
@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>")); }
@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>")); }
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; } }
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; }
/** * 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()); }
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)); }
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); } }
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; } }
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; } }
@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"; }
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; }
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); }
@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); }
public String getLanguage(HttpServletRequest request) { Locale locale = RequestContextUtils.getLocale(request); String language = locale.getLanguage(); if(!supportedLanguages.contains(language)){ language = "en"; } return language; }
@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"; }
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; }
/** * 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) ); }