Example usage for org.springframework.web.client RestTemplate delete

List of usage examples for org.springframework.web.client RestTemplate delete

Introduction

In this page you can find the example usage for org.springframework.web.client RestTemplate delete.

Prototype

@Override
    public void delete(URI url) throws RestClientException 

Source Link

Usage

From source file:org.springframework.cloud.stream.binder.rabbit.admin.RabbitBindingCleaner.java

private Map<String, List<String>> doClean(String adminUri, String user, String pw, String vhost,
        String binderPrefix, String entity, boolean isJob) {
    RestTemplate restTemplate = RabbitManagementUtils.buildRestTemplate(adminUri, user, pw);
    List<String> removedQueues = isJob ? null
            : findStreamQueues(adminUri, vhost, binderPrefix, entity, restTemplate);
    List<String> removedExchanges = findExchanges(adminUri, vhost, binderPrefix, entity, restTemplate);
    // Delete the queues in reverse order to enable re-running after a partial success.
    // The queue search above starts with 0 and terminates on a not found.
    for (int i = removedQueues.size() - 1; i >= 0; i--) {
        String queueName = removedQueues.get(i);
        URI uri = UriComponentsBuilder.fromUriString(adminUri + "/api")
                .pathSegment("queues", "{vhost}", "{stream}").buildAndExpand(vhost, queueName).encode().toUri();
        restTemplate.delete(uri);
        if (logger.isDebugEnabled()) {
            logger.debug("deleted queue: " + queueName);
        }//from   w ww.j  a va  2s.  co m
    }
    Map<String, List<String>> results = new HashMap<>();
    if (removedQueues.size() > 0) {
        results.put("queues", removedQueues);
    }
    // Fanout exchanges for taps
    for (String exchange : removedExchanges) {
        URI uri = UriComponentsBuilder.fromUriString(adminUri + "/api")
                .pathSegment("exchanges", "{vhost}", "{name}").buildAndExpand(vhost, exchange).encode().toUri();
        restTemplate.delete(uri);
        if (logger.isDebugEnabled()) {
            logger.debug("deleted exchange: " + exchange);
        }
    }
    if (removedExchanges.size() > 0) {
        results.put("exchanges", removedExchanges);
    }
    return results;
}

From source file:org.springframework.xd.dirt.integration.bus.rabbit.RabbitBusCleaner.java

private Map<String, List<String>> doClean(String adminUri, String user, String pw, String vhost,
        String busPrefix, String entity, boolean isJob) {
    RestTemplate restTemplate = buildRestTemplate(adminUri, user, pw);
    List<String> removedQueues = isJob ? findJobQueues(adminUri, vhost, busPrefix, entity, restTemplate)
            : findStreamQueues(adminUri, vhost, busPrefix, entity, restTemplate);
    ExchangeCandidateCallback callback;/*from  ww w  .  j  a  v a 2  s.  c  om*/
    if (isJob) {
        Collection<String> exchangeNames = JobEventsListenerPlugin.getEventListenerChannels(entity).values();
        final Set<String> jobExchanges = new HashSet<>();
        for (String exchange : exchangeNames) {
            jobExchanges.add(MessageBusSupport.applyPrefix(busPrefix, MessageBusSupport.applyPubSub(exchange)));
        }
        jobExchanges.add(MessageBusSupport.applyPrefix(busPrefix,
                MessageBusSupport.applyPubSub(JobEventsListenerPlugin.getEventListenerChannelName(entity))));
        callback = new ExchangeCandidateCallback() {

            @Override
            public boolean isCandidate(String exchangeName) {
                return jobExchanges.contains(exchangeName);
            }

        };
    } else {
        final String tapPrefix = MessageBusSupport.applyPrefix(busPrefix,
                MessageBusSupport.applyPubSub(AbstractStreamPlugin.constructTapPrefix(entity)));
        callback = new ExchangeCandidateCallback() {

            @Override
            public boolean isCandidate(String exchangeName) {
                return exchangeName.startsWith(tapPrefix);
            }
        };
    }
    List<String> removedExchanges = findExchanges(adminUri, vhost, busPrefix, entity, restTemplate, callback);
    // Delete the queues in reverse order to enable re-running after a partial success.
    // The queue search above starts with 0 and terminates on a not found.
    for (int i = removedQueues.size() - 1; i >= 0; i--) {
        String queueName = removedQueues.get(i);
        URI uri = UriComponentsBuilder.fromUriString(adminUri + "/api")
                .pathSegment("queues", "{vhost}", "{stream}").buildAndExpand(vhost, queueName).encode().toUri();
        restTemplate.delete(uri);
        if (logger.isDebugEnabled()) {
            logger.debug("deleted queue: " + queueName);
        }
    }
    Map<String, List<String>> results = new HashMap<>();
    if (removedQueues.size() > 0) {
        results.put("queues", removedQueues);
    }
    // Fanout exchanges for taps
    for (String exchange : removedExchanges) {
        URI uri = UriComponentsBuilder.fromUriString(adminUri + "/api")
                .pathSegment("exchanges", "{vhost}", "{name}").buildAndExpand(vhost, exchange).encode().toUri();
        restTemplate.delete(uri);
        if (logger.isDebugEnabled()) {
            logger.debug("deleted exchange: " + exchange);
        }
    }
    if (removedExchanges.size() > 0) {
        results.put("exchanges", removedExchanges);
    }
    return results;
}