Generic database error message; use TB StringUtils in BaseController
This commit is contained in:
		
							parent
							
								
									90f971d018
								
							
						
					
					
						commit
						8fe4947e1e
					
				@ -18,10 +18,7 @@ package org.thingsboard.server.controller;
 | 
			
		||||
import com.fasterxml.jackson.databind.node.ObjectNode;
 | 
			
		||||
import com.google.common.util.concurrent.ListenableFuture;
 | 
			
		||||
import lombok.Getter;
 | 
			
		||||
import org.apache.commons.lang3.StringUtils;
 | 
			
		||||
import org.apache.commons.lang3.exception.ExceptionUtils;
 | 
			
		||||
import org.postgresql.util.PSQLException;
 | 
			
		||||
import org.postgresql.util.ServerErrorMessage;
 | 
			
		||||
import org.slf4j.Logger;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Value;
 | 
			
		||||
@ -48,6 +45,7 @@ import org.thingsboard.server.common.data.HasName;
 | 
			
		||||
import org.thingsboard.server.common.data.HasTenantId;
 | 
			
		||||
import org.thingsboard.server.common.data.OtaPackage;
 | 
			
		||||
import org.thingsboard.server.common.data.OtaPackageInfo;
 | 
			
		||||
import org.thingsboard.server.common.data.StringUtils;
 | 
			
		||||
import org.thingsboard.server.common.data.TbResource;
 | 
			
		||||
import org.thingsboard.server.common.data.TbResourceInfo;
 | 
			
		||||
import org.thingsboard.server.common.data.Tenant;
 | 
			
		||||
@ -171,7 +169,7 @@ import java.util.function.BiFunction;
 | 
			
		||||
import java.util.function.Function;
 | 
			
		||||
import java.util.stream.Collectors;
 | 
			
		||||
 | 
			
		||||
import static org.apache.commons.lang3.StringUtils.isNotEmpty;
 | 
			
		||||
import static org.thingsboard.server.common.data.StringUtils.isNotEmpty;
 | 
			
		||||
import static org.thingsboard.server.common.data.query.EntityKeyType.ENTITY_FIELD;
 | 
			
		||||
import static org.thingsboard.server.controller.UserController.YOU_DON_T_HAVE_PERMISSION_TO_PERFORM_THIS_OPERATION;
 | 
			
		||||
import static org.thingsboard.server.dao.service.Validator.validateId;
 | 
			
		||||
@ -378,15 +376,11 @@ public abstract class BaseController {
 | 
			
		||||
        } else if (exception instanceof AsyncRequestTimeoutException) {
 | 
			
		||||
            return new ThingsboardException("Request timeout", ThingsboardErrorCode.GENERAL);
 | 
			
		||||
        } else if (exception instanceof DataAccessException) {
 | 
			
		||||
            Throwable rootCause = ExceptionUtils.getRootCause(exception);
 | 
			
		||||
            if (rootCause instanceof PSQLException) {
 | 
			
		||||
                String sqlError = Optional.ofNullable(((PSQLException) rootCause).getServerErrorMessage())
 | 
			
		||||
                        .map(ServerErrorMessage::getMessage).orElse(null);
 | 
			
		||||
                if (isNotEmpty(sqlError)) {
 | 
			
		||||
                    sqlError = StringUtils.capitalize(sqlError);
 | 
			
		||||
                    return new ThingsboardException(sqlError, ThingsboardErrorCode.GENERAL);
 | 
			
		||||
                }
 | 
			
		||||
            String errorType = exception.getClass().getSimpleName();
 | 
			
		||||
            if (!logControllerErrorStackTrace) { // not to log the error twice
 | 
			
		||||
                log.warn("Database error: {} - {}", errorType, ExceptionUtils.getRootCauseMessage(exception));
 | 
			
		||||
            }
 | 
			
		||||
            return new ThingsboardException("Database error: " + errorType, ThingsboardErrorCode.GENERAL);
 | 
			
		||||
        }
 | 
			
		||||
        return new ThingsboardException(exception.getMessage(), exception, ThingsboardErrorCode.GENERAL);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user