
com.clarolab.client.JenkinsViewClient Maven / Gradle / Ivy
package com.clarolab.client;
import com.clarolab.entities.JenkinsContainer;
import com.clarolab.entities.JenkinsMainView;
import com.clarolab.entities.JenkinsView;
import com.clarolab.utils.JenkinsConstants;
import lombok.Builder;
import java.util.List;
public class JenkinsViewClient extends JenkinsClient{
@Builder
private JenkinsViewClient(JenkinsApiClient jenkinsApiClient){
super(jenkinsApiClient);
}
public JenkinsContainer getContainer(String pathOrUrl) throws Exception {
pathOrUrl = pathOrUrl.replace(" ", "%20");
return getClient().get(JenkinsConstants.getApiEndpoint(pathOrUrl).toString(), JenkinsContainer.class);
}
public List getAllViewsFromRoot() throws Exception {
return getClient().get(JenkinsConstants.JENKINS_API_JSON_VIEW_TREE_ENDPOINT, JenkinsMainView.class)
.setHttpClient(getClient())
.getAllViews();
}
public JenkinsView getView(String pathOrViewName) throws Exception {
return getClient().get(String.format(JenkinsConstants.JENKINS_API_JSON_VIEW_ENDPOINT, normalizeViewPath(pathOrViewName)), JenkinsView.class);
}
private String normalizeViewPath(String path){
// if it is only the view name, return it
if(!path.contains("/"))
return path;
// if is a path, remove the first "view" sequence on path and return it
if(path.endsWith("/"))
path = new StringBuffer(path).deleteCharAt(path.length()-1).toString();
if(path.startsWith("view"))
return path.substring("view".length()+1);
if(path.startsWith("/view"))
return path.substring("/view".length()+1);
return path;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy