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

com.sap.cloud.sdk.s4hana.connectivity.exception.CloudConnectorException Maven / Gradle / Ivy

/*
 * Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved.
 */

package com.sap.cloud.sdk.s4hana.connectivity.exception;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

import org.apache.http.HttpStatus;

import com.sap.cloud.sdk.cloudplatform.servlet.response.CloudConnectorErrorResponse;
import com.sap.cloud.sdk.cloudplatform.servlet.response.ResponseWithErrorCode;

import lombok.Getter;

/**
 * An exception that is thrown when there is an issue reported by the SAP HANA Cloud Connector.
 */
public class CloudConnectorException extends QueryExecutionException
{
    private static final long serialVersionUID = 7796577661709521326L;

    @Getter
    private final transient int cloudConnectorStatusCode;

    public CloudConnectorException( @Nullable final String message )
    {
        this(HttpStatus.SC_INTERNAL_SERVER_ERROR, message);
    }

    public CloudConnectorException( final int cloudConnectorStatusCode, @Nullable final String message )
    {
        super(message);
        this.cloudConnectorStatusCode = cloudConnectorStatusCode;
    }

    public CloudConnectorException( @Nullable final Throwable cause )
    {
        this(HttpStatus.SC_INTERNAL_SERVER_ERROR, cause);
    }

    public CloudConnectorException( final int cloudConnectorStatusCode, @Nullable final Throwable cause )
    {
        super(cause);
        this.cloudConnectorStatusCode = cloudConnectorStatusCode;
    }

    public CloudConnectorException( @Nullable final String message, @Nullable final Throwable cause )
    {
        this(HttpStatus.SC_INTERNAL_SERVER_ERROR, message, cause);
    }

    public CloudConnectorException(
        final int cloudConnectorStatusCode,
        @Nullable final String message,
        @Nullable final Throwable cause )
    {
        super(message, cause);
        this.cloudConnectorStatusCode = cloudConnectorStatusCode;
    }

    /**
     * {@inheritDoc}
     */
    @Nonnull
    @Override
    public ResponseWithErrorCode getErrorResponse()
    {
        return new CloudConnectorErrorResponse(cloudConnectorStatusCode, getMessage());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy