Commit 5cbca948 authored by Noel Alonso's avatar Noel Alonso
Browse files

Merge branch 'release-0.11.0' into 'master'

Release 0.11.0

See merge request redmic-project/server/library/rest-lib!11
parents a6c4b6a5 7e22c63d
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -12,13 +12,13 @@
	<groupId>es.redmic.lib</groupId>
	<artifactId>rest-lib</artifactId>
	<packaging>jar</packaging>
	<version>0.10.0</version>
	<version>0.11.0</version>
	<name>rest-lib</name>
	
	<properties>
		<!-- REDMIC -->
		<redmic.exceptions.version>0.8.0</redmic.exceptions.version>
		<redmic.utils.version>0.8.0</redmic.utils.version>
		<redmic.exceptions.version>0.10.0</redmic.exceptions.version>
		<redmic.utils.version>0.10.0</redmic.utils.version>
	</properties>

	<dependencies>
+2 −0
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@ import java.util.List;

public interface UserUtilsServiceItfc {

	public String getUserId();

	public List<String> getUserRole();

	public List<Long> getAccessibilityControl();
+19 −5
Original line number Diff line number Diff line
@@ -27,31 +27,38 @@ import java.util.List;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.authentication.AnonymousAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationDetails;
import org.springframework.stereotype.Service;

import es.redmic.exception.common.ExceptionType;
import es.redmic.exception.common.InternalException;
import es.redmic.restlib.common.service.UserUtilsServiceItfc;
import es.redmic.utils.httpclient.HttpClient;

public abstract class UserBaseService {
@Service
public class UserService implements UserUtilsServiceItfc {

	protected static Logger logger = LogManager.getLogger();

	private static final String SYSTEM_USER = "REDMIC_PROCESS";
	// @formatter:off
	private static final String SYSTEM_USER = "REDMIC_PROCESS",
			ANONYMOUS_USER = "1";
	// @formatter:on

	HttpClient client = new HttpClient();

	@Value("${oauth.userid.endpoint}")
	String GET_USERID_URL;

	public UserBaseService() {
	public UserService() {
	}

	@Override
	public String getUserId() {

		SecurityContext securityContext = SecurityContextHolder.getContext();
@@ -59,7 +66,12 @@ public abstract class UserBaseService {
		if (securityContext.getAuthentication() == null)
			return SYSTEM_USER;

		OAuth2Authentication oauth = (OAuth2Authentication) securityContext.getAuthentication();
		Authentication oauth = securityContext.getAuthentication();

		if (oauth instanceof AnonymousAuthenticationToken) {
			return ANONYMOUS_USER;
		}

		OAuth2AuthenticationDetails details = (OAuth2AuthenticationDetails) oauth.getDetails();
		String token = details.getTokenValue();

@@ -71,6 +83,7 @@ public abstract class UserBaseService {
		return (String) client.get(GET_USERID_URL + "?access_token=" + token, String.class);
	}

	@Override
	public List<String> getUserRole() {

		Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
@@ -87,6 +100,7 @@ public abstract class UserBaseService {
		return roles;
	}

	@Override
	public List<Long> getAccessibilityControl() {

		List<Long> accessibilities = new ArrayList<Long>();
+2 −5
Original line number Diff line number Diff line
@@ -21,22 +21,19 @@ package es.redmic.restlib.exceptionhandler;
 */

import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RestControllerAdvice;

import es.redmic.exception.common.BadRequestException;
import es.redmic.exception.dto.ErrorDTO;
import es.redmic.exception.handler.BaseExceptionHandler;

@ControllerAdvice(annotations = RestController.class)
@RestControllerAdvice
public class BadRequestExceptionHandler extends BaseExceptionHandler {

	@ExceptionHandler(value = BadRequestException.class)
	@ResponseStatus(value = HttpStatus.BAD_REQUEST) // 400
	@ResponseBody
	public ErrorDTO handleBadRequestException(BadRequestException e) {
		return getError(e);
	}
+2 −5
Original line number Diff line number Diff line
@@ -21,22 +21,19 @@ package es.redmic.restlib.exceptionhandler;
 */

import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RestControllerAdvice;

import es.redmic.exception.common.ConflictException;
import es.redmic.exception.dto.ErrorDTO;
import es.redmic.exception.handler.BaseExceptionHandler;

@ControllerAdvice(annotations = RestController.class)
@RestControllerAdvice
public class ConflictExceptionHandler extends BaseExceptionHandler {

	@ExceptionHandler(value = ConflictException.class)
	@ResponseStatus(value = HttpStatus.CONFLICT) // 409
	@ResponseBody
	public ErrorDTO handleConflictException(ConflictException e) {
		return getError(e);
	}
Loading