Mercurial > hg > mercurial
view mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialUrlSupport.java @ 678:fd0c1e91bd46
mercurial url support + some tests
author | Pavel Sher <pavel.sher@gmail.com> |
---|---|
date | Sun, 24 Nov 2013 17:22:43 +0100 |
parents | |
children | 31a1aca3305c |
line wrap: on
line source
package jetbrains.buildServer.buildTriggers.vcs.mercurial; import jetbrains.buildServer.vcs.*; import jetbrains.buildServer.vcs.impl.VcsRootImpl; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.HashMap; import java.util.Map; public class MercurialUrlSupport implements UrlSupport { private final MercurialVcsSupport myVcsSupport; public MercurialUrlSupport(@NotNull MercurialVcsSupport vcsSupport) { myVcsSupport = vcsSupport; } @Nullable public Map<String, String> convertToVcsRootProperties(@NotNull VcsUrl url) throws VcsException { String fetchUrl = url.getUrl(); boolean testRequired = true; MavenVcsUrl mavenUrl = url.asMavenVcsUrl(); if (mavenUrl != null && !"hg".equals(mavenUrl.getProviderSchema())) { return null; } if (mavenUrl != null) { fetchUrl = mavenUrl.getProviderSpecificPart(); testRequired = false; } Map<String, String> res = new HashMap<String, String>(myVcsSupport.getDefaultVcsProperties()); res.put(Constants.REPOSITORY_PROP, fetchUrl); Credentials credentials = url.getCredentials(); if (credentials != null) { res.put(Constants.USERNAME, credentials.getUsername()); res.put(Constants.PASSWORD, credentials.getPassword()); } if (testRequired) { try { TestConnectionSupport testConnectionSupport = myVcsSupport.getTestConnectionSupport(); assert testConnectionSupport != null; testConnectionSupport.testConnection(new VcsRootImpl(-1, res)); } catch (VcsException e) { return null; } } return res; } }