From 6a1273e7013b8d5fdaef7e65fd6d86092b4df292 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Fri, 31 Jan 2025 12:24:21 +0100 Subject: [PATCH] Prevent concurrent modification exception. --- .../src/org/jdrupes/vmoperator/common/VmPool.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/org.jdrupes.vmoperator.common/src/org/jdrupes/vmoperator/common/VmPool.java b/org.jdrupes.vmoperator.common/src/org/jdrupes/vmoperator/common/VmPool.java index 8bf6dee1b..cfc29efd6 100644 --- a/org.jdrupes.vmoperator.common/src/org/jdrupes/vmoperator/common/VmPool.java +++ b/org.jdrupes.vmoperator.common/src/org/jdrupes/vmoperator/common/VmPool.java @@ -140,7 +140,8 @@ public Set vms() { * @return the string */ @Override - @SuppressWarnings("PMD.AvoidLiteralsInIfCondition") + @SuppressWarnings({ "PMD.AvoidLiteralsInIfCondition", + "PMD.AvoidSynchronizedStatement" }) public String toString() { StringBuilder builder = new StringBuilder(50); builder.append("VmPool [name=").append(name).append(", permissions=") @@ -148,8 +149,11 @@ public String toString() { if (vms.size() <= 3) { builder.append(vms); } else { - builder.append('[').append(vms.stream().limit(3).map(s -> s + ",") - .collect(Collectors.joining())).append("...]"); + synchronized (vms) { + builder.append('[').append(vms.stream().limit(3) + .map(s -> s + ",").collect(Collectors.joining())) + .append("...]"); + } } builder.append(']'); return builder.toString();