Mercurial > hg > openjdk > jdk9 > jaxp
changeset 880:781b83dadcae jdk-9+107
Merge
author | lana |
---|---|
date | Thu, 18 Feb 2016 13:40:52 -0800 |
parents | aa6fe6ee2f50 (current diff) 4786b4c1ba69 (diff) |
children | d4c0e3bcc5ae 95c223e6eaf0 |
files | |
diffstat | 3 files changed, 35 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/java.xml/share/classes/javax/xml/catalog/CatalogReader.java Thu Feb 18 11:30:13 2016 -0800 +++ b/src/java.xml/share/classes/javax/xml/catalog/CatalogReader.java Thu Feb 18 13:40:52 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -184,11 +184,14 @@ if (resolve == null) { resolve = catalog.getResolve().literal; } + //override property settings with those from the catalog file catalog.setResolve(resolve); + catalog.setPrefer(defer); catalogEntry = new CatalogEntry(base, prefer, defer, resolve); } else { catalogEntry = new CatalogEntry(base, prefer); } + catalog.setPrefer(prefer); return; } else { inGroup = true;
--- a/test/javax/xml/jaxp/unittest/catalog/CatalogTest.java Thu Feb 18 11:30:13 2016 -0800 +++ b/test/javax/xml/jaxp/unittest/catalog/CatalogTest.java Thu Feb 18 13:40:52 2016 -0800 @@ -23,6 +23,7 @@ package catalog; import java.io.IOException; +import javax.xml.catalog.Catalog; import javax.xml.catalog.CatalogFeatures; import javax.xml.catalog.CatalogFeatures.Feature; import javax.xml.catalog.CatalogManager; @@ -41,15 +42,36 @@ import org.xml.sax.ext.DefaultHandler2; /* - * @bug 8081248, 8144966, 8146606 + * @bug 8081248, 8144966, 8146606, 8146237 * @summary Tests basic Catalog functions. */ public class CatalogTest { + /** + * @bug 8146237 + * PREFER from Features API taking precedence over catalog file + */ + @Test + public void testJDK8146237() { + String catalogFile = getClass().getResource("JDK8146237_catalog.xml").getFile(); + + try { + CatalogFeatures features = CatalogFeatures.builder().with(CatalogFeatures.Feature.PREFER, "system").build(); + Catalog catalog = CatalogManager.catalog(features, catalogFile); + CatalogResolver catalogResolver = CatalogManager.catalogResolver(catalog); + String actualSystemId = catalogResolver.resolveEntity("-//FOO//DTD XML Dummy V0.0//EN", "http://www.oracle.com/alt1sys.dtd").getSystemId(); + Assert.assertTrue(actualSystemId.contains("dummy.dtd"), "Resulting id should contain dummy.dtd, indicating a match by publicId"); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + /* @bug 8146606 Verifies that the resulting systemId does not contain duplicate slashes */ + @Test public void testRewriteSystem() { String catalog = getClass().getResource("rewriteCatalog.xml").getFile(); @@ -67,6 +89,7 @@ @bug 8146606 Verifies that the resulting systemId does not contain duplicate slashes */ + @Test public void testRewriteUri() { String catalog = getClass().getResource("rewriteCatalog.xml").getFile();
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/javax/xml/jaxp/unittest/catalog/JDK8146237_catalog.xml Thu Feb 18 13:40:52 2016 -0800 @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<catalog prefer="public" xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> + + <public publicId="-//FOO//DTD XML Dummy V0.0//EN" + uri="dummy.dtd"/> +</catalog> +