This is an automated email from the ASF dual-hosted git repository. garydgregory pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/commons-xml.git
commit 4e06619bad57eeb9b00ac0fbb9ffd74641f58968 Author: Gary Gregory <[email protected]> AuthorDate: Fri Aug 28 13:18:10 2026 -0400 Rename HardeningTemplates to SecureTemplates Local build OK. --- .../org/apache/commons/xml/HardeningTemplatesHandler.java | 4 ++-- .../org/apache/commons/xml/HardeningTransformerFactory.java | 12 ++++++------ src/main/java/org/apache/commons/xml/HardeningXMLFilter.java | 6 +++--- .../xml/{HardeningTemplates.java => SecureTemplates.java} | 4 ++-- .../org/apache/commons/xml/OverrideDefaultParserTest.java | 4 ++-- .../java/org/apache/commons/xml/ShadingFootprintTest.java | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/apache/commons/xml/HardeningTemplatesHandler.java b/src/main/java/org/apache/commons/xml/HardeningTemplatesHandler.java index 33d3126..1fe8159 100644 --- a/src/main/java/org/apache/commons/xml/HardeningTemplatesHandler.java +++ b/src/main/java/org/apache/commons/xml/HardeningTemplatesHandler.java @@ -30,7 +30,7 @@ import org.xml.sax.SAXException; /** - * {@link TemplatesHandler} wrapper whose only purpose is to return a {@link HardeningTemplates} from {@link TemplatesHandler#getTemplates()}. + * {@link TemplatesHandler} wrapper whose only purpose is to return a {@link SecureTemplates} from {@link TemplatesHandler#getTemplates()}. * * <p>The handler itself only compiles: the caller drives the stylesheet's SAX events, and {@code xsl:include}/{@code xsl:import} hrefs already resolve through * the delegate factory's resolver, which is the hardening floor. What the raw handler lacks is the runtime side: the {@link Templates} it compiles produce @@ -102,7 +102,7 @@ public String getSystemId() { public Templates getTemplates() { // Null before the stylesheet's endDocument (and on a failed compile in some implementations). final Templates templates = delegate.getTemplates(); - return templates == null ? null : new HardeningTemplates(templates, uriResolver, emptySource, overrideDefaultParser); + return templates == null ? null : new SecureTemplates(templates, uriResolver, emptySource, overrideDefaultParser); } @Override diff --git a/src/main/java/org/apache/commons/xml/HardeningTransformerFactory.java b/src/main/java/org/apache/commons/xml/HardeningTransformerFactory.java index a840c7f..18c2286 100644 --- a/src/main/java/org/apache/commons/xml/HardeningTransformerFactory.java +++ b/src/main/java/org/apache/commons/xml/HardeningTransformerFactory.java @@ -195,7 +195,7 @@ private HardeningTransformerFactory() { * <p>Three layers cooperate:</p> * <ol> * <li>{@link HardeningTransformerFactory} rewrites the Source on every entry point that compiles a stylesheet or transforms a one-shot input.</li> - * <li>{@link HardeningTemplates} returns a {@link HardeningTransformer} from {@link Templates#newTransformer()} so runtime source parsing is also covered, and + * <li>{@link SecureTemplates} returns a {@link HardeningTransformer} from {@link Templates#newTransformer()} so runtime source parsing is also covered, and * restores the factory's URIResolver onto the produced Transformer (which the underlying implementation typically does not propagate through * {@code Templates}).</li> * <li>{@link HardeningTransformer} rewrites the Source on every {@link Transformer#transform(Source, javax.xml.transform.Result)} call.</li> @@ -274,7 +274,7 @@ private static boolean probeOverrideDefaultParser(final SAXTransformerFactory fa } private static Templates unwrap(final Templates templates) { - return templates instanceof HardeningTemplates ? ((HardeningTemplates) templates).getDelegate() : templates; + return templates instanceof SecureTemplates ? ((SecureTemplates) templates).getDelegate() : templates; } private final SAXTransformerFactory delegate; @@ -363,7 +363,7 @@ private TransformerHandler hardenHandler(final TransformerHandler handler) { @Override public Templates newTemplates(final Source source) throws TransformerConfigurationException { final Templates templates = delegate.newTemplates(SecureSAXParserFactory.harden(source, overrideDefaultParser())); - return templates == null ? null : new HardeningTemplates(templates, getURIResolver(), emptySource, overrideDefaultParser()); + return templates == null ? null : new SecureTemplates(templates, getURIResolver(), emptySource, overrideDefaultParser()); } @Override @@ -422,13 +422,13 @@ public TransformerHandler newTransformerHandler(final Templates templates) throw @Override public XMLFilter newXMLFilter(final Source source) throws TransformerConfigurationException { final Templates templates = newTemplates(source); - return templates == null ? null : new HardeningXMLFilter((HardeningTemplates) templates); + return templates == null ? null : new HardeningXMLFilter((SecureTemplates) templates); } @Override public XMLFilter newXMLFilter(final Templates templates) throws TransformerConfigurationException { - return new HardeningXMLFilter(templates instanceof HardeningTemplates ? (HardeningTemplates) templates - : new HardeningTemplates(templates, getURIResolver(), emptySource, overrideDefaultParser())); + return new HardeningXMLFilter(templates instanceof SecureTemplates ? (SecureTemplates) templates + : new SecureTemplates(templates, getURIResolver(), emptySource, overrideDefaultParser())); } @Override diff --git a/src/main/java/org/apache/commons/xml/HardeningXMLFilter.java b/src/main/java/org/apache/commons/xml/HardeningXMLFilter.java index 903459e..e4bd04a 100644 --- a/src/main/java/org/apache/commons/xml/HardeningXMLFilter.java +++ b/src/main/java/org/apache/commons/xml/HardeningXMLFilter.java @@ -34,7 +34,7 @@ import org.xml.sax.helpers.XMLFilterImpl; /** - * {@link XMLFilter} that transforms the parsed input through a {@link HardeningTemplates} and emits the result as SAX events. + * {@link XMLFilter} that transforms the parsed input through a {@link SecureTemplates} and emits the result as SAX events. * * <p>Composed from the library's own wrappers instead of delegating to the implementation's filter, because the implementation filters self-provision an * unhardened reader for the input (the stock JDK's does so as early as {@code setContentHandler}) and cast a supplied {@link javax.xml.transform.Templates} to @@ -44,7 +44,7 @@ */ final class HardeningXMLFilter extends XMLFilterImpl { - private final HardeningTemplates templates; + private final SecureTemplates templates; /** * Constructs a new instance. @@ -52,7 +52,7 @@ final class HardeningXMLFilter extends XMLFilterImpl { * @param templates the delegate to wrap; must not be {@code null}. * @throws NullPointerException if {@code delegate} is {@code null}. */ - HardeningXMLFilter(final HardeningTemplates templates) { + HardeningXMLFilter(final SecureTemplates templates) { this.templates = Objects.requireNonNull(templates, "templates"); } diff --git a/src/main/java/org/apache/commons/xml/HardeningTemplates.java b/src/main/java/org/apache/commons/xml/SecureTemplates.java similarity index 95% rename from src/main/java/org/apache/commons/xml/HardeningTemplates.java rename to src/main/java/org/apache/commons/xml/SecureTemplates.java index 3b1a2fa..f975028 100644 --- a/src/main/java/org/apache/commons/xml/HardeningTemplates.java +++ b/src/main/java/org/apache/commons/xml/SecureTemplates.java @@ -37,7 +37,7 @@ * factory ultimately produces. * </p> */ -final class HardeningTemplates implements Templates { +final class SecureTemplates implements Templates { private final Templates delegate; @@ -66,7 +66,7 @@ final class HardeningTemplates implements Templates { * @param overrideDefaultParser whether the produced Transformers' source rewrites should use the pluggable parser lookup instead of the platform's built-in parser. * @throws NullPointerException if {@code delegate} is {@code null}. */ - HardeningTemplates(final Templates delegate, final URIResolver uriResolver, final Supplier<Source> emptySource, final boolean overrideDefaultParser) { + SecureTemplates(final Templates delegate, final URIResolver uriResolver, final Supplier<Source> emptySource, final boolean overrideDefaultParser) { this.delegate = Objects.requireNonNull(delegate, "delegate"); this.uriResolver = uriResolver; this.emptySource = emptySource; diff --git a/src/test/java/org/apache/commons/xml/OverrideDefaultParserTest.java b/src/test/java/org/apache/commons/xml/OverrideDefaultParserTest.java index 5d9c2a0..cada97c 100644 --- a/src/test/java/org/apache/commons/xml/OverrideDefaultParserTest.java +++ b/src/test/java/org/apache/commons/xml/OverrideDefaultParserTest.java @@ -90,9 +90,9 @@ void transformerFactoryReadsFeatureAtCreation() throws Exception { assumeFalse(AttackTestSupport.IS_ANDROID); final TransformerFactory factory = HardeningTransformerFactory.newDefaultInstance(); assertFalse(factory.getFeature(FEATURE)); - assertFalse(((HardeningTemplates) factory.newTemplates(AttackTestSupport.streamSource(AttackTestSupport.xsltBody("probe")))).overrideDefaultParser); + assertFalse(((SecureTemplates) factory.newTemplates(AttackTestSupport.streamSource(AttackTestSupport.xsltBody("probe")))).overrideDefaultParser); factory.setFeature(FEATURE, true); - assertTrue(((HardeningTemplates) factory.newTemplates(AttackTestSupport.streamSource(AttackTestSupport.xsltBody("probe")))).overrideDefaultParser); + assertTrue(((SecureTemplates) factory.newTemplates(AttackTestSupport.streamSource(AttackTestSupport.xsltBody("probe")))).overrideDefaultParser); } @Test diff --git a/src/test/java/org/apache/commons/xml/ShadingFootprintTest.java b/src/test/java/org/apache/commons/xml/ShadingFootprintTest.java index 25e97a5..2c5b390 100644 --- a/src/test/java/org/apache/commons/xml/ShadingFootprintTest.java +++ b/src/test/java/org/apache/commons/xml/ShadingFootprintTest.java @@ -108,7 +108,7 @@ class ShadingFootprintTest { "SecureSAXParserFactory$1", "SecureSAXParserFactory$HardeningExpatXMLReader", "SecureSAXParserFactory$Wrapper", - "HardeningTemplates", + "SecureTemplates", "HardeningTemplatesHandler", "HardeningTransformer", "HardeningTransformerFactory",
