From 12302f01700408316fe03ee845af4b383af5199e Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sun, 12 Sep 2021 07:47:54 -0700 Subject: [PATCH 1/9] Simplify conditional expression --- .../plugins/GitLabRequireOrganizationMembershipACL.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java b/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java index 6a9a525..6b56308 100644 --- a/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java @@ -207,7 +207,7 @@ public boolean hasPermission(Authentication a, Permission permission) { private boolean currentUriPathStartsWith( String specificPath){ String requestUri = requestURI(); - return requestUri==null?false:requestUri.startsWith(specificPath); + return requestUri != null && requestUri.startsWith(specificPath); } private boolean currentUriPathEquals( String specificPath ) { From 948955e8980e09ed6680d7bd42376b08af18c9fb Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sun, 12 Sep 2021 07:48:51 -0700 Subject: [PATCH 2/9] Remove redundant throws --- src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java b/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java index 202f537..3852aed 100644 --- a/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java @@ -380,7 +380,7 @@ public HttpResponse doFinishLogin(StaplerRequest request) throws IOException { /** * Returns the proxy to be used when connecting to the given URI. */ - private HttpHost getProxy(HttpUriRequest method) throws URIException { + private HttpHost getProxy(HttpUriRequest method) { Jenkins jenkins = Jenkins.getInstance(); ProxyConfiguration proxy = jenkins.proxy; if (proxy == null) { From da0a597cac291fedf9f14edf93a685dbaa9bcc1f Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sun, 12 Sep 2021 07:50:59 -0700 Subject: [PATCH 3/9] Remove usages of deprecated methods --- .../jenkinsci/plugins/GitLabAuthenticationToken.java | 2 +- .../org/jenkinsci/plugins/GitLabLogoutAction.java | 6 ++---- .../GitLabRequireOrganizationMembershipACL.java | 2 +- .../org/jenkinsci/plugins/GitLabSecurityRealm.java | 11 +++++------ 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java b/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java index 1dd9b19..eab85c0 100755 --- a/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java @@ -108,7 +108,7 @@ public GitLabAuthenticationToken(String accessToken, String gitlabServer, TokenT this.userName = this.me.getUsername(); authorities.add(SecurityRealm.AUTHENTICATED_AUTHORITY); - Jenkins jenkins = Jenkins.getInstance(); + Jenkins jenkins = Jenkins.getInstanceOrNull(); if (jenkins != null && jenkins.getSecurityRealm() instanceof GitLabSecurityRealm) { if (myRealm == null) { myRealm = (GitLabSecurityRealm) jenkins.getSecurityRealm(); diff --git a/src/main/java/org/jenkinsci/plugins/GitLabLogoutAction.java b/src/main/java/org/jenkinsci/plugins/GitLabLogoutAction.java index 7f152b6..53085fa 100644 --- a/src/main/java/org/jenkinsci/plugins/GitLabLogoutAction.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabLogoutAction.java @@ -58,8 +58,7 @@ public String getUrlName() { @Restricted(NoExternalUse.class) // jelly only public String getGitLabURL() { - Jenkins j = Jenkins.getInstance(); - assert j != null; + Jenkins j = Jenkins.get(); SecurityRealm r = j.getSecurityRealm(); if (r instanceof GitLabSecurityRealm) { GitLabSecurityRealm glsr = (GitLabSecurityRealm) r; @@ -71,8 +70,7 @@ public String getGitLabURL() { @Restricted(NoExternalUse.class) // jelly only public String getGitLabText() { - Jenkins jenkins = Jenkins.getInstance(); - assert jenkins != null; + Jenkins jenkins = Jenkins.get(); SecurityRealm r = jenkins.getSecurityRealm(); if (r instanceof GitLabSecurityRealm) { return "GitLab"; diff --git a/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java b/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java index 6b56308..f74b1a8 100644 --- a/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java @@ -212,7 +212,7 @@ private boolean currentUriPathStartsWith( String specificPath){ private boolean currentUriPathEquals( String specificPath ) { String requestUri = requestURI(); - Jenkins jenkins = Jenkins.getInstance(); + Jenkins jenkins = Jenkins.getInstanceOrNull(); if (jenkins != null && requestUri != null) { String basePath = URI.create(jenkins.getRootUrl()).getPath(); return URI.create(requestUri).getPath().equals(basePath + specificPath); diff --git a/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java b/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java index 3852aed..a46372a 100644 --- a/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java @@ -274,10 +274,10 @@ public HttpResponse doCommenceLogin(StaplerRequest request, @QueryParameter Stri String redirectOnFinish; if (from != null && Util.isSafeToRedirectTo(from)) { redirectOnFinish = from; - } else if (referer != null && (referer.startsWith(Jenkins.getInstance().getRootUrl()) || Util.isSafeToRedirectTo(referer))) { + } else if (referer != null && (referer.startsWith(Jenkins.get().getRootUrl()) || Util.isSafeToRedirectTo(referer))) { redirectOnFinish = referer; } else { - redirectOnFinish = Jenkins.getInstance().getRootUrl(); + redirectOnFinish = Jenkins.get().getRootUrl(); } List parameters = new ArrayList<>(); @@ -290,7 +290,7 @@ public HttpResponse doCommenceLogin(StaplerRequest request, @QueryParameter Stri } private String buildRedirectUrl(StaplerRequest request, String referer) throws MalformedURLException { - URL currentUrl = new URL(Jenkins.getInstance().getRootUrl()); + URL currentUrl = new URL(Jenkins.get().getRootUrl()); List parameters = new ArrayList(); parameters.add(new BasicNameValuePair("state", referer)); @@ -381,7 +381,7 @@ public HttpResponse doFinishLogin(StaplerRequest request) throws IOException { * Returns the proxy to be used when connecting to the given URI. */ private HttpHost getProxy(HttpUriRequest method) { - Jenkins jenkins = Jenkins.getInstance(); + Jenkins jenkins = Jenkins.get(); ProxyConfiguration proxy = jenkins.proxy; if (proxy == null) { return null; // defensive check @@ -463,8 +463,7 @@ public String getLoginUrl() { protected String getPostLogOutUrl(StaplerRequest req, Authentication auth) { // if we just redirect to the root and anonymous does not have Overall read then we will start a login all over again. // we are actually anonymous here as the security context has been cleared - Jenkins jenkins = Jenkins.getInstance(); - assert jenkins != null; + Jenkins jenkins = Jenkins.get(); if (jenkins.hasPermission(Jenkins.READ)) { // TODO until JEP-227 is merged and core requirement is updated, this will prevent stackoverflow return req.getContextPath() + "/"; From 9f210bd3a803a049441d1e38944df1f2c60f6d40 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sun, 12 Sep 2021 08:16:25 -0700 Subject: [PATCH 4/9] Remove usages of assert keyword --- .../java/org/jenkinsci/plugins/GitLabAuthenticationToken.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java b/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java index eab85c0..3478a7d 100755 --- a/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java @@ -33,6 +33,7 @@ of this software and associated documentation files (the "Software"), to deal import java.util.Collections; import java.util.HashSet; import java.util.List; +import java.util.Objects; import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.logging.Level; @@ -101,8 +102,7 @@ public GitLabAuthenticationToken(String accessToken, String gitlabServer, TokenT this.accessToken = accessToken; this.gitLabAPI = GitlabAPI.connect(gitlabServer, accessToken, tokenType); - this.me = gitLabAPI.getUser(); - assert this.me != null; + this.me = Objects.requireNonNull(gitLabAPI.getUser()); setAuthenticated(true); From acaed835d12c7fa64bd89f131b573269b4605e64 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sun, 12 Sep 2021 08:19:11 -0700 Subject: [PATCH 5/9] Remove unnecessary unboxing --- .../java/org/jenkinsci/plugins/GitLabAuthenticationToken.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java b/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java index 3478a7d..b650861 100755 --- a/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java @@ -260,7 +260,7 @@ public boolean isPublicRepository(final String repositoryName) { } }); - return isPublic != null && isPublic.booleanValue(); + return isPublic != null && isPublic; } private static final Logger LOGGER = Logger.getLogger(GitLabAuthenticationToken.class.getName()); From 23e1a35692f7cd7cac657d219792c6092c9ff2b2 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sun, 12 Sep 2021 08:19:32 -0700 Subject: [PATCH 6/9] Use diamond operator where possible --- .../org/jenkinsci/plugins/GitLabAuthenticationToken.java | 6 +++--- .../org/jenkinsci/plugins/GitLabAuthorizationStrategy.java | 2 +- .../plugins/GitLabRequireOrganizationMembershipACL.java | 6 +++--- .../java/org/jenkinsci/plugins/GitLabSecurityRealm.java | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java b/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java index b650861..e860d83 100755 --- a/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java @@ -192,7 +192,7 @@ public boolean hasOrganizationPermission(String candidateName, String organizati Set v = userOrganizationCache.get(candidateName, unused -> { try { List groups = gitLabAPI.getGroups(); - Set groupsNames = new HashSet(); + Set groupsNames = new HashSet<>(); for (GitlabGroup group : groups) { groupsNames.add(group.getName()); } @@ -237,7 +237,7 @@ public Set myRepositories() { } public Set listToNames(Collection repositories) { - Set names = new HashSet(); + Set names = new HashSet<>(); for (GitlabProject repository : repositories) { // String ownerName = repository.getOwner().getUsername(); // String repoName = repository.getName(); @@ -314,7 +314,7 @@ public GitLabOAuthUserDetails getUserDetails(String username) { GitlabUser user = loadUser(username); if (user != null) { // FIXME to implement - List groups = new ArrayList(); + List groups = new ArrayList<>(); try { List gitLabGroups = gitLabAPI.getGroups(); for (GitlabGroup gitlabGroup : gitLabGroups) { diff --git a/src/main/java/org/jenkinsci/plugins/GitLabAuthorizationStrategy.java b/src/main/java/org/jenkinsci/plugins/GitLabAuthorizationStrategy.java index 741fe41..978879c 100644 --- a/src/main/java/org/jenkinsci/plugins/GitLabAuthorizationStrategy.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabAuthorizationStrategy.java @@ -109,7 +109,7 @@ public ACL getACL(Job job) { */ @Override public Collection getGroups() { - return new ArrayList(0); + return new ArrayList<>(0); } private Object readResolve() { diff --git a/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java b/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java index f74b1a8..75c0bb7 100644 --- a/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java @@ -314,7 +314,7 @@ public GitLabRequireOrganizationMembershipACL(String adminUserNames, this.allowCcTrayPermission = allowCcTrayPermission; this.allowAnonymousReadPermission = allowAnonymousReadPermission; this.allowAnonymousJobStatusPermission = allowAnonymousJobStatusPermission; - this.adminUserNameList = new LinkedList(); + this.adminUserNameList = new LinkedList<>(); String[] parts = adminUserNames.split(","); @@ -322,13 +322,13 @@ public GitLabRequireOrganizationMembershipACL(String adminUserNames, adminUserNameList.add(part.trim()); } - this.adminOrganizationNameList = new LinkedList(); + this.adminOrganizationNameList = new LinkedList<>(); parts= adminOrganizationNames.split(","); for (String part : parts) { this.adminOrganizationNameList.add(part); } - this.organizationNameList = new LinkedList(); + this.organizationNameList = new LinkedList<>(); parts = organizationNames.split(","); diff --git a/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java b/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java index a46372a..25756c9 100644 --- a/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java @@ -291,7 +291,7 @@ public HttpResponse doCommenceLogin(StaplerRequest request, @QueryParameter Stri private String buildRedirectUrl(StaplerRequest request, String referer) throws MalformedURLException { URL currentUrl = new URL(Jenkins.get().getRootUrl()); - List parameters = new ArrayList(); + List parameters = new ArrayList<>(); parameters.add(new BasicNameValuePair("state", referer)); URL redirect_uri = new URL(currentUrl.getProtocol(), currentUrl.getHost(), currentUrl.getPort(), @@ -314,7 +314,7 @@ public HttpResponse doFinishLogin(StaplerRequest request) throws IOException { String state = request.getParameter("state"); HttpPost httpPost = new HttpPost(gitlabWebUri + "/oauth/token"); - List parameters = new ArrayList(); + List parameters = new ArrayList<>(); parameters.add(new BasicNameValuePair("client_id", clientID)); parameters.add(new BasicNameValuePair("client_secret", clientSecret)); parameters.add(new BasicNameValuePair("code", code)); From 631d24bafd17b30a1896d6e2675dccbbb771a2e1 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sun, 12 Sep 2021 08:20:25 -0700 Subject: [PATCH 7/9] Replace iteration with bulk Collection.addAll call --- .../plugins/GitLabRequireOrganizationMembershipACL.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java b/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java index 75c0bb7..9b00eb9 100644 --- a/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabRequireOrganizationMembershipACL.java @@ -27,6 +27,7 @@ of this software and associated documentation files (the "Software"), to deal package org.jenkinsci.plugins; import java.net.URI; +import java.util.Arrays; import java.util.LinkedList; import java.util.List; import java.util.logging.Logger; @@ -324,9 +325,7 @@ public GitLabRequireOrganizationMembershipACL(String adminUserNames, this.adminOrganizationNameList = new LinkedList<>(); parts= adminOrganizationNames.split(","); - for (String part : parts) { - this.adminOrganizationNameList.add(part); - } + this.adminOrganizationNameList.addAll(Arrays.asList(parts)); this.organizationNameList = new LinkedList<>(); From 4f8a91901a92ea1aba654d8416687ed6361e9beb Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sun, 12 Sep 2021 08:22:43 -0700 Subject: [PATCH 8/9] Fix size of array passed to toArray call --- .../java/org/jenkinsci/plugins/GitLabAuthenticationToken.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java b/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java index e860d83..bed9e5c 100755 --- a/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabAuthenticationToken.java @@ -152,7 +152,7 @@ public GitlabAPI getGitLabAPI() { @Override public GrantedAuthority[] getAuthorities() { - return authorities.toArray(new GrantedAuthority[authorities.size()]); + return authorities.toArray(new GrantedAuthority[0]); } @Override @@ -323,7 +323,7 @@ public GitLabOAuthUserDetails getUserDetails(String username) { } catch (IOException e) { LOGGER.log(Level.FINE, e.getMessage(), e); } - return new GitLabOAuthUserDetails(user, groups.toArray(new GrantedAuthority[groups.size()])); + return new GitLabOAuthUserDetails(user, groups.toArray(new GrantedAuthority[0])); } return null; } From a3ad7ebaff3ca0fef63b994f54b4d1c887e600c9 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sun, 12 Sep 2021 08:24:28 -0700 Subject: [PATCH 9/9] Remove unused imports --- .../java/org/jenkinsci/plugins/GitLabOAuthGroupDetails.java | 2 -- src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java | 5 ----- 2 files changed, 7 deletions(-) diff --git a/src/main/java/org/jenkinsci/plugins/GitLabOAuthGroupDetails.java b/src/main/java/org/jenkinsci/plugins/GitLabOAuthGroupDetails.java index fc936a2..c959aba 100644 --- a/src/main/java/org/jenkinsci/plugins/GitLabOAuthGroupDetails.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabOAuthGroupDetails.java @@ -9,8 +9,6 @@ import hudson.security.GroupDetails; -import java.net.URI; - /** * Represent a group from Gitlab as a group in Jenkins terms. * diff --git a/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java b/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java index 25756c9..44fe824 100644 --- a/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java +++ b/src/main/java/org/jenkinsci/plugins/GitLabSecurityRealm.java @@ -28,9 +28,7 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; -import java.util.Optional; import java.util.logging.Logger; -import java.util.stream.Collectors; import jenkins.security.SecurityListener; import org.acegisecurity.Authentication; @@ -42,8 +40,6 @@ import org.acegisecurity.userdetails.UserDetails; import org.acegisecurity.userdetails.UserDetailsService; import org.acegisecurity.userdetails.UsernameNotFoundException; -import org.apache.commons.httpclient.URIException; -import org.apache.commons.httpclient.util.ParameterParser; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.http.HttpEntity; @@ -72,7 +68,6 @@ import org.springframework.dao.DataAccessException; import org.springframework.dao.DataRetrievalFailureException; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.thoughtworks.xstream.converters.ConversionException;