From 6d1dc3b1ca077312674ef05cd88ca5a7858bffd2 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Mon, 3 Dec 2012 09:47:23 +0100 Subject: o Renaming NexusParser to SearchNGResponseParser. --- .../trygvis/esper/testing/nexus/NexusClient.java | 2 +- .../trygvis/esper/testing/nexus/NexusParser.java | 162 --------------------- .../testing/nexus/SearchNGResponseParser.java | 162 +++++++++++++++++++++ 3 files changed, 163 insertions(+), 163 deletions(-) delete mode 100755 src/main/java/io/trygvis/esper/testing/nexus/NexusParser.java create mode 100755 src/main/java/io/trygvis/esper/testing/nexus/SearchNGResponseParser.java (limited to 'src/main/java/io/trygvis') diff --git a/src/main/java/io/trygvis/esper/testing/nexus/NexusClient.java b/src/main/java/io/trygvis/esper/testing/nexus/NexusClient.java index 42ed245..9b2b899 100755 --- a/src/main/java/io/trygvis/esper/testing/nexus/NexusClient.java +++ b/src/main/java/io/trygvis/esper/testing/nexus/NexusClient.java @@ -2,7 +2,7 @@ package io.trygvis.esper.testing.nexus; import fj.data.*; import static fj.data.Option.*; -import static io.trygvis.esper.testing.nexus.NexusParser.*; +import static io.trygvis.esper.testing.nexus.SearchNGResponseParser.*; import org.apache.commons.io.*; import org.apache.commons.lang.*; import static org.codehaus.httpcache4j.HTTPMethod.*; diff --git a/src/main/java/io/trygvis/esper/testing/nexus/NexusParser.java b/src/main/java/io/trygvis/esper/testing/nexus/NexusParser.java deleted file mode 100755 index 6bfca99..0000000 --- a/src/main/java/io/trygvis/esper/testing/nexus/NexusParser.java +++ /dev/null @@ -1,162 +0,0 @@ -package io.trygvis.esper.testing.nexus; - -import com.google.common.base.*; -import com.google.common.collect.*; -import fj.data.*; -import static fj.data.Option.*; -import static org.apache.commons.lang.StringUtils.*; -import org.dom4j.*; -import org.dom4j.io.*; - -import javax.xml.stream.*; -import java.io.*; -import java.util.*; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -public class NexusParser { - public static final STAXEventReader xmlReader = new STAXEventReader(); - - public static ArtifactSearchResult parseDocument(InputStream is) throws XMLStreamException { - Document doc = xmlReader.readDocument(is); - - Option totalCount = fromNull(trimToNull(doc.getRootElement().elementText("totalCount"))). - bind(Option.parseInt); - if (totalCount.isNone()) { - throw new RuntimeException("Could not find required element "); - } - - boolean tooManyResults = "true".equals(trimToNull(doc.getRootElement().elementText("tooManyResults"))); - - List list = new ArrayList<>(); - for (Object o : doc.selectNodes("/searchNGResponse/data/artifact")) { - if (!(o instanceof Element)) { - continue; - } - - Element artifact = (Element) o; - - String groupId = trimToNull(artifact.elementText("groupId")); - String artifactId = trimToNull(artifact.elementText("artifactId")); - String version = trimToNull(artifact.elementText("version")); - - if (groupId == null || artifactId == null || version == null) { - continue; - } - - List artifactHitsList = new ArrayList<>(); - - @SuppressWarnings("unchecked") List artifactHits = (List) artifact.selectNodes("artifactHits/artifactHit"); - for (Element artifactHit : artifactHits) { - String repositoryId = trimToNull(artifactHit.elementText("repositoryId")); - if (repositoryId == null) { - continue; - } - List files = new ArrayList<>(); - - @SuppressWarnings("unchecked") List artifactLinks = artifactHit.selectNodes("artifactLinks/artifactLink"); - for (Element artifactLink : artifactLinks) { - Option classifier = Option.fromString(trimToEmpty(artifactLink.elementText("classifier"))); - String extension = trimToNull(artifactLink.elementText("extension")); - - if (extension == null) { - continue; - } - - files.add(new ArtifactFile(classifier, extension)); - } - - artifactHitsList.add(new ArtifactHits(repositoryId, files)); - } - - list.add(new ArtifactXml(new ArtifactId(groupId, artifactId, version), artifactHitsList)); - } - - return new ArtifactSearchResult(totalCount.some(), tooManyResults, list); - } -} - -class ArtifactSearchResult { - public final int totalCount; - public final boolean tooManyResults; - public final List artifacts; - - ArtifactSearchResult(int totalCount, boolean tooManyResults, List artifacts) { - this.totalCount = totalCount; - this.tooManyResults = tooManyResults; - this.artifacts = artifacts; - } - - public ArtifactSearchResult append(ArtifactSearchResult result) { - List list = Lists.newArrayList(artifacts); - list.addAll(result.artifacts); - return new ArtifactSearchResult(result.totalCount, result.tooManyResults, list); - } -} - -class ArtifactXml implements Comparable { - public final ArtifactId id; - public final List hits; - - ArtifactXml(ArtifactId id, List hits) { - this.id = id; - this.hits = hits; - } - - public static Predicate repositoryFilter(final String repositoryId) { - return new Predicate() { - public boolean apply(ArtifactXml artifact) { - return Iterables.any(artifact.hits, new Predicate() { - public boolean apply(ArtifactHits hits) { - return hits.repositoryId.equals(repositoryId); - } - }); - } - }; - } - - public Option flatten(String repositoryId) { - for (ArtifactHits hit : hits) { - if (hit.repositoryId.equals(repositoryId)) { - return some(new FlatArtifact(id, hit.files)); - } - } - - return none(); - } - - public int compareTo(ArtifactXml o) { - return id.compareTo(o.id); - } - - public Set repositories() { - Set repositories = new HashSet<>(10); - - for (ArtifactHits hit : hits) { - repositories.add(hit.repositoryId); - } - - return repositories; - } -} - -class FlatArtifact { - public final ArtifactId id; - public final List files; - - FlatArtifact(ArtifactId id, List files) { - this.id = id; - this.files = files; - } -} - -class ArtifactHits { - public final String repositoryId; - public final List files; - - ArtifactHits(String repositoryId, List files) { - this.repositoryId = repositoryId; - this.files = files; - } -} diff --git a/src/main/java/io/trygvis/esper/testing/nexus/SearchNGResponseParser.java b/src/main/java/io/trygvis/esper/testing/nexus/SearchNGResponseParser.java new file mode 100755 index 0000000..2a5515c --- /dev/null +++ b/src/main/java/io/trygvis/esper/testing/nexus/SearchNGResponseParser.java @@ -0,0 +1,162 @@ +package io.trygvis.esper.testing.nexus; + +import com.google.common.base.*; +import com.google.common.collect.*; +import fj.data.*; +import static fj.data.Option.*; +import static org.apache.commons.lang.StringUtils.*; +import org.dom4j.*; +import org.dom4j.io.*; + +import javax.xml.stream.*; +import java.io.*; +import java.util.*; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class SearchNGResponseParser { + public static final STAXEventReader xmlReader = new STAXEventReader(); + + public static ArtifactSearchResult parseDocument(InputStream is) throws XMLStreamException { + Document doc = xmlReader.readDocument(is); + + Option totalCount = fromNull(trimToNull(doc.getRootElement().elementText("totalCount"))). + bind(Option.parseInt); + if (totalCount.isNone()) { + throw new RuntimeException("Could not find required element "); + } + + boolean tooManyResults = "true".equals(trimToNull(doc.getRootElement().elementText("tooManyResults"))); + + List list = new ArrayList<>(); + for (Object o : doc.selectNodes("/searchNGResponse/data/artifact")) { + if (!(o instanceof Element)) { + continue; + } + + Element artifact = (Element) o; + + String groupId = trimToNull(artifact.elementText("groupId")); + String artifactId = trimToNull(artifact.elementText("artifactId")); + String version = trimToNull(artifact.elementText("version")); + + if (groupId == null || artifactId == null || version == null) { + continue; + } + + List artifactHitsList = new ArrayList<>(); + + @SuppressWarnings("unchecked") List artifactHits = (List) artifact.selectNodes("artifactHits/artifactHit"); + for (Element artifactHit : artifactHits) { + String repositoryId = trimToNull(artifactHit.elementText("repositoryId")); + if (repositoryId == null) { + continue; + } + List files = new ArrayList<>(); + + @SuppressWarnings("unchecked") List artifactLinks = artifactHit.selectNodes("artifactLinks/artifactLink"); + for (Element artifactLink : artifactLinks) { + Option classifier = Option.fromString(trimToEmpty(artifactLink.elementText("classifier"))); + String extension = trimToNull(artifactLink.elementText("extension")); + + if (extension == null) { + continue; + } + + files.add(new ArtifactFile(classifier, extension)); + } + + artifactHitsList.add(new ArtifactHits(repositoryId, files)); + } + + list.add(new ArtifactXml(new ArtifactId(groupId, artifactId, version), artifactHitsList)); + } + + return new ArtifactSearchResult(totalCount.some(), tooManyResults, list); + } +} + +class ArtifactSearchResult { + public final int totalCount; + public final boolean tooManyResults; + public final List artifacts; + + ArtifactSearchResult(int totalCount, boolean tooManyResults, List artifacts) { + this.totalCount = totalCount; + this.tooManyResults = tooManyResults; + this.artifacts = artifacts; + } + + public ArtifactSearchResult append(ArtifactSearchResult result) { + List list = Lists.newArrayList(artifacts); + list.addAll(result.artifacts); + return new ArtifactSearchResult(result.totalCount, result.tooManyResults, list); + } +} + +class ArtifactXml implements Comparable { + public final ArtifactId id; + public final List hits; + + ArtifactXml(ArtifactId id, List hits) { + this.id = id; + this.hits = hits; + } + + public static Predicate repositoryFilter(final String repositoryId) { + return new Predicate() { + public boolean apply(ArtifactXml artifact) { + return Iterables.any(artifact.hits, new Predicate() { + public boolean apply(ArtifactHits hits) { + return hits.repositoryId.equals(repositoryId); + } + }); + } + }; + } + + public Option flatten(String repositoryId) { + for (ArtifactHits hit : hits) { + if (hit.repositoryId.equals(repositoryId)) { + return some(new FlatArtifact(id, hit.files)); + } + } + + return none(); + } + + public int compareTo(ArtifactXml o) { + return id.compareTo(o.id); + } + + public Set repositories() { + Set repositories = new HashSet<>(10); + + for (ArtifactHits hit : hits) { + repositories.add(hit.repositoryId); + } + + return repositories; + } +} + +class FlatArtifact { + public final ArtifactId id; + public final List files; + + FlatArtifact(ArtifactId id, List files) { + this.id = id; + this.files = files; + } +} + +class ArtifactHits { + public final String repositoryId; + public final List files; + + ArtifactHits(String repositoryId, List files) { + this.repositoryId = repositoryId; + this.files = files; + } +} -- cgit v1.2.3