static String asPath(Distribution distribution) { return new StringBuilder() .append(distribution.getPlatform().name()) .append("-") .append(distribution.getBitsize().name()) .append("--") .append(distribution.getVersion().asInDownloadPath()) .toString(); }
@Override public String getPath(Distribution distribution) { String downloadPath = distribution.getVersion().asInDownloadPath(); BitSize bs = distribution.getBitsize(); switch (distribution.getPlatform()) { case OS_X: return format("%s-x86%s.tar.gz", downloadPath, bs == B32 ? "" : "_64"); case Linux: return format("%s-%s.tar.gz", downloadPath, bs == B32 ? "i686" : "x86_64"); case Windows: return format("%s-win%s.zip", downloadPath, bs == B32 ? "32" : "x64"); default: throw new RuntimeException("Not implemented for: " + distribution.getPlatform()); } } }
private String getBitSize(Distribution distribution) { String sbitSize; switch (distribution.getBitsize()) { case B32: if (distribution.getVersion() instanceof IFeatureAwareVersion) { break; default: throw new IllegalArgumentException("Unknown BitSize " + distribution.getBitsize());
switch (distribution.getBitsize()) { case B32: switch (distribution.getPlatform()) { throw new IllegalArgumentException("Unknown BitSize " + distribution.getBitsize());
switch (distribution.getBitsize()) { case B32: switch (distribution.getPlatform()) { throw new IllegalArgumentException("Unknown BitSize " + distribution.getBitsize());
@Override public String getPath(Distribution distribution) { String versionStr = getVersionPart(distribution.getVersion()); if (distribution.getPlatform() == Platform.Solaris && isFeatureEnabled(distribution, Feature.NO_SOLARIS_SUPPORT)) { throw new IllegalArgumentException("Mongodb for solaris is not available anymore"); } ArchiveType archiveType = getArchiveType(distribution); String archiveTypeStr = getArchiveString(archiveType); String platformStr = getPlattformString(distribution); String bitSizeStr = getBitSize(distribution); if ((distribution.getBitsize()==BitSize.B64) && (distribution.getPlatform()==Platform.Windows)) { versionStr = (useWindows2008PlusVersion(distribution) ? "2008plus-": "") + (withSsl(distribution) ? "ssl-": "") + versionStr; } if (distribution.getPlatform() == Platform.OS_X && withSsl(distribution) ) { return platformStr + "/mongodb-" + platformStr + "-ssl-" + bitSizeStr + "-" + versionStr + "." + archiveTypeStr; } return platformStr + "/mongodb-" + platformStr + "-" + bitSizeStr + "-" + versionStr + "." + archiveTypeStr; }