src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java
--- a/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java Mon Jun 18 15:24:48 2018 -0700
+++ b/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java Tue Jun 19 08:06:35 2018 +0800
@@ -33,10 +33,10 @@
/**
* Handles barename XPointer Reference URIs.
- * <BR />
+ * <p></p>
* To retain comments while selecting an element by an identifier ID,
* use the following full XPointer: URI='#xpointer(id('ID'))'.
- * <BR />
+ * <p></p>
* To retain comments while selecting the entire document,
* use the following full XPointer: URI='#xpointer(/)'.
* This XPointer contains a simple XPath expression that includes
@@ -44,13 +44,11 @@
* nodes of the parse tree (all descendants, plus all attributes,
* plus all namespaces nodes).
*
- * @author $Author: coheigea $
*/
public class ResolverXPointer extends ResourceResolverSpi {
- /** {@link org.apache.commons.logging} logging facility */
- private static java.util.logging.Logger log =
- java.util.logging.Logger.getLogger(ResolverXPointer.class.getName());
+ private static final com.sun.org.slf4j.internal.Logger LOG =
+ com.sun.org.slf4j.internal.LoggerFactory.getLogger(ResolverXPointer.class);
private static final String XP = "#xpointer(id(";
private static final int XP_LENGTH = XP.length();
@@ -61,7 +59,7 @@
}
/**
- * @inheritDoc
+ * {@inheritDoc}
*/
@Override
public XMLSignatureInput engineResolveURI(ResourceResolverContext context)
@@ -81,7 +79,7 @@
if (!XMLUtils.protectAgainstWrappingAttack(start, id)) {
Object exArgs[] = { id };
throw new ResourceResolverException(
- "signature.Verification.MultipleIDs", exArgs, context.attr, context.baseUri
+ "signature.Verification.MultipleIDs", exArgs, context.uriToResolve, context.baseUri
);
}
}
@@ -90,12 +88,13 @@
Object exArgs[] = { id };
throw new ResourceResolverException(
- "signature.Verification.MissingID", exArgs, context.attr, context.baseUri
+ "signature.Verification.MissingID", exArgs, context.uriToResolve, context.baseUri
);
}
}
XMLSignatureInput result = new XMLSignatureInput(resultNode);
+ result.setSecureValidation(context.secureValidation);
result.setMIMEType("text/xml");
if (context.baseUri != null && context.baseUri.length() > 0) {
@@ -108,7 +107,7 @@
}
/**
- * @inheritDoc
+ * {@inheritDoc}
*/
public boolean engineCanResolveURI(ResourceResolverContext context) {
if (context.uriToResolve == null) {
@@ -146,11 +145,9 @@
String idPlusDelim = uri.substring(XP_LENGTH, uri.length() - 2);
int idLen = idPlusDelim.length() -1;
- if (((idPlusDelim.charAt(0) == '"') && (idPlusDelim.charAt(idLen) == '"'))
- || ((idPlusDelim.charAt(0) == '\'') && (idPlusDelim.charAt(idLen) == '\''))) {
- if (log.isLoggable(java.util.logging.Level.FINE)) {
- log.log(java.util.logging.Level.FINE, "Id = " + idPlusDelim.substring(1, idLen));
- }
+ if (idPlusDelim.charAt(0) == '"' && idPlusDelim.charAt(idLen) == '"'
+ || idPlusDelim.charAt(0) == '\'' && idPlusDelim.charAt(idLen) == '\'') {
+ LOG.debug("Id = {}", idPlusDelim.substring(1, idLen));
return true;
}
}
@@ -166,11 +163,11 @@
*/
private static String getXPointerId(String uri) {
if (uri.startsWith(XP) && uri.endsWith("))")) {
- String idPlusDelim = uri.substring(XP_LENGTH,uri.length() - 2);
+ String idPlusDelim = uri.substring(XP_LENGTH, uri.length() - 2);
int idLen = idPlusDelim.length() -1;
- if (((idPlusDelim.charAt(0) == '"') && (idPlusDelim.charAt(idLen) == '"'))
- || ((idPlusDelim.charAt(0) == '\'') && (idPlusDelim.charAt(idLen) == '\''))) {
+ if (idPlusDelim.charAt(0) == '"' && idPlusDelim.charAt(idLen) == '"'
+ || idPlusDelim.charAt(0) == '\'' && idPlusDelim.charAt(idLen) == '\'') {
return idPlusDelim.substring(1, idLen);
}
}