From 56c240b9d8f26f968d60ff51a4b9064c06b970a8 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Wed, 21 Feb 2024 17:21:48 +0100 Subject: [PATCH 1/2] Use caching writers when writing xsd / xdoc --- .../java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java | 5 +++-- .../java/org/codehaus/modello/plugin/xsd/XsdGenerator.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java b/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java index 8cfa03ce3..21587ed04 100644 --- a/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java +++ b/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java @@ -28,6 +28,7 @@ import java.io.File; import java.io.IOException; import java.io.Writer; +import java.nio.charset.StandardCharsets; import java.util.*; import java.util.stream.Collectors; @@ -56,9 +57,9 @@ import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlModelMetadata; import org.codehaus.plexus.util.StringUtils; +import org.codehaus.plexus.util.io.CachingWriter; import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter; import org.codehaus.plexus.util.xml.XMLWriter; -import org.codehaus.plexus.util.xml.XmlStreamWriter; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; @@ -115,7 +116,7 @@ private void generateXdoc(Properties parameters) throws IOException { f = new File(directory, xdocFileName); } - Writer writer = new XmlStreamWriter(f); + Writer writer = new CachingWriter(f, StandardCharsets.UTF_8); XMLWriter w = new PrettyPrintXMLWriter(writer); diff --git a/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/XsdGenerator.java b/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/XsdGenerator.java index c8d88e6c0..5cdc0e0a5 100644 --- a/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/XsdGenerator.java +++ b/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/XsdGenerator.java @@ -27,6 +27,7 @@ import java.io.File; import java.io.IOException; import java.io.Writer; +import java.nio.charset.StandardCharsets; import java.util.HashSet; import java.util.List; import java.util.Properties; @@ -43,9 +44,9 @@ import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; import org.codehaus.plexus.util.StringUtils; +import org.codehaus.plexus.util.io.CachingWriter; import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter; import org.codehaus.plexus.util.xml.XMLWriter; -import org.codehaus.plexus.util.xml.XmlStreamWriter; /** * @author Brett Porter @@ -93,7 +94,7 @@ private void generateXsd(Properties parameters) throws IOException, ModelloExcep f = new File(directory, xsdFileName); } - Writer writer = new XmlStreamWriter(f); + Writer writer = new CachingWriter(f, StandardCharsets.UTF_8); try { XMLWriter w = new PrettyPrintXMLWriter(writer); From a5035ab4b1ce5b66e92c539bf2cbe7cd4974a97f Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Wed, 21 Feb 2024 17:57:19 +0100 Subject: [PATCH 2/2] Do not use singletons for generators --- .../org/codehaus/modello/plugin/velocity/VelocityGenerator.java | 2 -- .../java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java | 2 -- 2 files changed, 4 deletions(-) diff --git a/modello-plugins/modello-plugin-velocity/src/main/java/org/codehaus/modello/plugin/velocity/VelocityGenerator.java b/modello-plugins/modello-plugin-velocity/src/main/java/org/codehaus/modello/plugin/velocity/VelocityGenerator.java index 99f639ee6..ea79a785a 100644 --- a/modello-plugins/modello-plugin-velocity/src/main/java/org/codehaus/modello/plugin/velocity/VelocityGenerator.java +++ b/modello-plugins/modello-plugin-velocity/src/main/java/org/codehaus/modello/plugin/velocity/VelocityGenerator.java @@ -20,7 +20,6 @@ */ import javax.inject.Named; -import javax.inject.Singleton; import java.io.IOException; import java.io.Writer; @@ -43,7 +42,6 @@ import org.codehaus.plexus.util.io.CachingWriter; @Named("velocity") -@Singleton public class VelocityGenerator extends AbstractModelloGenerator { public static final String VELOCITY_BASEDIR = "modello.velocity.basedir"; diff --git a/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java b/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java index 21587ed04..e7d1d8a70 100644 --- a/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java +++ b/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java @@ -23,7 +23,6 @@ */ import javax.inject.Named; -import javax.inject.Singleton; import java.io.File; import java.io.IOException; @@ -68,7 +67,6 @@ * @author Emmanuel Venisse */ @Named("xdoc") -@Singleton public class XdocGenerator extends AbstractXmlGenerator { private static final VersionRange DEFAULT_VERSION_RANGE = new VersionRange("0.0.0+");