< prev index next >
src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java
Print this page
rev 1063 : 8172974: [JAXP] XALAN: Wrong result when transforming namespace unaware StAX Input
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
*/
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -48,12 +48,13 @@
private static final String NAMESPACES_FEATURE =
"http://xml.org/sax/features/namespaces";
private static final String NAMESPACE_PREFIXES_FEATURE =
"http://xml.org/sax/features/namespace-prefixes";
private static final XMLReaderManager m_singletonManager =
- new XMLReaderManager();
+ new XMLReaderManager();
private static final String property = "org.xml.sax.driver";
+
/**
* Parser factory to be used to construct XMLReader objects
*/
private static SAXParserFactory m_parserFactory;
@@ -68,28 +69,30 @@
private HashMap<XMLReader, Boolean> m_inUse;
private boolean m_useServicesMechanism = true;
private boolean _secureProcessing;
- /**
+
+ /**
* protocols allowed for external DTD references in source file and/or stylesheet.
*/
private String _accessExternalDTD = XalanConstants.EXTERNAL_ACCESS_DEFAULT;
private XMLSecurityManager _xmlSecurityManager;
- //Catalog Feature
+ /**
+ * Catalog Feature
+ */
private boolean _useCatalog;
private CatalogFeatures _catalogFeatures;
private int _cdataChunkSize;
/**
* Hidden constructor
*/
- private XMLReaderManager() {
- }
+ private XMLReaderManager() {}
/**
* Retrieves the singleton reader manager
*/
public static XMLReaderManager getInstance(boolean useServicesMechanism) {
@@ -120,12 +123,13 @@
// one; otherwise, return the cached reader unless it isn't an
// instance of the class set in the 'org.xml.sax.driver' property
reader = m_readers.get();
boolean threadHasReader = (reader != null);
String factory = SecuritySupport.getSystemProperty(property);
- if (threadHasReader && m_inUse.get(reader) != Boolean.TRUE &&
- ( factory == null || reader.getClass().getName().equals(factory))) {
+ if (threadHasReader &&
+ m_inUse.get(reader) != Boolean.TRUE &&
+ (factory == null || reader.getClass().getName().equals(factory))) {
m_inUse.put(reader, Boolean.TRUE);
} else {
try {
try {
// According to JAXP 1.2 specification, if a SAXSource
@@ -174,23 +178,23 @@
m_inUse.put(reader, Boolean.TRUE);
}
}
//reader is cached, but this property might have been reset
- JdkXmlUtils.setXMLReaderPropertyIfSupport(reader, XMLConstants.ACCESS_EXTERNAL_DTD,
- _accessExternalDTD, true);
+ JdkXmlUtils.setXMLReaderPropertyIfSupport(reader,
+ XMLConstants.ACCESS_EXTERNAL_DTD, _accessExternalDTD, true);
- JdkXmlUtils.setXMLReaderPropertyIfSupport(reader, JdkXmlUtils.CDATA_CHUNK_SIZE,
- _cdataChunkSize, false);
+ JdkXmlUtils.setXMLReaderPropertyIfSupport(reader,
+ JdkXmlUtils.CDATA_CHUNK_SIZE, _cdataChunkSize, false);
String lastProperty = "";
try {
if (_xmlSecurityManager != null) {
for (XMLSecurityManager.Limit limit : XMLSecurityManager.Limit.values()) {
lastProperty = limit.apiProperty();
reader.setProperty(lastProperty,
- _xmlSecurityManager.getLimitValueAsString(limit));
+ _xmlSecurityManager.getLimitValueAsString(limit));
}
if (_xmlSecurityManager.printEntityCountInfo()) {
lastProperty = XalanConstants.JDK_ENTITY_COUNT_INFO;
reader.setProperty(XalanConstants.JDK_ENTITY_COUNT_INFO, XalanConstants.JDK_YES);
}
@@ -200,12 +204,11 @@
}
boolean supportCatalog = true;
try {
reader.setFeature(JdkXmlUtils.USE_CATALOG, _useCatalog);
- }
- catch (SAXNotRecognizedException | SAXNotSupportedException e) {
+ } catch (SAXNotRecognizedException | SAXNotSupportedException e) {
supportCatalog = false;
}
if (supportCatalog && _useCatalog && _catalogFeatures != null) {
try {
@@ -248,11 +251,11 @@
/**
* Set feature
*/
public void setFeature(String name, boolean value) {
- if (name.equals(XMLConstants.FEATURE_SECURE_PROCESSING)) {
+ if (XMLConstants.FEATURE_SECURE_PROCESSING.equals(name)) {
_secureProcessing = value;
} else if (XMLConstants.USE_CATALOG.equals(name)) {
_useCatalog = value;
}
}
< prev index next >