Search in sources :

Example 1 with GatewayAlreadyExistsException

use of io.apiman.manager.api.rest.exceptions.GatewayAlreadyExistsException in project apiman by apiman.

the class GatewayResourceImpl method create.

/**
 * @see IGatewayResource#create(io.apiman.manager.api.beans.gateways.NewGatewayBean)
 */
@Override
public GatewayBean create(NewGatewayBean gatewayToInsert) throws GatewayAlreadyExistsException {
    securityContext.checkAdminPermissions();
    Date now = new Date();
    GatewayBean gateway = new GatewayBean();
    gateway.setId(BeanUtils.idFromName(gatewayToInsert.getName()));
    gateway.setName(gatewayToInsert.getName());
    gateway.setDescription(gatewayToInsert.getDescription());
    gateway.setType(gatewayToInsert.getType());
    gateway.setConfiguration(gatewayToInsert.getConfiguration());
    gateway.setCreatedBy(securityContext.getCurrentUser());
    gateway.setCreatedOn(now);
    gateway.setModifiedBy(securityContext.getCurrentUser());
    gateway.setModifiedOn(now);
    try {
        if (storage.getGateway(gateway.getId()) != null) {
            throw ExceptionFactory.gatewayAlreadyExistsException(gateway.getName());
        }
        // Store/persist the new gateway
        encryptPasswords(gateway);
        storage.createGateway(gateway);
    } catch (AbstractRestException e) {
        throw e;
    } catch (Exception e) {
        throw new SystemErrorException(e);
    }
    decryptPasswords(gateway);
    // $NON-NLS-1$
    LOGGER.debug(String.format("Successfully created new gateway %s: %s", gateway.getName(), gateway));
    return gateway;
}
Also used : SystemErrorException(io.apiman.manager.api.rest.exceptions.SystemErrorException) NewGatewayBean(io.apiman.manager.api.beans.gateways.NewGatewayBean) GatewayBean(io.apiman.manager.api.beans.gateways.GatewayBean) UpdateGatewayBean(io.apiman.manager.api.beans.gateways.UpdateGatewayBean) AbstractRestException(io.apiman.manager.api.rest.exceptions.AbstractRestException) Date(java.util.Date) GatewayAuthenticationException(io.apiman.manager.api.gateway.GatewayAuthenticationException) AbstractRestException(io.apiman.manager.api.rest.exceptions.AbstractRestException) StorageException(io.apiman.manager.api.core.exceptions.StorageException) GatewayNotFoundException(io.apiman.manager.api.rest.exceptions.GatewayNotFoundException) SystemErrorException(io.apiman.manager.api.rest.exceptions.SystemErrorException) GatewayAlreadyExistsException(io.apiman.manager.api.rest.exceptions.GatewayAlreadyExistsException) NotAuthorizedException(io.apiman.manager.api.rest.exceptions.NotAuthorizedException)

Aggregations

GatewayBean (io.apiman.manager.api.beans.gateways.GatewayBean)1 NewGatewayBean (io.apiman.manager.api.beans.gateways.NewGatewayBean)1 UpdateGatewayBean (io.apiman.manager.api.beans.gateways.UpdateGatewayBean)1 StorageException (io.apiman.manager.api.core.exceptions.StorageException)1 GatewayAuthenticationException (io.apiman.manager.api.gateway.GatewayAuthenticationException)1 AbstractRestException (io.apiman.manager.api.rest.exceptions.AbstractRestException)1 GatewayAlreadyExistsException (io.apiman.manager.api.rest.exceptions.GatewayAlreadyExistsException)1 GatewayNotFoundException (io.apiman.manager.api.rest.exceptions.GatewayNotFoundException)1 NotAuthorizedException (io.apiman.manager.api.rest.exceptions.NotAuthorizedException)1 SystemErrorException (io.apiman.manager.api.rest.exceptions.SystemErrorException)1 Date (java.util.Date)1