use of org.eclipse.che.plugin.svn.shared.ListResponse in project che by eclipse.
the class SubversionApi method list.
/**
* List remote subversion directory.
*
* @param request
* the request
*
* @return the response containing target children
*/
public ListResponse list(final ListRequest request) throws ApiException {
final List<String> args = defaultArgs();
args.add("list");
final CommandLineResult result = runCommand(null, args, new File(request.getProjectPath()), singletonList(request.getTargetPath()), request.getUsername(), request.getPassword());
return newDto(ListResponse.class).withCommand(result.getCommandLine().toString()).withOutput(result.getStdout()).withErrorOutput(result.getStderr());
}
use of org.eclipse.che.plugin.svn.shared.ListResponse in project che by eclipse.
the class SubversionApi method listTags.
/**
* Returns list of the tags of the project.
*
* @param request
* the request
*
* @see #list(ListRequest)
* @see #info(InfoRequest)
*/
public ListResponse listTags(final ListRequest request) throws ApiException {
InfoResponse info = info(newDto(InfoRequest.class).withProjectPath(request.getProjectPath()).withTarget(".").withPassword(request.getPassword()).withUsername(request.getUsername()));
final List<String> args = defaultArgs();
args.add("list");
String repositoryRoot = getRepositoryRoot(info.getOutput());
String projectRelativeUrl = getRelativeUrl(info.getOutput());
String projectUri = recognizeProjectUri(repositoryRoot, projectRelativeUrl);
String branchesPath = projectUri == null ? "^/tags" : (projectUri + "/tags");
final CommandLineResult result = runCommand(null, args, new File(request.getProjectPath()), singletonList(branchesPath), request.getUsername(), request.getPassword());
return newDto(ListResponse.class).withCommand(result.getCommandLine().toString()).withOutput(result.getStdout().stream().filter(s -> s.endsWith("/")).map(s -> s.substring(0, s.length() - 1)).collect(Collectors.toList())).withErrorOutput(result.getStderr());
}
use of org.eclipse.che.plugin.svn.shared.ListResponse in project che by eclipse.
the class SubversionApi method listBranches.
/**
* Returns list of the branches of the project.
*
* @param request
* the request
*
* @see #list(ListRequest)
* @see #info(InfoRequest)
*/
public ListResponse listBranches(final ListRequest request) throws ApiException {
InfoResponse info = info(newDto(InfoRequest.class).withProjectPath(request.getProjectPath()).withTarget(".").withPassword(request.getPassword()).withUsername(request.getUsername()));
final List<String> args = defaultArgs();
args.add("list");
String repositoryRoot = getRepositoryRoot(info.getOutput());
String projectRelativeUrl = getRelativeUrl(info.getOutput());
String projectUri = recognizeProjectUri(repositoryRoot, projectRelativeUrl);
String path = projectUri == null ? "^/branches" : (projectUri + "/branches");
final CommandLineResult result = runCommand(null, args, new File(request.getProjectPath()), singletonList(path), request.getUsername(), request.getPassword());
return newDto(ListResponse.class).withCommand(result.getCommandLine().toString()).withOutput(result.getStdout().stream().filter(s -> s.endsWith("/")).map(s -> s.substring(0, s.length() - 1)).collect(Collectors.toList())).withErrorOutput(result.getStderr());
}
use of org.eclipse.che.plugin.svn.shared.ListResponse in project che by eclipse.
the class SubversionApiITest method testListBranches.
@Test
public void testListBranches() throws Exception {
subversionApi.checkout(DtoFactory.getInstance().createDto(CheckoutRequest.class).withProjectPath(tmpDir.toFile().getAbsolutePath()).withUrl(repoUrl + "/trunk"));
ListResponse response = subversionApi.list(DtoFactory.getInstance().createDto(ListRequest.class).withProjectPath(tmpDir.toFile().getAbsolutePath()).withTargetPath("^/branches"));
List<String> output = response.getOutput();
assertEquals(output.size(), 1);
assertEquals(output.get(0), "2.0/");
response = subversionApi.listBranches(DtoFactory.getInstance().createDto(ListRequest.class).withProjectPath(tmpDir.toFile().getAbsolutePath()));
output = response.getOutput();
assertEquals(output.size(), 1);
assertEquals(output.get(0), "2.0");
}
use of org.eclipse.che.plugin.svn.shared.ListResponse in project che by eclipse.
the class SubversionApiITest method testListTags.
@Test
public void testListTags() throws Exception {
subversionApi.checkout(DtoFactory.getInstance().createDto(CheckoutRequest.class).withProjectPath(tmpDir.toFile().getAbsolutePath()).withUrl(repoUrl));
ListResponse response = subversionApi.list(DtoFactory.getInstance().createDto(ListRequest.class).withProjectPath(tmpDir.toFile().getAbsolutePath()).withTargetPath("^/tags"));
List<String> output = response.getOutput();
assertEquals(output.size(), 1);
assertEquals(output.get(0), "1.0/");
response = subversionApi.listTags(DtoFactory.getInstance().createDto(ListRequest.class).withProjectPath(tmpDir.toFile().getAbsolutePath()));
output = response.getOutput();
assertEquals(output.size(), 1);
assertEquals(output.get(0), "1.0");
}
Aggregations