Unverified Commit b404e8a7 authored by Gautier de Saint Martin Lacaze's avatar Gautier de Saint Martin Lacaze Committed by GitHub
Browse files

Merge pull request #947 from jmini/move-to-jakarta

Replace javax package by jakarta package
parents 4289c1f9 1995a3f2
...@@ -33,10 +33,10 @@ import java.util.Map; ...@@ -33,10 +33,10 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.Form; import jakarta.ws.rs.core.Form;
import javax.ws.rs.core.GenericType; import jakarta.ws.rs.core.GenericType;
import javax.ws.rs.core.MultivaluedMap; import jakarta.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.GitLabApi.ApiVersion; import org.gitlab4j.api.GitLabApi.ApiVersion;
import org.gitlab4j.api.models.AccessLevel; import org.gitlab4j.api.models.AccessLevel;
import org.gitlab4j.api.models.AccessRequest; import org.gitlab4j.api.models.AccessRequest;
......
...@@ -4,8 +4,8 @@ import java.util.List; ...@@ -4,8 +4,8 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.Form; import jakarta.ws.rs.core.Form;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.models.AccessLevel; import org.gitlab4j.api.models.AccessLevel;
import org.gitlab4j.api.models.AllowedTo; import org.gitlab4j.api.models.AllowedTo;
......
package org.gitlab4j.api;
import org.gitlab4j.api.models.Link;
import org.gitlab4j.api.models.ReleaseLinkParams;
import jakarta.ws.rs.core.Response;
import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;
/**
* This class provides an entry point to all the GitLab ReleaseLinks API calls.
* @see <a href="https://docs.gitlab.com/ce/api/releases/links.html">ReleaseLinks API at GitLab</a>
*/
public class ReleaseLinksApi extends AbstractApi {
public ReleaseLinksApi(GitLabApi gitLabApi) {
super(gitLabApi);
}
/**
* Get assets as Links from a Release.
*
* <pre><code>GitLab Endpoint: GET /projects/:id/releases/:tagName/assets/links</code></pre>
*
* @param projectIdOrPath id, path of the project, or a Project instance holding the project ID or path
* @param tagName the tag name that the release was created from
* @return the list of assets for the specified release
* @throws GitLabApiException if any exception occurs
*/
public List<Link> getLinks(Object projectIdOrPath, String tagName) throws GitLabApiException {
return (getLinks(projectIdOrPath, tagName, getDefaultPerPage()).all());
}
/**
* Get assets as Links from a Release.
*
* <pre><code>GitLab Endpoint: GET /projects/:id/releases/:tagName/assets/links</code></pre>
*
* @param projectIdOrPath id, path of the project, or a Project instance holding the project ID or path
* @param tagName the tag name that the release was created from
* @param itemsPerPage the number of Link instances that will be fetched per page
* @return the Pager of Link instances for the specified project ID
* @throws GitLabApiException if any exception occurs
*/
public Pager<Link> getLinks(Object projectIdOrPath, String tagName, int itemsPerPage) throws GitLabApiException {
return (new Pager<Link>(this, Link.class, itemsPerPage, null, "projects", getProjectIdOrPath(projectIdOrPath), "releases", urlEncode(tagName), "assets", "links"));
}
/**
* Get a Stream of assets as Links from a Release.
*
* <pre><code>GitLab Endpoint: GET /projects/:id/releases/:tagName/assets/links</code></pre>
*
* @param projectIdOrPath id, path of the project, or a Project instance holding the project ID or path
* @param tagName the tag name that the release was created from
* @return a Stream of Link instances for the specified project ID
* @throws GitLabApiException if any exception occurs
*/
public Stream<Link> getLinksStream(Object projectIdOrPath, String tagName) throws GitLabApiException {
return (getLinks(projectIdOrPath, tagName, getDefaultPerPage()).stream());
}
/**
* Get a Link for the given tag name and link id.
*
* <pre><code>GitLab Endpoint: GET /projects/:id/releases/:tagName/assets/links/:linkId</code></pre>
*
* @param projectIdOrPath id, path of the project, or a Project instance holding the project ID or path
* @param tagName the name of the tag to fetch the Link for
* @param linkId the id of the Link to fetch for
* @return a Link instance with info on the specified tag and id
* @throws GitLabApiException if any exception occurs
*/
public Link getLink(Object projectIdOrPath, String tagName, Integer linkId) throws GitLabApiException {
Response response = get(Response.Status.OK, null, "projects", getProjectIdOrPath(projectIdOrPath), "releases", urlEncode(tagName), "assets", "links", linkId);
return (response.readEntity(Link.class));
}
/**
* Get an Optional instance holding a Link instance for the specific tag name and link id.
*
* <pre><code>GitLab Endpoint: GET /projects/:id/releases/:tagName/assets/links/:linkId</code></pre>
*
* @param projectIdOrPath id, path of the project, or a Project instance holding the project ID or path
* @param tagName the name of the tag to fetch the Link for
* @param linkId the id of the Link to fetch for
* @return an Optional instance with the specified Link as the value
* @throws GitLabApiException if any exception occurs
*/
public Optional<Link> getOptionalLink(Object projectIdOrPath, String tagName, Integer linkId) throws GitLabApiException {
try {
return (Optional.ofNullable(getLink(projectIdOrPath, tagName, linkId)));
} catch (GitLabApiException glae) {
return (GitLabApi.createOptionalFromException(glae));
}
}
/**
* Create a Link. You need push access to the repository to create a Link.
*
* <pre><code>GitLab Endpoint: POST /projects/:id/releases/:tagName/assets/links</code></pre>
*
* @param projectIdOrPath id, path of the project, or a Project instance holding the project ID or path
* @param params a ReleaseLinksParams instance holding the parameters for the link
* @return a Link instance containing the newly created Link info
* @throws GitLabApiException if any exception occurs
*/
public Link createLink(Object projectIdOrPath, ReleaseLinkParams params) throws GitLabApiException {
String tagName = params.getTagName();
if (tagName == null || tagName.trim().isEmpty()) {
throw new RuntimeException("params.tagName cannot be null or empty");
}
String name = params.getName();
if (name == null || name.trim().isEmpty()) {
throw new RuntimeException("params.name cannot be null or empty");
}
String url = params.getUrl();
if (url == null || url.trim().isEmpty()) {
throw new RuntimeException("params.url cannot be null or empty");
}
Response response = post(Response.Status.CREATED, params,
"projects", getProjectIdOrPath(projectIdOrPath), "releases", urlEncode(tagName), "assets", "links");
return (response.readEntity(Link.class));
}
/**
* Updates the attributes of a given Link.
*
* <pre><code>GitLab Endpoint: PUT /projects/:id/releases/:tagName/assets/links/:linkId</code></pre>
*
* @param projectIdOrPath id, path of the project, or a Project instance holding the project ID or path
* @param linkId the id of the Link to fetch for
* @param params a ReleaseLinksParams instance holding the parameters for the Link
* @return a Link instance containing info on the updated Link
* @throws GitLabApiException if any exception occurs
*/
public Link updateLink(Object projectIdOrPath, Integer linkId, ReleaseLinkParams params) throws GitLabApiException {
String tagName = params.getTagName();
if (tagName == null || tagName.trim().isEmpty()) {
throw new RuntimeException("params.tagName cannot be null or empty");
}
if (linkId == null) {
throw new RuntimeException("linkId cannot be null");
}
Response response = put(Response.Status.OK, params,
"projects", getProjectIdOrPath(projectIdOrPath), "releases", urlEncode(tagName), "assets", "links", linkId);
return (response.readEntity(Link.class));
}
/**
* Delete a Link.
*
* <pre><code>GitLab Endpoint: DELETE /projects/:id/releases/:tagName/assets/links/:linkId</code></pre>
*
* @param projectIdOrPath the project in the form of an Integer(ID), String(path), or Project instance
* @param tagName the tag name that the link was created from
* @param linkId the id of the Link to delete
* @throws GitLabApiException if any exception occurs
*/
public void deleteLink(Object projectIdOrPath, String tagName, Integer linkId) throws GitLabApiException {
delete(Response.Status.OK, null, "projects", getProjectIdOrPath(projectIdOrPath), "releases", urlEncode(tagName), "assets", "links", linkId);
}
}
...@@ -4,7 +4,7 @@ import java.util.List; ...@@ -4,7 +4,7 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.models.Release; import org.gitlab4j.api.models.Release;
import org.gitlab4j.api.models.ReleaseParams; import org.gitlab4j.api.models.ReleaseParams;
......
...@@ -10,11 +10,11 @@ import java.util.List; ...@@ -10,11 +10,11 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.Form; import jakarta.ws.rs.core.Form;
import javax.ws.rs.core.GenericType; import jakarta.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap; import jakarta.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.GitLabApi.ApiVersion; import org.gitlab4j.api.GitLabApi.ApiVersion;
import org.gitlab4j.api.models.Branch; import org.gitlab4j.api.models.Branch;
......
...@@ -9,9 +9,9 @@ import java.util.List; ...@@ -9,9 +9,9 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.Form; import jakarta.ws.rs.core.Form;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.GitLabApi.ApiVersion; import org.gitlab4j.api.GitLabApi.ApiVersion;
import org.gitlab4j.api.models.Blame; import org.gitlab4j.api.models.Blame;
......
...@@ -4,7 +4,7 @@ import java.util.List; ...@@ -4,7 +4,7 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.models.LabelEvent; import org.gitlab4j.api.models.LabelEvent;
......
...@@ -3,8 +3,8 @@ package org.gitlab4j.api; ...@@ -3,8 +3,8 @@ package org.gitlab4j.api;
import java.util.List; import java.util.List;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.GenericType; import jakarta.ws.rs.core.GenericType;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.models.Job; import org.gitlab4j.api.models.Job;
import org.gitlab4j.api.models.JobStatus; import org.gitlab4j.api.models.JobStatus;
......
...@@ -10,8 +10,8 @@ import org.gitlab4j.api.services.JiraService; ...@@ -10,8 +10,8 @@ import org.gitlab4j.api.services.JiraService;
import org.gitlab4j.api.services.MattermostService; import org.gitlab4j.api.services.MattermostService;
import org.gitlab4j.api.services.SlackService; import org.gitlab4j.api.services.SlackService;
import javax.ws.rs.core.Form; import jakarta.ws.rs.core.Form;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
/** /**
* Access for the services API. Currently only the gitlab-ci, HipChatService, Slack, and JIRA service are supported. * Access for the services API. Currently only the gitlab-ci, HipChatService, Slack, and JIRA service are supported.
......
...@@ -4,8 +4,8 @@ import java.util.List; ...@@ -4,8 +4,8 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.GenericType; import jakarta.ws.rs.core.GenericType;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.models.Snippet; import org.gitlab4j.api.models.Snippet;
import org.gitlab4j.api.models.Visibility; import org.gitlab4j.api.models.Visibility;
......
...@@ -3,8 +3,8 @@ package org.gitlab4j.api; ...@@ -3,8 +3,8 @@ package org.gitlab4j.api;
import java.util.List; import java.util.List;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.GenericType; import jakarta.ws.rs.core.GenericType;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.GitLabApi.ApiVersion; import org.gitlab4j.api.GitLabApi.ApiVersion;
import org.gitlab4j.api.models.SystemHook; import org.gitlab4j.api.models.SystemHook;
......
...@@ -6,9 +6,9 @@ import java.util.List; ...@@ -6,9 +6,9 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.Form; import jakarta.ws.rs.core.Form;
import javax.ws.rs.core.GenericType; import jakarta.ws.rs.core.GenericType;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.GitLabApi.ApiVersion; import org.gitlab4j.api.GitLabApi.ApiVersion;
import org.gitlab4j.api.models.AccessLevel; import org.gitlab4j.api.models.AccessLevel;
......
...@@ -3,7 +3,7 @@ package org.gitlab4j.api; ...@@ -3,7 +3,7 @@ package org.gitlab4j.api;
import java.util.List; import java.util.List;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.models.Todo; import org.gitlab4j.api.models.Todo;
......
...@@ -7,9 +7,9 @@ import java.util.Objects; ...@@ -7,9 +7,9 @@ import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.Form; import jakarta.ws.rs.core.Form;
import javax.ws.rs.core.GenericType; import jakarta.ws.rs.core.GenericType;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.GitLabApi.ApiVersion; import org.gitlab4j.api.GitLabApi.ApiVersion;
import org.gitlab4j.api.models.CustomAttribute; import org.gitlab4j.api.models.CustomAttribute;
......
...@@ -30,8 +30,8 @@ import java.util.List; ...@@ -30,8 +30,8 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.ws.rs.core.GenericType; import jakarta.ws.rs.core.GenericType;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import org.gitlab4j.api.models.WikiAttachment; import org.gitlab4j.api.models.WikiAttachment;
import org.gitlab4j.api.models.WikiPage; import org.gitlab4j.api.models.WikiPage;
......
...@@ -29,6 +29,7 @@ public class Job { ...@@ -29,6 +29,7 @@ public class Job {
private Boolean manual; private Boolean manual;
private Boolean allowFailure; private Boolean allowFailure;
private Float duration; private Float duration;
private Float queuedDuration;
private Project project; private Project project;
public Long getId() { public Long getId() {
...@@ -206,11 +207,18 @@ public class Job { ...@@ -206,11 +207,18 @@ public class Job {
public void setDuration(Float duration) { public void setDuration(Float duration) {
this.duration = duration; this.duration = duration;
} }
public Float getQueuedDuration() {
return queuedDuration;
}
public void setQueuedDuration(Float queuedDuration) {
this.queuedDuration = queuedDuration;
}
public Project getProject() { public Project getProject() {
return project; return project;
} }
public void setProject(Project project) { public void setProject(Project project) {
this.project = project; this.project = project;
} }
...@@ -304,12 +312,16 @@ public class Job { ...@@ -304,12 +312,16 @@ public class Job {
this.allowFailure = allowFailure; this.allowFailure = allowFailure;
return this; return this;
} }
public Job withDuration(Float duration) { public Job withDuration(Float duration) {
this.duration = duration; this.duration = duration;
return this; return this;
} }
public Job withQueuedDuration(Float queuedDuration) {
this.queuedDuration = queuedDuration;
return this;
}
public Job withProject(Project project) { public Job withProject(Project project) {
this.project = project; this.project = project;
return this; return this;
......
package org.gitlab4j.api.models;
import org.gitlab4j.api.utils.JacksonJson;
import java.util.Date;
import java.util.List;
public class Link {
private Integer id;
private String name;
private String url;
/**
* @deprecated deprecated in GitLab 15.9, will be removed in GitLab 16.0.
*/
@Deprecated
private Boolean external;
private String linkType;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
/**
* @deprecated deprecated in GitLab 15.9, will be removed in GitLab 16.0.
*/
@Deprecated
public Boolean getExternal() {
return external;
}
/**
* @deprecated deprecated in GitLab 15.9, will be removed in GitLab 16.0.
*/
@Deprecated
public void setExternal(Boolean external) {
this.external = external;
}
public String getLinkType() {
return linkType;
}
public void setLinkType(String linkType) {
this.linkType = linkType;
}
@Override
public String toString() {
return (JacksonJson.toJsonString(this));
}
}
...@@ -22,6 +22,7 @@ public class Pipeline { ...@@ -22,6 +22,7 @@ public class Pipeline {
private Date committedAt; private Date committedAt;
private String coverage; private String coverage;
private Integer duration; private Integer duration;
private Float queuedDuration;
private String webUrl; private String webUrl;
private DetailedStatus detailedStatus; private DetailedStatus detailedStatus;
...@@ -225,6 +226,14 @@ public class Pipeline { ...@@ -225,6 +226,14 @@ public class Pipeline {
this.duration = duration; this.duration = duration;
} }
public Float getQueuedDuration() {
return queuedDuration;
}
public void setQueuedDuration(Float queuedDuration) {
this.queuedDuration = queuedDuration;
}
public String getWebUrl() { public String getWebUrl() {
return webUrl; return webUrl;
} }
......
package org.gitlab4j.api.models;
import org.gitlab4j.api.utils.JacksonJson;
import java.util.Date;
import java.util.List;
public class ReleaseLinkParams {
private String name;
private String tagName;
private String url;
private String filepath;
private String linkType;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ReleaseLinkParams withName(String name) {
this.name = name;
return (this);
}
public String getTagName() {
return tagName;
}
public void setTagName(String tagName) {
this.tagName = tagName;
}
public ReleaseLinkParams withTagName(String tagName) {
this.tagName = tagName;
return (this);
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public ReleaseLinkParams withUrl(String url) {
this.url = url;
return (this);
}
public String getFilepath() {
return filepath;
}
public void setFilepath(String filepath) {
this.filepath = filepath;
}
public ReleaseLinkParams withFilepath(String filepath) {
this.filepath = filepath;
return (this);
}
public String getLinkType() {
return linkType;
}
public void setLinkType(String linkType) {
this.linkType = linkType;
}
public ReleaseLinkParams withLinkType(String linkType) {
this.linkType = linkType;
return (this);
}
@Override
public String toString() {
return (JacksonJson.toJsonString(this));
}
}
...@@ -7,7 +7,7 @@ import java.util.concurrent.CopyOnWriteArrayList; ...@@ -7,7 +7,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import org.gitlab4j.api.GitLabApiException; import org.gitlab4j.api.GitLabApiException;
import org.gitlab4j.api.HookManager; import org.gitlab4j.api.HookManager;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment