Search in sources :

Example 1 with BaseEntity

use of com.dtstack.taier.dao.domain.BaseEntity in project Taier by DTStack.

the class QueueService method updateQueue.

public void updateQueue(Long clusterId, ComponentTestResult.ClusterResourceDescription description) {
    List<Queue> queues = consoleQueueMapper.listByClusterId(clusterId);
    if (CollectionUtils.isEmpty(queues)) {
        newAddQueue(clusterId, ROOT_QUEUE_ID, description.getQueueDescriptions());
    } else {
        Map<String, Queue> existQueueMap = new HashMap<>(queues.size());
        for (Queue queue : queues) {
            existQueueMap.put(queue.getQueuePath(), queue);
        }
        updateAddQueue(existQueueMap, clusterId, ROOT_QUEUE_ID, description.getQueueDescriptions());
        if (!existQueueMap.isEmpty()) {
            Integer delete = consoleQueueMapper.deleteByIds(existQueueMap.values().stream().map(BaseEntity::getId).collect(Collectors.toList()), clusterId);
            if (delete != existQueueMap.size()) {
                throw new RdosDefineException("operation failed");
            }
        }
    }
}
Also used : HashMap(java.util.HashMap) RdosDefineException(com.dtstack.taier.common.exception.RdosDefineException) BaseEntity(com.dtstack.taier.dao.domain.BaseEntity) Queue(com.dtstack.taier.dao.domain.Queue)

Aggregations

RdosDefineException (com.dtstack.taier.common.exception.RdosDefineException)1 BaseEntity (com.dtstack.taier.dao.domain.BaseEntity)1 Queue (com.dtstack.taier.dao.domain.Queue)1 HashMap (java.util.HashMap)1