url prefixes

This commit is contained in:
Konstantin Bulenkov
2011-02-28 15:33:30 +03:00
parent 800817474c
commit 91d08dae01
3 changed files with 19 additions and 4 deletions
@@ -141,17 +141,20 @@ public class LibrariesDownloadAssistant {
public static LibraryInfo[] getLibraryInfos(@Nullable Artifact version) {
if (version == null) return LibraryInfo.EMPTY_ARRAY;
final List<LibraryInfo> infos = convert(version.getItems());
final List<LibraryInfo> infos = convert(version.getUrlPrefix(), version.getItems());
return infos.toArray(new LibraryInfo[infos.size()]);
}
@NotNull
public static List<LibraryInfo> convert(@NotNull ArtifactItem[] jars) {
public static List<LibraryInfo> convert(final String urlPrefix, @NotNull ArtifactItem[] jars) {
return ContainerUtil.mapNotNull(jars, new Function<ArtifactItem, LibraryInfo>() {
@Override
public LibraryInfo fun(ArtifactItem artifactItem) {
final String downloadUrl = artifactItem.getUrl();
String downloadUrl = artifactItem.getUrl();
if (!downloadUrl.startsWith("http://") && urlPrefix != null) {
downloadUrl = urlPrefix + downloadUrl;
}
return new LibraryInfo(artifactItem.getName(), downloadUrl, downloadUrl, artifactItem.getMD5(), artifactItem.getRequiredClasses());
}
});
@@ -22,6 +22,9 @@ public class Artifact {
@Attribute("group")
public String myGroup;
@Attribute("urlPrefix")
public String myUrlPrefix;
public String getName() {
return myName;
}
@@ -38,6 +41,10 @@ public class Artifact {
return myVersion;
}
public String getUrlPrefix() {
return myUrlPrefix;
}
@Override
public String toString() {
return myVersion;
@@ -43,7 +43,12 @@ public class ArtifactItem {
public String myMD5;
public String getName() {
return myName;
return myName == null ? getNameFromUrl() : myName;
}
private String getNameFromUrl() {
final int index = myUrl.lastIndexOf('/');
return index == -1 ? myUrl : myUrl.substring(index + 1);
}
public String getUrl() {