in artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/predicate/QueueFilterPredicate.java [38:79]
public boolean test(QueueControl queue) {
if (f == null)
return true;
try {
return switch (f) {
case ID -> matches(queue.getID());
case NAME -> matches(queue.getName());
case CONSUMER_ID -> {
Queue q = server.locateQueue(SimpleString.of(queue.getName()));
for (Consumer consumer : q.getConsumers()) {
if (matches(consumer.sequentialID()))
yield true;
}
yield false;
}
case MAX_CONSUMERS -> matches(queue.getMaxConsumers());
case ADDRESS -> matches(queue.getAddress());
case FILTER -> matches(queue.getFilter());
case MESSAGE_COUNT -> matches(queue.getMessageCount());
case CONSUMER_COUNT -> matches(queue.getConsumerCount());
case DELIVERING_COUNT -> matches(queue.getDeliveringCount());
case MESSAGES_ADDED -> matches(queue.getMessagesAdded());
case MESSAGES_ACKED -> matches(queue.getMessagesAcknowledged());
case MESSAGES_EXPIRED -> matches(queue.getMessagesExpired());
case ROUTING_TYPE -> matches(queue.getRoutingType());
case AUTO_CREATED -> matches(server.locateQueue(SimpleString.of(queue.getName())).isAutoCreated());
case DURABLE -> matches(queue.isDurable());
case PAUSED -> matches(queue.isPaused());
case TEMPORARY -> matches(queue.isTemporary());
case PURGE_ON_NO_CONSUMERS -> matches(queue.isPurgeOnNoConsumers());
case MESSAGES_KILLED -> matches(queue.getMessagesKilled());
case EXCLUSIVE -> matches(queue.isExclusive());
case LAST_VALUE -> matches(queue.isLastValue());
case SCHEDULED_COUNT -> matches(queue.getScheduledCount());
case USER -> matches(queue.getUser());
case INTERNAL_QUEUE -> matches(queue.isInternalQueue());
default -> true;
};
} catch (Exception e) {
return true;
}
}