server-side/src/jetbrains/buildServer/commandline/MappingGenerator.java (39 lines of code) (raw):
package jetbrains.buildServer.commandline;
import java.util.ArrayList;
import java.util.List;
import jetbrains.buildServer.log.Loggers;
import jetbrains.buildServer.serverSide.SBuildType;
import jetbrains.buildServer.vcs.VcsException;
import jetbrains.buildServer.vcs.VcsManager;
import jetbrains.buildServer.vcs.VcsRootEntry;
import jetbrains.vcs.api.services.tc.MappingGeneratorService;
import jetbrains.vcs.api.services.tc.VcsMappingElement;
public class MappingGenerator {
private final VcsManager myVcsManager;
private final SBuildType myBuildType;
private final List<VcsMappingElement> myMappings = new ArrayList<VcsMappingElement>();
private VcsRootEntry myCurrentEntry;
public MappingGenerator(final VcsManager vcsManager, final SBuildType buildType) {
myVcsManager = vcsManager;
myBuildType = buildType;
}
public List<VcsMappingElement> getMappings() {
return myMappings;
}
public void generateVcsMapping() {
for (VcsRootEntry entry : myBuildType.getVcsRootInstanceEntries()) {
myCurrentEntry = entry;
generateMappingForEntry();
}
}
private void generateMappingForEntry() {
try {
final MappingGeneratorService mappingGenerator = myVcsManager.getVcsService(myCurrentEntry, MappingGeneratorService.class);
if (mappingGenerator != null) {
myMappings.addAll(mappingGenerator.generateMapping());
}
} catch (VcsException e) {
Loggers.SERVER.warn(e);
// TODO
}
}
}