diff --git a/modello-core/src/main/java/org/codehaus/modello/plugin/AbstractModelloGenerator.java b/modello-core/src/main/java/org/codehaus/modello/plugin/AbstractModelloGenerator.java index b9a952e0a..2781ba490 100644 --- a/modello-core/src/main/java/org/codehaus/modello/plugin/AbstractModelloGenerator.java +++ b/modello-core/src/main/java/org/codehaus/modello/plugin/AbstractModelloGenerator.java @@ -59,7 +59,7 @@ public abstract class AbstractModelloGenerator implements ModelloGenerator { private final Logger logger = LoggerFactory.getLogger(getClass()); - private static final Map PLURAL_EXCEPTIONS = new HashMap<>(); + private static final ThreadLocal> PLURAL_EXCEPTIONS = ThreadLocal.withInitial(HashMap::new); private Model model; @@ -97,8 +97,9 @@ protected void initialize(Model model, Map parameters) throws Mo licenseText = (List) parameters.get(ModelloParameterConstants.LICENSE_TEXT); + PLURAL_EXCEPTIONS.get().clear(); Optional.ofNullable(parameters.get(ModelloParameterConstants.PLURAL_EXCEPTIONS)) - .ifPresent(o -> PLURAL_EXCEPTIONS.putAll((Map) o)); + .ifPresent(o -> PLURAL_EXCEPTIONS.get().putAll((Map) o)); } protected Model getModel() { @@ -207,8 +208,8 @@ public static String singular(String name) { return name; } - if (PLURAL_EXCEPTIONS.containsKey(name)) { - return PLURAL_EXCEPTIONS.get(name); + if (PLURAL_EXCEPTIONS.get().containsKey(name)) { + return PLURAL_EXCEPTIONS.get().get(name); } if (name.endsWith("ies")) {