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

com.spotinst.sdkjava.model.repo.oceanCD.OceanCDRepo Maven / Gradle / Ivy

package com.spotinst.sdkjava.model.repo.oceanCD;

import com.spotinst.sdkjava.exception.ExceptionHelper;
import com.spotinst.sdkjava.exception.SpotinstHttpException;
import com.spotinst.sdkjava.model.*;
import com.spotinst.sdkjava.model.api.oceanCD.ApiRolloutSpec;
import com.spotinst.sdkjava.model.api.oceanCD.ApiStrategy;
import com.spotinst.sdkjava.model.api.oceanCD.response.ApiRolloutStatus;
import com.spotinst.sdkjava.model.api.oceanCD.response.ApiRolloutsDetails;
import com.spotinst.sdkjava.model.bl.oceanCD.RolloutSpec;
import com.spotinst.sdkjava.model.bl.oceanCD.Strategy;
import com.spotinst.sdkjava.model.bl.oceanCD.response.RolloutStatus;
import com.spotinst.sdkjava.model.bl.oceanCD.response.RolloutsDetails;
import com.spotinst.sdkjava.model.converters.oceanCD.OceanCDRolloutConverter;
import com.spotinst.sdkjava.model.converters.oceanCD.OceanCDRolloutSpecConverter;
import com.spotinst.sdkjava.model.converters.oceanCD.OceanCDStrategyConverter;
import com.spotinst.sdkjava.model.requests.oceanCD.RolloutActions;
import com.spotinst.sdkjava.model.service.oceanCD.OceanCDService;

import java.util.List;
import java.util.stream.Collectors;

/**
 * Created by Janetlin Kiruba on 11/08/2022.
 */

public class OceanCDRepo implements IOceanCDRepo {

    @Override
    public RepoGenericResponse createStrategy(Strategy createStrategyReq, String authToken) {
        RepoGenericResponse retVal;

        try {
            ApiStrategy apiCreateStrategyReq = OceanCDStrategyConverter.toDal(createStrategyReq);
            ApiStrategy apiCreateStrategyRes = OceanCDService.createStrategy(apiCreateStrategyReq, authToken);
            Strategy createStrategyRes = OceanCDStrategyConverter.toBl(apiCreateStrategyRes);
            retVal = new RepoGenericResponse<>(createStrategyRes);
        }
        catch (SpotinstHttpException ex) {
            retVal = ExceptionHelper.handleHttpException(ex);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse getStrategy(String strategyName, String authToken) {
        RepoGenericResponse retVal;

        try {
            ApiStrategy apiCreateStrategy = OceanCDService.getStrategy(strategyName, authToken);
            Strategy strategy    = OceanCDStrategyConverter.toBl(apiCreateStrategy);
            retVal = new RepoGenericResponse<>(strategy);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse> getAllStrategies(String authToken) {
        RepoGenericResponse> retVal;

        try {
            List apiCreateStrategy = OceanCDService.getAllStrategies(authToken);
            List strategies = apiCreateStrategy.stream().map(OceanCDStrategyConverter::toBl).collect(Collectors.toList());
            retVal = new RepoGenericResponse<>(strategies);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse updateStrategy(Strategy strategyUpdateReq, String strategyName, String authToken) {
        RepoGenericResponse retVal;

        ApiStrategy apiStrategy = OceanCDStrategyConverter.toDal(strategyUpdateReq);

        try {
            Boolean success = OceanCDService.updateStrategy(apiStrategy, strategyName, authToken);
            retVal = new RepoGenericResponse<>(success);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse patchStrategy(Strategy strategyUpdateReq, String strategyName, String authToken) {
        RepoGenericResponse retVal;

        ApiStrategy apiStrategy = OceanCDStrategyConverter.toDal(strategyUpdateReq);

        try {
            Boolean success = OceanCDService.patchStrategy(apiStrategy, strategyName, authToken);
            retVal = new RepoGenericResponse<>(success);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse deleteStrategy(String strategyName, String authToken) {
        RepoGenericResponse retVal;

        try {
            Boolean success = OceanCDService.deleteStrategy(strategyName, authToken);
            retVal = new RepoGenericResponse<>(success);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse createRolloutSpec(RolloutSpec rolloutSpecReq, String authToken) {
        RepoGenericResponse retVal;

        try {
            ApiRolloutSpec apiRolloutSpecReq = OceanCDRolloutSpecConverter.toDal(rolloutSpecReq);
            ApiRolloutSpec apiRolloutSpecRes = OceanCDService.createRolloutSpec(apiRolloutSpecReq, authToken);
            RolloutSpec createStrategyRes = OceanCDRolloutSpecConverter.toBl(apiRolloutSpecRes);
            retVal = new RepoGenericResponse<>(createStrategyRes);
        }
        catch (SpotinstHttpException ex) {
            retVal = ExceptionHelper.handleHttpException(ex);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse getRolloutSpec(String rolloutSpecName, String authToken) {
        RepoGenericResponse retVal;

        try {
            ApiRolloutSpec apiCreateStrategy = OceanCDService.getRolloutSpec(rolloutSpecName, authToken);
            RolloutSpec strategy    = OceanCDRolloutSpecConverter.toBl(apiCreateStrategy);
            retVal = new RepoGenericResponse<>(strategy);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse> getAllRolloutSpecs(String authToken) {
        RepoGenericResponse> retVal;

        try {
            List apiCreateStrategy = OceanCDService.getAllRolloutSpecs(authToken);
            List strategies = apiCreateStrategy.stream().map(OceanCDRolloutSpecConverter::toBl).collect(Collectors.toList());
            retVal = new RepoGenericResponse<>(strategies);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse updateRolloutSpec(RolloutSpec rolloutSpecReq, String rolloutSpecName, String authToken) {
        RepoGenericResponse retVal;

        ApiRolloutSpec apiRolloutSpec = OceanCDRolloutSpecConverter.toDal(rolloutSpecReq);

        try {
            Boolean success = OceanCDService.updateRolloutSpec(apiRolloutSpec, rolloutSpecName, authToken);
            retVal = new RepoGenericResponse<>(success);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse patchRolloutSpec(RolloutSpec rolloutSpecReq, String rolloutSpecName, String authToken) {
        RepoGenericResponse retVal;

        ApiRolloutSpec apiRolloutSpec = OceanCDRolloutSpecConverter.toDal(rolloutSpecReq);

        try {
            Boolean success = OceanCDService.patchRolloutSpec(apiRolloutSpec, rolloutSpecName, authToken);
            retVal = new RepoGenericResponse<>(success);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse deleteRolloutSpec(String rolloutSpecName, String authToken) {
        RepoGenericResponse retVal;

        try {
            Boolean success = OceanCDService.deleteRolloutSpec(rolloutSpecName, authToken);
            retVal = new RepoGenericResponse<>(success);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse getRolloutStatus(String rolloutId, String authToken) {
        RepoGenericResponse retVal;

        try {
            ApiRolloutStatus apiRolloutStatus = OceanCDService.getRolloutStatus(rolloutId, authToken);
            RolloutStatus rolloutStatus    = OceanCDRolloutConverter.toBl(apiRolloutStatus);
            retVal = new RepoGenericResponse<>(rolloutStatus);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse> getAllRollouts(String fromDate, String authToken) {
        RepoGenericResponse> retVal;

        try {
            List apiRolloutStatus = OceanCDService.getAllRollouts(fromDate, authToken);
            List rolloutStatus = apiRolloutStatus.stream().map(OceanCDRolloutConverter::toBl).collect(Collectors.toList());
            retVal = new RepoGenericResponse<>(rolloutStatus);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse rolloutAction(RolloutActions rolloutActionsReq, String rolloutId, String authToken) {
        RepoGenericResponse retVal;

        try {

            Boolean success = OceanCDService.rolloutAction(rolloutActionsReq, rolloutId, authToken);
            retVal = new RepoGenericResponse<>(success);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy