package aQute.p2.provider; import java.io.InputStream; import java.net.URI; import java.util.ArrayList; import java.util.List; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import aQute.lib.strings.Strings; /** * <pre> * {@code * <?xml version='1.0' encoding='UTF-8'?> * <?compositeArtifactRepository version='1.0.0'?> * <repository name='"Eclipse Project Test Site"' * type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1.0.0'> * <properties size='1'> * <property name='p2.timestamp' value='1243822502440'/> * </properties> * <children size='2'> * <child location='childOne'/> * <child location='childTwo'/> * </children> * </repository>} </pre> * */ class CompositeArtifacts extends XML { final List<URI> uris = new ArrayList<>(); CompositeArtifacts(InputStream in) throws Exception { super(getDocument(in)); } void parse() throws Exception { NodeList nodes = getNodes("repository/children/child"); for (int i = 0; i < nodes.getLength(); i++) { Node child = nodes.item(i); String textContent = Strings.trim(getAttribute(child, "location")); URI uri = new URI(textContent); uris.add(uri); } } }