XpathUtils.smali
.class public Lcom/amazonaws/util/XpathUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static a:Lcom/amazonaws/logging/Log;
.field public static b:Ljavax/xml/parsers/DocumentBuilderFactory;
# direct methods
.method public static constructor <clinit>()V
.registers 1
.line 1
const-class v0, Lcom/amazonaws/util/XpathUtils;
invoke-static {v0}, Lcom/amazonaws/logging/LogFactory;->a(Ljava/lang/Class;)Lcom/amazonaws/logging/Log;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/XpathUtils;->a:Lcom/amazonaws/logging/Log;
.line 2
invoke-static {}, Ljavax/xml/parsers/DocumentBuilderFactory;->newInstance()Ljavax/xml/parsers/DocumentBuilderFactory;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/XpathUtils;->b:Ljavax/xml/parsers/DocumentBuilderFactory;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static a(Ljava/lang/String;Lorg/w3c/dom/Node;)Ljava/lang/String;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljavax/xml/xpath/XPathExpressionException;
}
.end annotation
if-nez p1, :cond_4
const/4 v0, 0x1
goto :goto_5
:cond_4
const/4 v0, 0x0
:goto_5
const/4 v1, 0x0
if-eqz v0, :cond_9
goto :goto_38
:cond_9
const-string v0, "."
.line 1
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_28
if-nez p1, :cond_15
move-object v0, v1
goto :goto_25
.line 2
:cond_15
invoke-static {}, Ljavax/xml/xpath/XPathFactory;->newInstance()Ljavax/xml/xpath/XPathFactory;
move-result-object v0
invoke-virtual {v0}, Ljavax/xml/xpath/XPathFactory;->newXPath()Ljavax/xml/xpath/XPath;
move-result-object v0
.line 3
sget-object v2, Ljavax/xml/xpath/XPathConstants;->NODE:Ljavax/xml/namespace/QName;
invoke-interface {v0, p0, p1, v2}, Ljavax/xml/xpath/XPath;->evaluate(Ljava/lang/String;Ljava/lang/Object;Ljavax/xml/namespace/QName;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/w3c/dom/Node;
:goto_25
if-nez v0, :cond_28
goto :goto_38
.line 4
:cond_28
invoke-static {}, Ljavax/xml/xpath/XPathFactory;->newInstance()Ljavax/xml/xpath/XPathFactory;
move-result-object v0
invoke-virtual {v0}, Ljavax/xml/xpath/XPathFactory;->newXPath()Ljavax/xml/xpath/XPath;
move-result-object v0
.line 5
invoke-interface {v0, p0, p1}, Ljavax/xml/xpath/XPath;->evaluate(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
.line 6
invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v1
:goto_38
return-object v1
.end method
.method public static b(Ljava/lang/String;)Lorg/w3c/dom/Document;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xml/sax/SAXException;,
Ljava/io/IOException;,
Ljavax/xml/parsers/ParserConfigurationException;
}
.end annotation
.line 1
new-instance v0, Ljava/io/ByteArrayInputStream;
sget-object v1, Lcom/amazonaws/util/StringUtils;->a:Ljava/nio/charset/Charset;
invoke-virtual {p0, v1}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object p0
invoke-direct {v0, p0}, Ljava/io/ByteArrayInputStream;-><init>([B)V
.line 2
new-instance p0, Lcom/amazonaws/util/NamespaceRemovingInputStream;
invoke-direct {p0, v0}, Lcom/amazonaws/util/NamespaceRemovingInputStream;-><init>(Ljava/io/InputStream;)V
.line 3
sget-object v0, Lcom/amazonaws/util/XpathUtils;->b:Ljavax/xml/parsers/DocumentBuilderFactory;
invoke-virtual {v0}, Ljavax/xml/parsers/DocumentBuilderFactory;->newDocumentBuilder()Ljavax/xml/parsers/DocumentBuilder;
move-result-object v0
invoke-virtual {v0, p0}, Ljavax/xml/parsers/DocumentBuilder;->parse(Ljava/io/InputStream;)Lorg/w3c/dom/Document;
move-result-object v0
.line 4
invoke-virtual {p0}, Lcom/amazonaws/internal/SdkFilterInputStream;->close()V
return-object v0
.end method