use of org.wso2.carbon.apimgt.core.exception.GatewayException in project carbon-apimgt by wso2.
the class APIGatewayPublisherImpl method deleteAPI.
@Override
public void deleteAPI(API api) throws GatewayException {
// build the message to send
APIEvent apiDeleteEvent = new APIEvent(APIMgtConstants.GatewayEventTypes.API_DELETE);
apiDeleteEvent.setLabels(api.getLabels());
apiDeleteEvent.setApiSummary(toAPISummary(api));
publishToPublisherTopic(apiDeleteEvent);
if (log.isDebugEnabled()) {
log.debug("API : " + api.getName() + " deleted event has been successfully published to broker");
}
if (api.hasOwnGateway()) {
// Delete the Gateway - check how we can assume that we complete the deletion
try {
List<String> labels = api.getLabels();
if (labels != null && !labels.isEmpty()) {
removeContainerBasedGateway(labels.toArray()[0].toString(), api);
} else {
log.error("Could not delete container based gateways as labels could not find in the API.");
}
} catch (ContainerBasedGatewayException e) {
String msg = "Error while removing the container based gateway";
throw new GatewayException(msg, e, ExceptionCodes.CONTAINER_GATEWAY_REMOVAL_FAILED);
}
}
}
use of org.wso2.carbon.apimgt.core.exception.GatewayException in project carbon-apimgt by wso2.
the class APIGatewayPublisherImpl method changeAPIState.
@Override
public void changeAPIState(API api, String status) throws GatewayException {
// create the message to be sent to the gateway. This contains the basic details of the API and target
// lifecycle state.
APIEvent gatewayDTO = new APIEvent(APIMgtConstants.GatewayEventTypes.API_STATE_CHANGE);
gatewayDTO.setLabels(api.getLabels());
gatewayDTO.setApiSummary(toAPISummary(api));
publishToPublisherTopic(gatewayDTO);
}
use of org.wso2.carbon.apimgt.core.exception.GatewayException in project carbon-apimgt by wso2.
the class APIGatewayPublisherImpl method updateBlockCondition.
@Override
public void updateBlockCondition(BlockConditions blockConditions) throws GatewayException {
if (blockConditions != null) {
BlockEvent blockEvent = new BlockEvent(APIMgtConstants.GatewayEventTypes.BLOCK_CONDITION_ADD);
blockEvent.setConditionId(blockConditions.getConditionId());
blockEvent.setUuid(blockConditions.getUuid());
blockEvent.setConditionType(blockConditions.getConditionType());
blockEvent.setEnabled(blockConditions.isEnabled());
blockEvent.setConditionValue(blockConditions.getConditionValue());
if (APIMgtConstants.ThrottlePolicyConstants.BLOCKING_CONDITIONS_IP.equals(blockConditions.getConditionType())) {
blockEvent.setFixedIp(APIUtils.ipToLong(blockConditions.getConditionValue()));
}
if (APIMgtConstants.ThrottlePolicyConstants.BLOCKING_CONDITION_IP_RANGE.equals(blockConditions.getConditionType())) {
blockEvent.setStartingIP(APIUtils.ipToLong(blockConditions.getStartingIP()));
blockEvent.setEndingIP(APIUtils.ipToLong(blockConditions.getEndingIP()));
}
publishToThrottleTopic(blockEvent);
if (log.isDebugEnabled()) {
log.debug("BlockCondition : " + blockConditions.getUuid() + " update event has been successfully " + "published " + "to broker");
}
}
}
use of org.wso2.carbon.apimgt.core.exception.GatewayException in project carbon-apimgt by wso2.
the class APIGatewayPublisherImpl method updatePolicy.
@Override
public void updatePolicy(PolicyValidationData policyValidationData) throws GatewayException {
if (policyValidationData != null) {
PolicyEvent policyEvent = new PolicyEvent(APIMgtConstants.GatewayEventTypes.POLICY_UPDATE);
policyEvent.setId(policyValidationData.getId());
policyEvent.setName(policyValidationData.getName());
policyEvent.setStopOnQuotaReach(policyValidationData.isStopOnQuotaReach());
publishToThrottleTopic(policyEvent);
if (log.isDebugEnabled()) {
log.debug("Policy : " + policyValidationData.getName() + " update event has been successfully " + "published " + "to broker");
}
}
}
use of org.wso2.carbon.apimgt.core.exception.GatewayException in project carbon-apimgt by wso2.
the class APIGatewayPublisherImpl method updateApplication.
@Override
public void updateApplication(Application application) throws GatewayException {
if (application != null) {
ApplicationEvent applicationEvent = new ApplicationEvent(APIMgtConstants.GatewayEventTypes.APPLICATION_UPDATE);
applicationEvent.setApplicationId(application.getId());
applicationEvent.setName(application.getName());
applicationEvent.setThrottlingTier(application.getPolicy().getUuid());
applicationEvent.setSubscriber(application.getCreatedUser());
publishToStoreTopic(applicationEvent);
if (log.isDebugEnabled()) {
log.debug("Application : " + application.getName() + " updated event has been successfully published " + "to broker");
}
}
}
Aggregations