All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tekmare.commons.controller.ResponseBuilder Maven / Gradle / Ivy

Go to download

A java library written by my self including common features and classes to use in future projects

The newest version!
package com.tekmare.commons.controller;

import com.tekmare.commons.model.BaseModel;
import com.tekmare.commons.model.response.ErrorResponse;
import com.tekmare.commons.model.response.ResponseModel;
import com.tekmare.commons.model.response.SuccessResponse;
import com.tekmare.commons.util.BaseLogger;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;

import java.util.List;

public class ResponseBuilder {

    protected  ResponseEntity makeFinalResponse(int code, String msg, T data) {
        ResponseModel responseModel;
        if (code == SuccessResponse.STATUS_SUCCESS) {
            responseModel = new SuccessResponse<>(msg, data);
        } else {
            responseModel = new ErrorResponse(code, msg);
        }

        return new ResponseEntity<>(responseModel, HttpStatus.OK);
    }

    protected  ResponseEntity makeSuccessResponse(T data) {
        return makeSuccessResponse(SuccessResponse.MSG_SUCCESS, data);
    }

    protected  ResponseEntity makeSuccessResponse(String message, T data) {
        return makeFinalResponse(SuccessResponse.STATUS_SUCCESS, message, data);
    }

    protected ResponseEntity makeInvalidParamsResponse() {
        return makeInvalidParamsResponse(ErrorResponse.MSG_INVALID_PARAMS);
    }

    protected ResponseEntity makeInvalidParamsResponse(String msg) {
        return makeFinalResponse(ErrorResponse.STATUS_INVALID_PARAMS, msg, null);
    }

    protected ResponseEntity makeNotFoundResponse() {
        return makeNotFoundResponse(ErrorResponse.MSG_NOT_FOUND);
    }

    protected ResponseEntity makeNotFoundResponse(String msg) {
        return makeFinalResponse(ErrorResponse.STATUS_NOT_FOUND, msg, null);
    }

    protected ResponseEntity makeServerErrorResponse() {
        return makeServerErrorResponse(ErrorResponse.MSG_SERVER_ERROR);
    }

    protected ResponseEntity makeServerErrorResponse(String msg) {
        return makeFinalResponse(ErrorResponse.STATUS_SERVER_ERROR, msg, null);
    }

    protected  ResponseEntity makeResponseForSave(T data) {
        if (data == null) {
            return makeServerErrorResponse();
        }

        if (data.getId() == 0) {
            return makeNotFoundResponse();
        }

        return makeSuccessResponse(data);
    }

    protected  ResponseEntity makeResponseForUpdate(T data) {
        if (data == null) {
            return makeServerErrorResponse();
        }

        if (data.getId() == 0) {
            return makeNotFoundResponse();
        }

        return makeSuccessResponse(data);
    }

    protected  ResponseEntity makeResponseForGet(T data) {
        if (data == null) {
            return makeServerErrorResponse();
        }

        if (data.getId() == 0) {
            return makeNotFoundResponse();
        }

        return makeSuccessResponse(data);
    }

    protected  ResponseEntity makeResponseForGetList(SuccessResponse> listResponse) {
        if (listResponse == null) {
            return makeServerErrorResponse();
        }

        return new ResponseEntity<>(listResponse, HttpStatus.OK);
    }

    protected  ResponseEntity makeResponseForGetList(List tList) {
        if (tList == null) {
            return makeServerErrorResponse();
        }

        return new ResponseEntity<>(SuccessResponse.makeListResponse(tList.size(), tList), HttpStatus.OK);
    }

    protected ResponseEntity makeResponseForDelete(boolean status) {
        if (status) {
            return makeSuccessResponse(null);
        }

        return makeServerErrorResponse();
    }

    protected void preSave(BaseModel requestBody) {
        bodyToLoggableString(requestBody);
    }

    protected void preUpdate(BaseModel requestBody) {
        bodyToLoggableString(requestBody);
    }

    protected void preFilter(BaseModel filterObject) {
        bodyToLoggableString(filterObject);
    }

    private void bodyToLoggableString(BaseModel baseModel) {
        if (baseModel == null) {
            return;
        }

    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy