List of usage examples for org.springframework.web.context.request RequestContextHolder currentRequestAttributes
public static RequestAttributes currentRequestAttributes() throws IllegalStateException
From source file:org.onebusaway.admin.service.bundle.api.BuildResource.java
@Path("create") @POST/* ww w . j a v a2 s.c o m*/ @Produces("application/json") public Response build(@FormParam("bundleDirectory") String bundleDirectory, @FormParam("bundleName") String bundleName, @FormParam("email") String email, @FormParam("bundleStartDate") String bundleStartDate, @FormParam("bundleEndDate") String bundleEndDate, @FormParam("bundleComment") String bundleComment, @FormParam("archive") boolean archiveFlag, @FormParam("consolidate") boolean consolidateFlag, @FormParam("predate") boolean predateFlag) { Response response = null; directoryName = bundleDirectory; this.bundleName = bundleName; startDate = bundleStartDate; endDate = bundleEndDate; emailTo = email; comment = bundleComment; archive = archiveFlag; consolidate = consolidateFlag; predate = predateFlag; if (!isAuthorized()) { return Response.noContent().build(); } BundleBuildResponse buildResponse = null; try { validateDates(bundleStartDate, bundleEndDate); } catch (DateValidationException e) { try { buildResponse = new BundleBuildResponse(); buildResponse.setException(e); response = constructResponse(buildResponse); } catch (Exception any) { _log.error("exception in build:", any); response = Response.serverError().build(); } } //Proceed only if date validation passes if (response == null) { BundleBuildRequest buildRequest = new BundleBuildRequest(); buildRequest.setBundleDirectory(bundleDirectory); buildRequest.setBundleName(bundleName); buildRequest.setEmailAddress(email); buildRequest.setBundleStartDate(bundleStartDate); buildRequest.setBundleEndDate(bundleEndDate); buildRequest.setBundleComment(bundleComment); buildRequest.setArchiveFlag(archive); buildRequest.setConsolidateFlag(consolidate); buildRequest.setPredate(predate); String session = RequestContextHolder.currentRequestAttributes().getSessionId(); buildRequest.setSessionId(session); try { String message = "Starting bundle building process for bundle '" + buildRequest.getBundleName() + "' initiated by user : " + _currentUserService.getCurrentUserDetails().getUsername(); String component = System.getProperty("admin.chefRole"); loggingService.log(component, Level.INFO, message); buildResponse = _bundleService.build(buildRequest); buildResponse = _bundleService.buildBundleResultURL(buildResponse.getId()); response = constructResponse(buildResponse); } catch (Exception any) { _log.error("exception in build:", any); response = Response.serverError().build(); } } return response; }
From source file:org.saiku.web.service.SessionService.java
private void createSession(Authentication auth, String username, String password) { if (auth == null || !auth.isAuthenticated()) { return;/*w w w . ja v a2s .c om*/ } boolean isAnonymousUser = (auth instanceof AnonymousAuthenticationToken); Object p = auth.getPrincipal(); String authUser = getUsername(p); boolean isAnonymous = (isAnonymousUser || StringUtils.equals("anonymousUser", authUser)); boolean isAnonOk = (!isAnonymous || (isAnonymous && anonymous)); if (isAnonOk && auth.isAuthenticated() && p != null && !sessionHolder.containsKey(p)) { Map<String, Object> session = new HashMap<>(); if (isAnonymous) { log.debug("Creating Session for Anonymous User"); } if (StringUtils.isNotBlank(username)) { session.put("username", username); } else { session.put("username", authUser); } if (StringUtils.isNotBlank(password)) { session.put("password", password); } session.put("sessionid", UUID.randomUUID().toString()); session.put("authid", RequestContextHolder.currentRequestAttributes().getSessionId()); List<String> roles = new ArrayList<>(); for (GrantedAuthority ga : SecurityContextHolder.getContext().getAuthentication().getAuthorities()) { roles.add(ga.getAuthority()); } session.put("roles", roles); sessionHolder.put(p, session); } }