public class org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer extends java.lang.Object implements org.apache.maven.plugins.shade.resource.ResourceTransformer
{
private static final java.lang.String AXIOM_XML;
private org.w3c.dom.Document mergedAxiomXml;
public void <init>()
{
org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer v;
v := @this: org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public boolean canTransformResource(java.lang.String)
{
java.lang.String v;
org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer v;
boolean v;
v := @this: org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("META-INF/axiom.xml");
return v;
}
public boolean hasTransformedResource()
{
org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer v;
org.w3c.dom.Document v;
boolean v;
v := @this: org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer;
v = v.<org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer: org.w3c.dom.Document mergedAxiomXml>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void processResource(java.lang.String, java.io.InputStream, java.util.List) throws java.io.IOException
{
org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer v;
org.w3c.dom.Document v, v, v, v;
org.w3c.dom.Node v, v, v;
int v, v;
java.lang.String v, v, v;
boolean v, v;
org.w3c.dom.NodeList v;
java.util.Iterator v;
java.util.List v;
org.w3c.dom.Element v, v;
java.lang.Object v;
java.io.InputStream v;
v := @this: org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer;
v := @parameter: java.lang.String;
v := @parameter: java.io.InputStream;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.axiom.buildutils.shade.axiomxml.DOMUtils: org.w3c.dom.Document parse(java.io.InputStream)>(v);
virtualinvoke v.<java.io.InputStream: void close()>();
v = interfaceinvoke v.<org.w3c.dom.Document: org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String,java.lang.String)>("http://ws.apache.org/axiom/", "implementation");
v = 0;
label:
v = interfaceinvoke v.<org.w3c.dom.NodeList: int getLength()>();
if v >= v goto label;
v = interfaceinvoke v.<org.w3c.dom.NodeList: org.w3c.dom.Node item(int)>(v);
v = interfaceinvoke v.<org.w3c.dom.Element: java.lang.String getAttributeNS(java.lang.String,java.lang.String)>(null, "loader");
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.apache.maven.plugins.shade.relocation.Relocator: boolean canRelocateClass(java.lang.String)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.maven.plugins.shade.relocation.Relocator: java.lang.String relocateClass(java.lang.String)>(v);
interfaceinvoke v.<org.w3c.dom.Element: void setAttributeNS(java.lang.String,java.lang.String,java.lang.String)>(null, "loader", v);
label:
v = v + 1;
goto label;
label:
v = v.<org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer: org.w3c.dom.Document mergedAxiomXml>;
if v != null goto label;
v.<org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer: org.w3c.dom.Document mergedAxiomXml> = v;
goto label;
label:
v = interfaceinvoke v.<org.w3c.dom.Document: org.w3c.dom.Element getDocumentElement()>();
v = interfaceinvoke v.<org.w3c.dom.Element: org.w3c.dom.Node getFirstChild()>();
label:
if v == null goto label;
v = v.<org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer: org.w3c.dom.Document mergedAxiomXml>;
v = interfaceinvoke v.<org.w3c.dom.Document: org.w3c.dom.Element getDocumentElement()>();
v = v.<org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer: org.w3c.dom.Document mergedAxiomXml>;
v = interfaceinvoke v.<org.w3c.dom.Document: org.w3c.dom.Node importNode(org.w3c.dom.Node,boolean)>(v, 1);
interfaceinvoke v.<org.w3c.dom.Element: org.w3c.dom.Node appendChild(org.w3c.dom.Node)>(v);
v = interfaceinvoke v.<org.w3c.dom.Node: org.w3c.dom.Node getNextSibling()>();
goto label;
label:
return;
}
public void modifyOutputStream(java.util.jar.JarOutputStream) throws java.io.IOException
{
java.util.jar.JarEntry v;
org.w3c.dom.Document v;
java.util.jar.JarOutputStream v;
org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer v;
v := @this: org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer;
v := @parameter: java.util.jar.JarOutputStream;
v = new java.util.jar.JarEntry;
specialinvoke v.<java.util.jar.JarEntry: void <init>(java.lang.String)>("META-INF/axiom.xml");
virtualinvoke v.<java.util.jar.JarOutputStream: void putNextEntry(java.util.zip.ZipEntry)>(v);
v = v.<org.apache.axiom.buildutils.shade.axiomxml.AxiomXmlResourceTransformer: org.w3c.dom.Document mergedAxiomXml>;
staticinvoke <org.apache.axiom.buildutils.shade.axiomxml.DOMUtils: void serialize(org.w3c.dom.Document,java.io.OutputStream)>(v, v);
return;
}
}