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

com.denimgroup.threadfix.remote.response.RestResponse Maven / Gradle / Ivy

////////////////////////////////////////////////////////////////////////
//
//     Copyright (c) 2009-2016 Denim Group, Ltd.
//
//     The contents of this file are subject to the Mozilla Public License
//     Version 2.0 (the "License"); you may not use this file except in
//     compliance with the License. You may obtain a copy of the License at
//     http://www.mozilla.org/MPL/
//
//     Software distributed under the License is distributed on an "AS IS"
//     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
//     License for the specific language governing rights and limitations
//     under the License.
//
//     The Original Code is ThreadFix.
//
//     The Initial Developer of the Original Code is Denim Group, Ltd.
//     Portions created by Denim Group, Ltd. are Copyright (C)
//     Denim Group, Ltd. All Rights Reserved.
//
//     Contributor(s): Denim Group, Ltd.
//
////////////////////////////////////////////////////////////////////////

package com.denimgroup.threadfix.remote.response;

import com.denimgroup.threadfix.util.Result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonView;

import java.util.List;
import java.util.Map;

/**
 * This is the basic RestResponse which is returned by all the methods on the ThreadFix server side.
 */
public class RestResponse {

    @JsonView(Object.class)
    public String message = "";
    @JsonView(Object.class)
    public boolean success = false;
    @JsonView(Object.class)
    public int responseCode = -1;
    @JsonView(Object.class)
    public T object = null;

    String jsonString = null;


    public static  RestResponse failure(String response) {
        return failure(response,null);
    }

    public static  RestResponse failure(String response,List> links) {
        return failure(response, links, null);
    }

    public static  RestResponse failure(String response, List> links, T object) {
        RestResponse restResponse;
        if(links != null && !links.isEmpty()) {
            restResponse = new RestResponseLinked<>();
            ((RestResponseLinked)restResponse).setLinks(links);
        }else{
            restResponse = new RestResponse<>();
        }
        restResponse.message = response;
        restResponse.object  = object;
        return restResponse;
    }

    public static  RestResponse success(T object){
        return success(object,null);
    }

    public static  RestResponse success(T object,List> links) {
        return success(object, links, "");
    }

    public static  RestResponse success(T object,List> links, String message) {
        RestResponse restResponse;
        if(links != null && !links.isEmpty()) {
            restResponse = new RestResponseLinked<>();
            ((RestResponseLinked)restResponse).setLinks(links);
        }else{
            restResponse = new RestResponse<>();
        }
        restResponse.success = true;
        restResponse.object  = object;
        restResponse.message = message;
        return restResponse;
    }

    public static  RestResponse resultError(Result result) {
        return failure(result.getErrorMessage(),null);
    }

    public static  RestResponse resultError(Result result,List> links) {
        return failure(result.getErrorMessage(),links);
    }

    @JsonIgnore
    public String getOriginalJson() {
        return jsonString;
    }

    public void setJsonString(String jsonString) {
        this.jsonString = jsonString;
    }

    public String toString() {
        return jsonString;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy