package com.perforce.spark.artifact.maven;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.SortedMap;
import java.util.TreeMap;
import com.perforce.spark.artifact.ResultInterface;
import com.perforce.spark.search.ResultDetailed;
public class MavenResult implements ResultInterface {
private SortedMap<String, String> row = new TreeMap<>();
private String link = null;
public MavenResult(ResultDetailed result) {
// process depot path for Maven fields
String depot = result.getFilesModel().getDepotFile();
List<String> parts = new ArrayList<>();
parts.addAll(Arrays.asList(depot.split("/")));
parts.remove(0);
parts.remove(0);
String file = parts.remove(parts.size() - 1);
String path = String.join("/", parts);
String version = parts.remove(parts.size() - 1);
String repoID = "";
if (parts.size() > 0) {
repoID = parts.remove(0);
}
String groupID = String.join(".", parts);
// skip Maven meta-files
if ("_remote.repositories".equals(file)) {
return;
}
if ("repository.xml".equals(file)) {
return;
}
// add attributes
row.put("ArtifactID", getID(file, "-" + version));
row.put("GroupID", groupID);
row.put("RepoID", repoID);
row.put("Version", version);
this.link = "/browse/" + path;
}
@Override
public String getLink() {
return link;
}
@Override
public SortedMap<String, String> getRow() {
return row;
}
@Override
public boolean equals(Object o) {
if (o instanceof MavenResult) {
MavenResult r = (MavenResult) o;
if (link.equals(r.getLink())) {
return true;
}
}
return false;
}
@Override
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append(row.get("ArtifactID"));
sb.append(row.get("GroupID"));
sb.append(row.get("Version"));
return sb.toString();
}
private String getID(String file, String version) {
if (file.contains(version)) {
int p = file.indexOf(version);
return file.substring(0, p);
} else {
return file;
}
}
}
# |
Change |
User |
Description |
Committed |
|
#1
|
15801 |
Paul Allen |
Experimental copy of PAM. |
|
|
//guest/paul_allen/p4am/src/main/java/com/perforce/spark/artifact/maven/MavenResult.java |
#2
|
15233 |
Paul Allen |
Show repoID in search and return 404 (not 401) in view. |
|
|
#1
|
15181 |
Paul Allen |
Maven/Generic search results. |
|
|