From fa87d571959a40167b8aee9beb536a3db59df55b Mon Sep 17 00:00:00 2001 From: mcmics Date: Tue, 3 Oct 2023 12:43:43 +0200 Subject: [PATCH] - remove usage of org.apache.commons.lang.StringUtils (except in library jenkins-client-0.3.8.jar --- .../tools/jenkins/JenkinsAppSettings.java | 4 ++-- .../tools/jenkins/JenkinsSettings.java | 9 ++++---- .../jenkins/logic/ConfigurationValidator.java | 8 +++---- .../jenkins/logic/JenkinsJsonParser.java | 23 +++++++++++-------- .../tools/jenkins/logic/RequestManager.java | 6 ++--- .../tools/jenkins/logic/RssParser.java | 11 +++++---- .../tools/jenkins/logic/UrlMapperService.java | 6 ++--- .../codinjutsu/tools/jenkins/model/Build.java | 4 ++-- .../tools/jenkins/model/Jenkins.java | 4 ++-- .../codinjutsu/tools/jenkins/model/Job.java | 6 ++--- .../tools/jenkins/model/JobParameterType.java | 4 ++-- .../jenkins/security/BasicSecurityClient.java | 4 ++-- .../security/DefaultSecurityClient.java | 6 ++--- .../jenkins/settings/ServerComponent.java | 8 +++---- .../jenkins/settings/ServerConfigurable.java | 15 ++++++------ .../tools/jenkins/util/JobUtil.java | 6 ++--- .../tools/jenkins/util/StringUtil.java | 17 ++++++++++++++ .../tools/jenkins/view/BrowserPanel.java | 4 ++-- .../tools/jenkins/view/BuildParamDialog.java | 4 ++-- .../jenkins/view/JenkinsTreeRenderer.java | 8 +++---- .../jenkins/view/action/GotoServerAction.java | 4 ++-- .../view/extension/JobParameterRenderer.java | 4 ++-- .../view/extension/JobParameterRenderers.java | 16 ++++++------- .../view/parameter/PasswordComponent.java | 3 +-- .../jenkins/view/validator/FileValidator.java | 4 ++-- .../view/validator/NotNullValidator.java | 4 ++-- .../validator/PositiveIntegerValidator.java | 4 ++-- .../StrictPositiveIntegerValidator.java | 4 ++-- .../jenkins/view/validator/UrlValidator.java | 6 ++--- .../view/parameter/PasswordComponentTest.java | 3 +-- 30 files changed, 116 insertions(+), 93 deletions(-) create mode 100644 src/main/java/org/codinjutsu/tools/jenkins/util/StringUtil.java diff --git a/src/main/java/org/codinjutsu/tools/jenkins/JenkinsAppSettings.java b/src/main/java/org/codinjutsu/tools/jenkins/JenkinsAppSettings.java index 8cc229b0..7150eb65 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/JenkinsAppSettings.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/JenkinsAppSettings.java @@ -20,9 +20,9 @@ import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.xmlb.XmlSerializerUtil; import lombok.Data; -import org.apache.commons.lang.StringUtils; import org.codinjutsu.tools.jenkins.model.Build; import org.codinjutsu.tools.jenkins.model.BuildStatusEnum; import org.jetbrains.annotations.NotNull; @@ -80,7 +80,7 @@ public void setServerUrl(String serverUrl) { @Deprecated(since = "0.13.18") public boolean isServerUrlSet() { final String serverUrl = myState.getServerUrl(); - return StringUtils.isNotEmpty(serverUrl) && !DUMMY_JENKINS_SERVER_URL.equals(serverUrl); + return StringUtil.isNotEmpty(serverUrl) && !DUMMY_JENKINS_SERVER_URL.equals(serverUrl); } public int getBuildDelay() { diff --git a/src/main/java/org/codinjutsu/tools/jenkins/JenkinsSettings.java b/src/main/java/org/codinjutsu/tools/jenkins/JenkinsSettings.java index 28309b26..19ff4bd1 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/JenkinsSettings.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/JenkinsSettings.java @@ -23,11 +23,11 @@ import com.intellij.openapi.components.Storage; import com.intellij.openapi.components.StoragePathMacros; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.xmlb.XmlSerializerUtil; import com.intellij.util.xmlb.annotations.Attribute; import com.intellij.util.xmlb.annotations.Tag; import lombok.*; -import org.apache.commons.lang.StringUtils; import org.codinjutsu.tools.jenkins.model.Job; import org.codinjutsu.tools.jenkins.security.JenkinsVersion; import org.codinjutsu.tools.jenkins.util.JobUtil; @@ -89,12 +89,13 @@ public void setCrumbData(String crumbData) { public String getPassword() { String password = PasswordSafe.getInstance().getPassword(getPasswordCredentialAttributes()); - return StringUtils.defaultIfEmpty(password, ""); + return StringUtil.defaultIfEmpty(password, ""); } @Deprecated public void setPassword(String password) { - PasswordSafe.getInstance().setPassword(getPasswordCredentialAttributes(), StringUtils.isNotBlank(password) ? password : ""); + PasswordSafe.getInstance().setPassword(getPasswordCredentialAttributes(), + org.codinjutsu.tools.jenkins.util.StringUtil.isNotBlank(password) ? password : ""); } @NotNull @@ -135,7 +136,7 @@ public void setLastSelectedView(String viewName) { } public boolean isSecurityMode() { - return StringUtils.isNotBlank(getUsername()); + return org.codinjutsu.tools.jenkins.util.StringUtil.isNotBlank(getUsername()); } public JenkinsVersion getVersion() { diff --git a/src/main/java/org/codinjutsu/tools/jenkins/logic/ConfigurationValidator.java b/src/main/java/org/codinjutsu/tools/jenkins/logic/ConfigurationValidator.java index 94d2509b..9d67fb25 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/logic/ConfigurationValidator.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/logic/ConfigurationValidator.java @@ -2,10 +2,10 @@ import com.intellij.openapi.components.Service; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.text.StringUtil; import lombok.Builder; import lombok.Singular; import lombok.Value; -import org.apache.commons.lang.StringUtils; import org.jetbrains.annotations.NotNull; import java.net.URL; @@ -56,7 +56,7 @@ private void validatePort(@NotNull ValidationResult.ValidationResultBuilder vali private void validateHost(@NotNull ValidationResult.ValidationResultBuilder validationResult, @NotNull URL configuration, @NotNull URL jenkins, @NotNull URL configureUrl) { - if (!StringUtils.equals(configuration.getHost(), jenkins.getHost())) { + if (!StringUtil.equals(configuration.getHost(), jenkins.getHost())) { validationResult.error(String.format("Jenkins Server Host Mismatch: expected='%s' - actual='%s'. Look at the value of 'Jenkins URL' at %s", configuration.getHost(), jenkins.getHost(), configureUrl)); } @@ -64,7 +64,7 @@ private void validateHost(@NotNull ValidationResult.ValidationResultBuilder vali private void validateProtocol(@NotNull ValidationResult.ValidationResultBuilder validationResult, @NotNull URL configuration, @NotNull URL jenkins, @NotNull URL configureUrl) { - if (!StringUtils.equals(configuration.getProtocol(), jenkins.getProtocol())) { + if (!StringUtil.equals(configuration.getProtocol(), jenkins.getProtocol())) { validationResult.error(String.format("Jenkins Server Protocol Mismatch: expected='%s' - actual='%s'. Look at the value of 'Jenkins URL' at %s", configuration.getProtocol(), jenkins.getProtocol(), configureUrl)); } @@ -79,7 +79,7 @@ private void validatePath(@NotNull ValidationResult.ValidationResultBuilder vali } private boolean isSameUrlPath(@NotNull String leftUrl, @NotNull String rightUrl) { - return StringUtils.equals(urlBuilder.removeTrailingSlash(leftUrl), urlBuilder.removeTrailingSlash(rightUrl)); + return StringUtil.equals(urlBuilder.removeTrailingSlash(leftUrl), urlBuilder.removeTrailingSlash(rightUrl)); } @NotNull diff --git a/src/main/java/org/codinjutsu/tools/jenkins/logic/JenkinsJsonParser.java b/src/main/java/org/codinjutsu/tools/jenkins/logic/JenkinsJsonParser.java index c2a57858..ea9704ce 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/logic/JenkinsJsonParser.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/logic/JenkinsJsonParser.java @@ -21,7 +21,7 @@ import com.github.cliftonlabs.json_simple.JsonObject; import com.github.cliftonlabs.json_simple.Jsoner; import com.intellij.openapi.diagnostic.Logger; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.apache.commons.lang3.ObjectUtils; import org.codinjutsu.tools.jenkins.exception.JenkinsPluginRuntimeException; import org.codinjutsu.tools.jenkins.model.*; @@ -74,7 +74,8 @@ public Jenkins createWorkspace(String jsonData) { final JsonObject jsonObject = parseJson(jsonData); final Optional primaryView = Optional.ofNullable((JsonObject) jsonObject.get(PRIMARY_VIEW)).map(this::getView); - final String description = getNonNullStringOrDefaultForNull(jsonObject, SERVER_DESCRIPTION, StringUtils.EMPTY); + final String description = getNonNullStringOrDefaultForNull(jsonObject, SERVER_DESCRIPTION, + org.codinjutsu.tools.jenkins.util.StringUtil.EMPTY); final String jenkinsUrl = urlMapper.apply(getServerUrl(jsonObject)); final Jenkins jenkins = new Jenkins(description, jenkinsUrl); primaryView.ifPresent(jenkins::setPrimaryView); @@ -371,7 +372,8 @@ private JobParameter getJobParameter(JsonObject parameterObj) { jobParameterBuilder.description(description); } - String type = parameterObj.getStringOrDefault(createJsonKey(PARAMETER_TYPE, StringUtils.EMPTY)); + String type = parameterObj.getStringOrDefault(createJsonKey(PARAMETER_TYPE, + org.codinjutsu.tools.jenkins.util.StringUtil.EMPTY)); String parameterClass = parameterObj.getString(createJsonKey(CLASS)); final JobParameterType jobParameterType = JobParameterType.getType(type, parameterClass); jobParameterBuilder.jobParameterType(jobParameterType); @@ -404,7 +406,7 @@ private Job.Health getHealth(JsonArray healths) { JsonObject healthObject = (JsonObject) healths.get(0); String description = healthObject.getString(createJsonKey(JOB_HEALTH_DESCRIPTION)); String healthLevel = healthObject.getString(createJsonKey(JOB_HEALTH_ICON)); - if (StringUtils.isNotEmpty(healthLevel)) { + if (StringUtil.isNotEmpty(healthLevel)) { if (healthLevel.endsWith(".png")) healthLevel = healthLevel.substring(0, healthLevel.lastIndexOf(".png")); else { @@ -413,7 +415,7 @@ private Job.Health getHealth(JsonArray healths) { } else { healthLevel = null; } - if (StringUtils.isEmpty(healthLevel)) { + if (StringUtil.isEmpty(healthLevel)) { return null; } else { return new Job.Health(healthLevel, description); @@ -499,14 +501,16 @@ public List getFillValueItems(String fillValueItemsData) { private @NotNull String getServerUrl(JsonObject jsonObject) { final Optional primaryView = Optional.ofNullable((JsonObject) jsonObject.get(PRIMARY_VIEW)).map(this::getView); - final String primaryViewUrl = primaryView.map(View::getUrl).orElse(StringUtils.EMPTY); + final String primaryViewUrl = primaryView.map(View::getUrl) + .orElse(org.codinjutsu.tools.jenkins.util.StringUtil.EMPTY); return getNonNullStringOrDefaultForNull(jsonObject, SERVER_URL, primaryViewUrl); } @NotNull private Computer getComputer(JsonObject computerJson) { final String displayName = computerJson.getString(createJsonKey("displayName")); - final String description = computerJson.getStringOrDefault(createJsonKey("description", StringUtils.EMPTY)); + final String description = computerJson.getStringOrDefault(createJsonKey("description", + org.codinjutsu.tools.jenkins.util.StringUtil.EMPTY)); final boolean offline = computerJson.getBooleanOrDefault(createJsonKey("offline", false)); final JsonArray labelsJson = getArray(computerJson, "assignedLabels"); final Computer.ComputerBuilder computerBuilder = Computer.builder() @@ -537,7 +541,7 @@ private List getComputerLabels(JsonArray labelsJson) { private void checkJsonDataAndThrowExceptionIfNecessary(String jsonData) { - if (StringUtils.isEmpty(jsonData) || "{}".equals(jsonData)) { + if (StringUtil.isEmpty(jsonData) || "{}".equals(jsonData)) { final String message = "Empty JSON data!"; LOG.error(message); throw new JenkinsPluginRuntimeException(message); @@ -555,6 +559,7 @@ private void checkJsonDataAndThrowExceptionIfNecessary(String jsonData) { } private @NotNull String getStringNonNull(JsonObject jsonObject, @NotNull String key) { - return Optional.ofNullable(jsonObject.getString(createJsonKey(key))).orElse(StringUtils.EMPTY); + return Optional.ofNullable(jsonObject.getString(createJsonKey(key))) + .orElse(org.codinjutsu.tools.jenkins.util.StringUtil.EMPTY); } } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/logic/RequestManager.java b/src/main/java/org/codinjutsu/tools/jenkins/logic/RequestManager.java index 31cf6748..bb8828be 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/logic/RequestManager.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/logic/RequestManager.java @@ -21,11 +21,11 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.offbytwo.jenkins.JenkinsServer; import com.offbytwo.jenkins.helper.BuildConsoleStreamListener; import com.offbytwo.jenkins.model.*; -import org.apache.commons.lang.StringUtils; import org.codinjutsu.tools.jenkins.JenkinsAppSettings; import org.codinjutsu.tools.jenkins.JenkinsSettings; import org.codinjutsu.tools.jenkins.exception.*; @@ -90,7 +90,7 @@ public Jenkins loadJenkinsWorkspace(JenkinsAppSettings configuration, JenkinsSet var jenkinsWorkspaceData = securityClient.execute(url); final var serverUrl = configuration.getServerUrl(); final var configuredJenkinsUrl = Optional.of(jenkinsSettings.getJenkinsUrl()) - .filter(StringUtils::isNotEmpty) + .filter(StringUtil::isNotEmpty) .orElse(serverUrl); if (configuredJenkinsUrl.contains(BUILDHIVE_CLOUDBEES)) {//TODO hack need to refactor @@ -313,7 +313,7 @@ public String testAuthenticate(String serverUrl, String username, String passwor SecurityClientFactory.setVersion(version); final int connectionTimout = getConnectionTimout(connectionTimoutInSeconds); final SecurityClient securityClientForTest; - if (StringUtils.isNotBlank(username)) { + if (org.codinjutsu.tools.jenkins.util.StringUtil.isNotBlank(username)) { securityClientForTest = SecurityClientFactory.basic(username, password, crumbData, connectionTimout); } else { securityClientForTest = SecurityClientFactory.none(crumbData, connectionTimout); diff --git a/src/main/java/org/codinjutsu/tools/jenkins/logic/RssParser.java b/src/main/java/org/codinjutsu/tools/jenkins/logic/RssParser.java index 2b4417e0..b13a3b2e 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/logic/RssParser.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/logic/RssParser.java @@ -18,7 +18,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.JDOMUtil; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.codinjutsu.tools.jenkins.exception.JenkinsPluginRuntimeException; import org.codinjutsu.tools.jenkins.model.Build; import org.codinjutsu.tools.jenkins.model.BuildStatusEnum; @@ -53,7 +53,7 @@ public Map loadJenkinsRssLatestBuilds(String rssData) { @NotNull private Element getFeeds(@Nullable String xmlData) { - if (StringUtils.isEmpty(xmlData)) { + if (StringUtil.isEmpty(xmlData)) { LOG.error("Empty XML data"); throw new IllegalStateException("Empty XML data"); } @@ -77,7 +77,7 @@ private Map createLatestBuildList(@NotNull Element feeds) { final var elements = feeds.getChildren(RSS_ENTRY, feeds.getNamespace()); for (Element element : elements) { final var title = Optional.ofNullable(element.getChildText(RSS_TITLE, feeds.getNamespace())) - .orElse(StringUtils.EMPTY); + .orElse(org.codinjutsu.tools.jenkins.util.StringUtil.EMPTY); final var publishedBuild = element.getChildText(RSS_PUBLISHED, feeds.getNamespace()); final var buildUrlElement = element.getChild(RSS_LINK, feeds.getNamespace()); final var buildUrl = Optional.ofNullable(buildUrlElement.getAttributeValue(RSS_LINK_HREF)); @@ -87,8 +87,9 @@ private Map createLatestBuildList(@NotNull Element feeds) { final var status = RssUtil.extractStatus(title); if (!BuildStatusEnum.NULL.equals(status)) { - buildMap.put(jobName, Build.createBuildFromRss(buildUrl.orElse(StringUtils.EMPTY), number, - status.getStatus(), false, publishedBuild, title, rssDateFormat)); + buildMap.put(jobName, Build.createBuildFromRss(buildUrl + .orElse(org.codinjutsu.tools.jenkins.util.StringUtil.EMPTY), + number, status.getStatus(), false, publishedBuild, title, rssDateFormat)); } } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/logic/UrlMapperService.java b/src/main/java/org/codinjutsu/tools/jenkins/logic/UrlMapperService.java index aeeab2b3..81098f9d 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/logic/UrlMapperService.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/logic/UrlMapperService.java @@ -1,7 +1,7 @@ package org.codinjutsu.tools.jenkins.logic; import com.intellij.openapi.components.Service; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.codinjutsu.tools.jenkins.JenkinsSettings; import org.jetbrains.annotations.NotNull; @@ -13,13 +13,13 @@ final class UrlMapperService { public @NotNull UnaryOperator getMapper(@NotNull JenkinsSettings jenkinsSettings, @NotNull String serverUrl) { return Optional.of(jenkinsSettings.getJenkinsUrl()) - .filter(StringUtils::isNotEmpty) + .filter(StringUtil::isNotEmpty) .map(jenkinsUrl -> getMapper(jenkinsUrl, serverUrl)) .orElseGet(UnaryOperator::identity); } public @NotNull UnaryOperator getMapper(@NotNull String jenkinsUrl, @NotNull String serverUrl) { - final boolean useDefault = StringUtils.isEmpty(jenkinsUrl) || StringUtils.equalsIgnoreCase(jenkinsUrl, serverUrl); + final boolean useDefault = StringUtil.isEmpty(jenkinsUrl) || StringUtil.equalsIgnoreCase(jenkinsUrl, serverUrl); return useDefault ? UnaryOperator.identity() : new JenkinsUrlMapper(serverUrl, jenkinsUrl); } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/model/Build.java b/src/main/java/org/codinjutsu/tools/jenkins/model/Build.java index 0149cf7d..57107b22 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/model/Build.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/model/Build.java @@ -16,10 +16,10 @@ package org.codinjutsu.tools.jenkins.model; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.text.DateFormatUtil; import lombok.Builder; import lombok.Value; -import org.apache.commons.lang.StringUtils; import org.codinjutsu.tools.jenkins.util.DateUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -114,7 +114,7 @@ public String getDisplayNumber() { @NotNull public String getNameToRender() { return Optional.ofNullable(getFullDisplayName()) - .filter(StringUtils::isNotEmpty) + .filter(StringUtil::isNotEmpty) .orElseGet(() -> String.format("%s (%s)", getDisplayNumber(), DateFormatUtil.formatDateTime(getTimestamp()))); } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/model/Jenkins.java b/src/main/java/org/codinjutsu/tools/jenkins/model/Jenkins.java index 80eca47c..3f71690d 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/model/Jenkins.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/model/Jenkins.java @@ -16,7 +16,7 @@ package org.codinjutsu.tools.jenkins.model; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.codinjutsu.tools.jenkins.JenkinsAppSettings; import org.jetbrains.annotations.Nullable; @@ -81,7 +81,7 @@ public String getServerUrl() { public View getViewByName(String lastSelectedViewName) { for (View view : views) { - if (StringUtils.equals(lastSelectedViewName, view.getName())) { + if (StringUtil.equals(lastSelectedViewName, view.getName())) { return view; } } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/model/Job.java b/src/main/java/org/codinjutsu/tools/jenkins/model/Job.java index 38d1d8da..91d7bc7e 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/model/Job.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/model/Job.java @@ -16,6 +16,7 @@ package org.codinjutsu.tools.jenkins.model; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.ObjectUtils; import com.intellij.util.ui.EmptyIcon; import icons.JenkinsControlIcons; @@ -23,7 +24,6 @@ import lombok.Data; import lombok.Singular; import lombok.Value; -import org.apache.commons.lang.StringUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -116,13 +116,13 @@ public void updateContentWith(Job updatedJob) { @NotNull public String getNameToRenderSingleJob() { - return Optional.ofNullable(getFullDisplayName()).filter(StringUtils::isNotEmpty) + return Optional.ofNullable(getFullDisplayName()).filter(StringUtil::isNotEmpty) .orElseGet(this::preferDisplayName); } @NotNull public String preferDisplayName() { - return Optional.ofNullable(getDisplayName()).filter(StringUtils::isNotEmpty) + return Optional.ofNullable(getDisplayName()).filter(StringUtil::isNotEmpty) .orElseGet(this::getName); } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/model/JobParameterType.java b/src/main/java/org/codinjutsu/tools/jenkins/model/JobParameterType.java index bd30c37e..c25d9f42 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/model/JobParameterType.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/model/JobParameterType.java @@ -1,7 +1,7 @@ package org.codinjutsu.tools.jenkins.model; +import com.intellij.openapi.util.text.StringUtil; import lombok.Value; -import org.apache.commons.lang.StringUtils; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -19,7 +19,7 @@ public class JobParameterType { @NotNull public static JobParameterType getType(@NotNull String parameterType, @Nullable String parameterClass) { Optional jobParameter = Optional.empty(); - if (StringUtils.isEmpty(parameterClass)) { + if (StringUtil.isEmpty(parameterClass)) { jobParameter = BuildInJobParameter.getBuiltInJobParameter() .filter(parameter -> parameter.getType().equals(parameterType)).findFirst(); } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/security/BasicSecurityClient.java b/src/main/java/org/codinjutsu/tools/jenkins/security/BasicSecurityClient.java index 885d74a4..56d1eba7 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/security/BasicSecurityClient.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/security/BasicSecurityClient.java @@ -17,7 +17,7 @@ package org.codinjutsu.tools.jenkins.security; import com.intellij.openapi.diagnostic.Logger; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.apache.http.HttpHost; import org.apache.http.HttpStatus; import org.apache.http.auth.UsernamePasswordCredentials; @@ -53,7 +53,7 @@ public String connect(URL url) { @Nullable private String doAuthentication(URL jenkinsUrl) throws AuthenticationException { - if (StringUtils.isNotEmpty(username) && StringUtils.isNotEmpty(password)) { + if (StringUtil.isNotEmpty(username) && StringUtil.isNotEmpty(password)) { final var targetHost = new HttpHost(jenkinsUrl.getHost(), jenkinsUrl.getPort(), jenkinsUrl.getProtocol()); final var credentials = new UsernamePasswordCredentials(username, password); addAuthenticationPreemptive(targetHost, credentials); diff --git a/src/main/java/org/codinjutsu/tools/jenkins/security/DefaultSecurityClient.java b/src/main/java/org/codinjutsu/tools/jenkins/security/DefaultSecurityClient.java index 646148b6..25d7a51e 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/security/DefaultSecurityClient.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/security/DefaultSecurityClient.java @@ -19,9 +19,9 @@ import com.intellij.notification.NotificationType; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.net.IdeHttpClientHelpers; import com.intellij.util.net.ssl.CertificateManager; -import org.apache.commons.lang.StringUtils; import org.apache.http.Header; import org.apache.http.HttpHost; import org.apache.http.HttpResponse; @@ -278,7 +278,7 @@ protected void checkResponse(int statusCode, String responseBody) throws Authent } if (statusCode == HttpURLConnection.HTTP_FORBIDDEN || statusCode == HttpURLConnection.HTTP_UNAUTHORIZED) { - if (StringUtils.containsIgnoreCase(responseBody, BAD_CRUMB_DATA)) { + if (StringUtil.containsIgnoreCase(responseBody, BAD_CRUMB_DATA)) { throw new AuthenticationException("CSRF enabled -> Missing or bad crumb data", responseBody); } @@ -296,7 +296,7 @@ private boolean isRedirection(int statusCode) { protected boolean isCrumbDataSet() { - return StringUtils.isNotBlank(crumbData); + return org.codinjutsu.tools.jenkins.util.StringUtil.isNotBlank(crumbData); } public void setJenkinsVersion(JenkinsVersion jenkinsVersion) { diff --git a/src/main/java/org/codinjutsu/tools/jenkins/settings/ServerComponent.java b/src/main/java/org/codinjutsu/tools/jenkins/settings/ServerComponent.java index 3377fab2..6b9658e6 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/settings/ServerComponent.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/settings/ServerComponent.java @@ -13,10 +13,10 @@ import com.intellij.util.ui.HTMLEditorKitBuilder; import com.intellij.util.ui.JBDimension; import com.intellij.util.ui.JBUI; -import org.apache.commons.lang.StringUtils; import org.codinjutsu.tools.jenkins.JenkinsControlBundle; import org.codinjutsu.tools.jenkins.exception.AuthenticationException; import org.codinjutsu.tools.jenkins.util.GuiUtil; +import org.codinjutsu.tools.jenkins.util.StringUtil; import org.codinjutsu.tools.jenkins.view.action.ActionUtil; import org.codinjutsu.tools.jenkins.view.action.ReloadConfigurationAction; import org.codinjutsu.tools.jenkins.view.annotation.FormValidationPanel; @@ -142,7 +142,7 @@ private void testConnection(ServerConnectionValidator serverConnectionValidator) } catch (AuthenticationException authenticationException) { setConnectionFeedbackLabel(authenticationException); final var responseBody = authenticationException.getResponseBody(); - if (StringUtils.isNotBlank(responseBody)) { + if (StringUtil.isNotBlank(responseBody)) { debugPanel.setVisible(true); debugTextPane.setText(responseBody); } @@ -184,7 +184,7 @@ private void setConnectionFeedbackLabel(final Color labelColor, final String lab return ServerSetting.builder() .url(getServerUrl()) .jenkinsUrl(getJenkinsUrl()) - .username(StringUtils.isBlank(usernameForSetting) ? "" : usernameForSetting) + .username(StringUtil.isBlank(usernameForSetting) ? "" : usernameForSetting) .apiToken(getApiToken()) .apiTokenModified(isApiTokenModified()) .timeout(getConnectionTimeout()) @@ -224,7 +224,7 @@ public void setUsername(@NotNull String usernameToSet) { } public void setApiToken(@Nullable String apiTokenToSet) { - apiToken.setPasswordIsStored(StringUtils.isNotBlank(apiTokenToSet)); + apiToken.setPasswordIsStored(StringUtil.isNotBlank(apiTokenToSet)); } @VisibleForTesting diff --git a/src/main/java/org/codinjutsu/tools/jenkins/settings/ServerConfigurable.java b/src/main/java/org/codinjutsu/tools/jenkins/settings/ServerConfigurable.java index 3ac3e7c5..fb9b1604 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/settings/ServerConfigurable.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/settings/ServerConfigurable.java @@ -2,7 +2,7 @@ import com.intellij.openapi.options.SearchableConfigurable; import com.intellij.openapi.project.Project; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.codinjutsu.tools.jenkins.JenkinsAppSettings; import org.codinjutsu.tools.jenkins.JenkinsSettings; import org.codinjutsu.tools.jenkins.JenkinsWindowManager; @@ -44,9 +44,10 @@ public JComponent createComponent() { formValidator = FormValidator.init(serverComponentToSet) .addValidator(serverComponentToSet.getUsernameComponent(), component -> { - if (StringUtils.isNotBlank(component.getText())) { + if (org.codinjutsu.tools.jenkins.util.StringUtil.isNotBlank(component.getText())) { String apiToken = serverComponentToSet.getApiToken(); - if (serverComponentToSet.isApiTokenModified() && StringUtils.isBlank(apiToken)) { + if (serverComponentToSet.isApiTokenModified() && + org.codinjutsu.tools.jenkins.util.StringUtil.isBlank(apiToken)) { throw new org.codinjutsu.tools.jenkins.exception.ConfigurationException( String.format("'%s' must be set", "API Token")); } @@ -66,12 +67,12 @@ void setServerComponent(@Nullable ServerComponent serverComponent) { JenkinsSettings.getSafeInstance(project).getPassword(); final String serverUrl = Optional.ofNullable(serverSetting.getUrl()).orElse(""); final String configuredJenkinsUrl = Optional.ofNullable(serverSetting.getJenkinsUrl()) - .filter(StringUtils::isNotEmpty) + .filter(StringUtil::isNotEmpty) .orElse(serverUrl); final var jenkinsUrlFromServer = RequestManager.getInstance(project).testAuthenticate(serverUrl, serverSetting.getUsername(), apiToken, "", JenkinsVersion.VERSION_2, serverSetting.getTimeout()); - if (StringUtils.isEmpty(jenkinsUrlFromServer)) { + if (StringUtil.isEmpty(jenkinsUrlFromServer)) { throw new ConfigurationException("Cannot find 'Jenkins URL'. Please check your Jenkins Location"); } return ConfigurationValidator.getInstance(project).validate(configuredJenkinsUrl, jenkinsUrlFromServer); @@ -121,7 +122,7 @@ public void apply() throws com.intellij.openapi.options.ConfigurationException { private void apply(ServerSetting serverSetting) throws ConfigurationException { final var jenkinsServerSetting = JenkinsAppSettings.getSafeInstance(project); final var jenkinsSettings = JenkinsSettings.getSafeInstance(project); - if (!StringUtils.equals(jenkinsServerSetting.getServerUrl(), serverSetting.getUrl())) { + if (!StringUtil.equals(jenkinsServerSetting.getServerUrl(), serverSetting.getUrl())) { jenkinsSettings.clearFavoriteJobs(); jenkinsSettings.setLastSelectedView(null); } @@ -149,7 +150,7 @@ private void reset(ServerComponent serverComponentToReset) { serverComponentToReset.setJenkinsUrl(jenkinsSettings.getJenkinsUrl()); final var username = jenkinsSettings.getUsername(); serverComponentToReset.setUsername(username); - if (StringUtils.isNotBlank(username)) { + if (org.codinjutsu.tools.jenkins.util.StringUtil.isNotBlank(username)) { serverComponentToReset.setApiToken(jenkinsSettings.getPassword()); serverComponentToReset.resetApiTokenModified(); } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/util/JobUtil.java b/src/main/java/org/codinjutsu/tools/jenkins/util/JobUtil.java index e6256380..ab19c483 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/util/JobUtil.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/util/JobUtil.java @@ -1,7 +1,7 @@ package org.codinjutsu.tools.jenkins.util; +import com.intellij.openapi.util.text.StringUtil; import lombok.experimental.UtilityClass; -import org.apache.commons.lang.StringUtils; import org.codinjutsu.tools.jenkins.JenkinsSettings; import org.codinjutsu.tools.jenkins.model.Job; import org.jetbrains.annotations.NotNull; @@ -24,10 +24,10 @@ String createNameForFavorite(@NotNull Job job) { } private boolean isFavoriteJobName(@NotNull String jobName, @NotNull JenkinsSettings.FavoriteJob favoriteJob) { - return StringUtils.equals(jobName, favoriteJob.getName()); + return StringUtil.equals(jobName, favoriteJob.getName()); } private boolean isFavoriteJobUrl(@NotNull String url, @NotNull JenkinsSettings.FavoriteJob favoriteJob) { - return StringUtils.equals(url, favoriteJob.getUrl()); + return StringUtil.equals(url, favoriteJob.getUrl()); } } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/util/StringUtil.java b/src/main/java/org/codinjutsu/tools/jenkins/util/StringUtil.java new file mode 100644 index 00000000..0477d636 --- /dev/null +++ b/src/main/java/org/codinjutsu/tools/jenkins/util/StringUtil.java @@ -0,0 +1,17 @@ +package org.codinjutsu.tools.jenkins.util; + +public class StringUtil { + public static final String EMPTY = ""; + + private StringUtil() { + // init + } + + public static boolean isBlank(String str) { + return str == null || str.isBlank(); + } + + public static boolean isNotBlank(String str) { + return !isBlank(str); + } +} diff --git a/src/main/java/org/codinjutsu/tools/jenkins/view/BrowserPanel.java b/src/main/java/org/codinjutsu/tools/jenkins/view/BrowserPanel.java index 725f6c84..6d7879e9 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/view/BrowserPanel.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/view/BrowserPanel.java @@ -23,10 +23,10 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.SimpleToolWindowPanel; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.PopupHandler; import com.intellij.ui.ScrollPaneFactory; import com.intellij.util.ui.tree.TreeUtil; -import org.apache.commons.lang.StringUtils; import org.codinjutsu.tools.jenkins.*; import org.codinjutsu.tools.jenkins.logic.*; import org.codinjutsu.tools.jenkins.model.*; @@ -325,7 +325,7 @@ public void postAuthenticationInitialization() { String lastSelectedViewName = jenkinsSettings.getLastSelectedView(); View viewToLoad; - if (StringUtils.isEmpty(lastSelectedViewName)) { + if (StringUtil.isEmpty(lastSelectedViewName)) { viewToLoad = jenkins.getPrimaryView(); } else if (favoriteView != null && lastSelectedViewName.equals(favoriteView.getName())) { viewToLoad = favoriteView; diff --git a/src/main/java/org/codinjutsu/tools/jenkins/view/BuildParamDialog.java b/src/main/java/org/codinjutsu/tools/jenkins/view/BuildParamDialog.java index ea15dd37..7a66e157 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/view/BuildParamDialog.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/view/BuildParamDialog.java @@ -24,7 +24,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.DimensionService; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.codinjutsu.tools.jenkins.JenkinsAppSettings; import org.codinjutsu.tools.jenkins.JobTracker; import org.codinjutsu.tools.jenkins.TraceableBuildJob; @@ -148,7 +148,7 @@ private void addParameterInputs() { contentPanel.add(jobParameterComponent.getViewElement()); final String description = jobParameter.getDescription(); - if (StringUtils.isNotEmpty(description)) { + if (StringUtil.isNotEmpty(description)) { JLabel placeHolder = new JLabel("", SwingConstants.CENTER); contentPanel.add(placeHolder); contentPanel.add(new JLabel(description)); diff --git a/src/main/java/org/codinjutsu/tools/jenkins/view/JenkinsTreeRenderer.java b/src/main/java/org/codinjutsu/tools/jenkins/view/JenkinsTreeRenderer.java index 046f7e47..4de551c9 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/view/JenkinsTreeRenderer.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/view/JenkinsTreeRenderer.java @@ -18,6 +18,7 @@ import com.intellij.icons.AllIcons; import com.intellij.ide.nls.NlsMessages; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.ColoredTreeCellRenderer; import com.intellij.ui.RowIcon; import com.intellij.ui.SimpleTextAttributes; @@ -25,7 +26,6 @@ import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.experimental.Delegate; -import org.apache.commons.lang.StringUtils; import org.codinjutsu.tools.jenkins.model.*; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -136,7 +136,7 @@ public static String buildLabel(Job job, Optional parentJenkins final Function buildNameRenderer; if (parentJenkinsTreeNode.filter(JenkinsTreeNode.JobNode.class::isInstance).isPresent()) { jobNameRenderer = Job::preferDisplayName; - buildNameRenderer = build -> StringUtils.EMPTY; + buildNameRenderer = build -> org.codinjutsu.tools.jenkins.util.StringUtil.EMPTY; } else { jobNameRenderer = Job::getNameToRenderSingleJob; buildNameRenderer = Build::getFullDisplayName; @@ -157,7 +157,7 @@ public static String buildLabel(Job job, Function jobName, Functio status = "(running)"; } final String renderedValue = Optional.ofNullable(buildName.apply(build)) - .filter(StringUtils::isNotEmpty) + .filter(StringUtil::isNotEmpty) .orElseGet(() -> String.format("%s %s", jobName.apply(job), build.getDisplayNumber())); return String.format("%s %s", renderedValue, status); } @@ -166,7 +166,7 @@ public static String buildLabel(Job job, Function jobName, Functio public static String buildLabel(Jenkins jenkins) { final var description = jenkins.getName(); final var label = new StringBuilder("Jenkins"); - if (StringUtils.isNotEmpty(description)) { + if (StringUtil.isNotEmpty(description)) { label.append(' '); label.append(description); } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/view/action/GotoServerAction.java b/src/main/java/org/codinjutsu/tools/jenkins/view/action/GotoServerAction.java index 9c21f1b1..9dbc6778 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/view/action/GotoServerAction.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/view/action/GotoServerAction.java @@ -1,7 +1,7 @@ package org.codinjutsu.tools.jenkins.view.action; import com.intellij.openapi.actionSystem.AnActionEvent; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.codinjutsu.tools.jenkins.JenkinsAppSettings; import org.codinjutsu.tools.jenkins.model.Jenkins; import org.codinjutsu.tools.jenkins.view.BrowserPanel; @@ -25,7 +25,7 @@ protected String getUrl() { public void update(AnActionEvent event) { final var selectedServer = browserPanel.getSelectedServer(); final var isServerSelected = selectedServer.isPresent(); - event.getPresentation().setVisible(isServerSelected && !StringUtils.equals(browserPanel.getJenkins().getServerUrl(), + event.getPresentation().setVisible(isServerSelected && !StringUtil.equals(browserPanel.getJenkins().getServerUrl(), JenkinsAppSettings.DUMMY_JENKINS_SERVER_URL)); } } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/view/extension/JobParameterRenderer.java b/src/main/java/org/codinjutsu/tools/jenkins/view/extension/JobParameterRenderer.java index 673ffbf4..2295726c 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/view/extension/JobParameterRenderer.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/view/extension/JobParameterRenderer.java @@ -1,7 +1,7 @@ package org.codinjutsu.tools.jenkins.view.extension; import com.intellij.openapi.extensions.ExtensionPointName; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.codinjutsu.tools.jenkins.model.JobParameter; import org.codinjutsu.tools.jenkins.model.ProjectJob; import org.codinjutsu.tools.jenkins.view.parameter.JobParameterComponent; @@ -30,7 +30,7 @@ static Optional findRenderer(@NotNull JobParameter jobPara default Optional createLabel(@NotNull JobParameter jobParameter) { final String name = jobParameter.getName(); final JLabel label; - if (StringUtils.isEmpty(name)) { + if (StringUtil.isEmpty(name)) { label = JobParameterRenderers.createErrorLabel(JobParameterRenderers.MISSING_NAME_LABEL); } else { label = new JLabel(name); diff --git a/src/main/java/org/codinjutsu/tools/jenkins/view/extension/JobParameterRenderers.java b/src/main/java/org/codinjutsu/tools/jenkins/view/extension/JobParameterRenderers.java index bc557f6b..624cf699 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/view/extension/JobParameterRenderers.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/view/extension/JobParameterRenderers.java @@ -5,13 +5,13 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.ComboBox; import com.intellij.openapi.ui.TextFieldWithBrowseButton; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.ui.components.JBLabel; import com.intellij.ui.components.JBTextArea; import com.intellij.ui.components.JBTextField; import lombok.experimental.UtilityClass; -import org.apache.commons.lang.StringUtils; import org.codinjutsu.tools.jenkins.logic.RequestManager; import org.codinjutsu.tools.jenkins.logic.RequestManagerInterface; import org.codinjutsu.tools.jenkins.model.JobParameter; @@ -40,7 +40,7 @@ public static JobParameterComponent createFileUpload(JobParameter j textFieldWithBrowseButton.addBrowseFolderListener(jobParameter.getName(), jobParameter.getDescription(), project, FileChooserDescriptorFactory.createSingleFileNoJarsDescriptor()); textFieldWithBrowseButton.setTextFieldPreferredWidth(30); - if (StringUtils.isNotEmpty(defaultValue)) { + if (StringUtil.isNotEmpty(defaultValue)) { textFieldWithBrowseButton.setText(defaultValue); } return new JobParameterComponent<>(jobParameter, textFieldWithBrowseButton, JobParameterRenderers.getFile()); @@ -50,7 +50,7 @@ public static JobParameterComponent createFileUpload(JobParameter j public static JobParameterComponent createPasswordField(JobParameter jobParameter, String defaultValue) { final PasswordComponent passwordComponent = PasswordComponent.create(); passwordComponent.init(); - if (StringUtils.isNotEmpty(defaultValue)) { + if (StringUtil.isNotEmpty(defaultValue)) { passwordComponent.setValue(defaultValue); } return new JobParameterComponent<>(jobParameter, passwordComponent.asComponent(), c -> passwordComponent.getValue()); @@ -60,7 +60,7 @@ public static JobParameterComponent createPasswordField(JobParameter job public static JobParameterComponent createTextArea(JobParameter jobParameter, String defaultValue) { final JTextArea textArea = new JBTextArea(); textArea.setRows(5); - if (StringUtils.isNotEmpty(defaultValue)) { + if (StringUtil.isNotEmpty(defaultValue)) { textArea.setText(defaultValue); } return new JobParameterComponent<>(jobParameter, textArea, JTextComponent::getText); @@ -69,7 +69,7 @@ public static JobParameterComponent createTextArea(JobParameter jobParam @NotNull public static JobParameterComponent createTextField(JobParameter jobParameter, String defaultValue) { final JTextField textField = new JBTextField(); - if (StringUtils.isNotEmpty(defaultValue)) { + if (StringUtil.isNotEmpty(defaultValue)) { textField.setText(defaultValue); } return new JobParameterComponent<>(jobParameter, textField, JTextComponent::getText); @@ -88,7 +88,7 @@ public static JobParameterComponent createCheckBox(JobParameter jobParam public static JobParameterComponent createComboBox(@NotNull JobParameter jobParameter, String defaultValue) { final String[] choices = jobParameter.getChoices().toArray(new String[0]); ComboBox comboBox = new ComboBox<>(choices); - if (StringUtils.isNotEmpty(defaultValue)) { + if (StringUtil.isNotEmpty(defaultValue)) { comboBox.setSelectedItem(defaultValue); } return new JobParameterComponent<>(jobParameter, comboBox, asString(JComboBox::getSelectedItem)); @@ -98,7 +98,7 @@ public static JobParameterComponent createComboBox(@NotNull JobParameter @NotNull public static JobParameterComponent createLabel(@NotNull JobParameter jobParameter, String defaultValue) { final JBLabel label = new JBLabel(); - if (StringUtils.isNotEmpty(defaultValue)) { + if (StringUtil.isNotEmpty(defaultValue)) { label.setText(defaultValue); } return new JobParameterComponent<>(jobParameter, label, JLabel::getText); @@ -180,7 +180,7 @@ public static Function getFile() { @Nullable private static VirtualFile getFile(@NotNull TextFieldWithBrowseButton filePathField) { - if (!StringUtils.isEmpty(filePathField.getText())) { + if (!StringUtil.isEmpty(filePathField.getText())) { // use com.intellij.openapi.vfs.VirtualFileLookup (2020.2 and later) final VirtualFile file = LocalFileSystem.getInstance().findFileByPath(filePathField.getText()); if (file != null && !file.isDirectory()) { diff --git a/src/main/java/org/codinjutsu/tools/jenkins/view/parameter/PasswordComponent.java b/src/main/java/org/codinjutsu/tools/jenkins/view/parameter/PasswordComponent.java index 526d1048..0ba5fab0 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/view/parameter/PasswordComponent.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/view/parameter/PasswordComponent.java @@ -5,7 +5,6 @@ import lombok.Data; import lombok.Getter; import lombok.RequiredArgsConstructor; -import org.apache.commons.lang.StringUtils; import org.codinjutsu.tools.jenkins.view.util.SpringUtilities; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -54,7 +53,7 @@ public void init() { public void enablePasswordOverride() { view.getPasswordField().setEnabled(true); view.getPasswordField().setVisible(true); - model.setPassword(StringUtils.EMPTY); + model.setPassword(org.codinjutsu.tools.jenkins.util.StringUtil.EMPTY); view.getPasswordField().requestFocus(); view.getChangePasswordButton().setVisible(false); } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/view/validator/FileValidator.java b/src/main/java/org/codinjutsu/tools/jenkins/view/validator/FileValidator.java index 3d1f2655..a8cbf289 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/view/validator/FileValidator.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/view/validator/FileValidator.java @@ -18,7 +18,7 @@ import com.intellij.openapi.ui.LabeledComponent; import com.intellij.openapi.ui.TextFieldWithBrowseButton; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.codinjutsu.tools.jenkins.exception.ConfigurationException; import java.io.File; @@ -26,7 +26,7 @@ public class FileValidator implements UIValidator> { public void validate(LabeledComponent component) throws ConfigurationException { String filepath = component.getComponent().getText(); - if (StringUtils.isEmpty(filepath)) { + if (StringUtil.isEmpty(filepath)) { return; } File file = new File(filepath); diff --git a/src/main/java/org/codinjutsu/tools/jenkins/view/validator/NotNullValidator.java b/src/main/java/org/codinjutsu/tools/jenkins/view/validator/NotNullValidator.java index f6c986d7..40344453 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/view/validator/NotNullValidator.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/view/validator/NotNullValidator.java @@ -16,7 +16,7 @@ package org.codinjutsu.tools.jenkins.view.validator; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.codinjutsu.tools.jenkins.exception.ConfigurationException; import javax.swing.*; @@ -25,7 +25,7 @@ public class NotNullValidator implements UIValidator { public void validate(JTextField component) throws ConfigurationException { if (component.isEnabled()) { //TODO a revoir String value = component.getText(); - if (StringUtils.isEmpty(value)) { + if (StringUtil.isEmpty(value)) { throw new ConfigurationException(String.format("'%s' must be set", component.getName())); } } diff --git a/src/main/java/org/codinjutsu/tools/jenkins/view/validator/PositiveIntegerValidator.java b/src/main/java/org/codinjutsu/tools/jenkins/view/validator/PositiveIntegerValidator.java index 653dacb1..5faf7970 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/view/validator/PositiveIntegerValidator.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/view/validator/PositiveIntegerValidator.java @@ -16,7 +16,7 @@ package org.codinjutsu.tools.jenkins.view.validator; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.codinjutsu.tools.jenkins.exception.ConfigurationException; import org.jetbrains.annotations.NotNull; @@ -28,7 +28,7 @@ public class PositiveIntegerValidator implements UIValidator { public void validate(JComponent component) throws ConfigurationException { final Optional value = getValue(component); - if (component.isEnabled() && value.isPresent() && StringUtils.isNotEmpty(value.get())) { + if (component.isEnabled() && value.isPresent() && StringUtil.isNotEmpty(value.get())) { try { int intValue = Integer.parseInt(value.get()); if (intValue < 0) diff --git a/src/main/java/org/codinjutsu/tools/jenkins/view/validator/StrictPositiveIntegerValidator.java b/src/main/java/org/codinjutsu/tools/jenkins/view/validator/StrictPositiveIntegerValidator.java index 88cf5bd4..3eeaf226 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/view/validator/StrictPositiveIntegerValidator.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/view/validator/StrictPositiveIntegerValidator.java @@ -16,7 +16,7 @@ package org.codinjutsu.tools.jenkins.view.validator; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.codinjutsu.tools.jenkins.exception.ConfigurationException; import javax.swing.*; @@ -24,7 +24,7 @@ public class StrictPositiveIntegerValidator implements UIValidator { public void validate(JTextField component) throws ConfigurationException { String value = component.getText(); - if (component.isEnabled() && StringUtils.isNotEmpty(value)) { //TODO A revoir + if (component.isEnabled() && StringUtil.isNotEmpty(value)) { //TODO A revoir try { int intValue = Integer.parseInt(value); if (intValue <= 0) { diff --git a/src/main/java/org/codinjutsu/tools/jenkins/view/validator/UrlValidator.java b/src/main/java/org/codinjutsu/tools/jenkins/view/validator/UrlValidator.java index 923536b9..eb4d2fc4 100644 --- a/src/main/java/org/codinjutsu/tools/jenkins/view/validator/UrlValidator.java +++ b/src/main/java/org/codinjutsu/tools/jenkins/view/validator/UrlValidator.java @@ -16,7 +16,7 @@ package org.codinjutsu.tools.jenkins.view.validator; -import org.apache.commons.lang.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.codinjutsu.tools.jenkins.exception.ConfigurationException; import javax.swing.*; @@ -26,13 +26,13 @@ public class UrlValidator implements UIValidator { public void validate(JTextField component) throws ConfigurationException { String value = component.getText(); - if (StringUtils.isEmpty(value)) { + if (StringUtil.isEmpty(value)) { return; } try { URL url = new URL(value); String userInfo = url.getUserInfo(); - if (StringUtils.isEmpty(userInfo)) { + if (StringUtil.isEmpty(userInfo)) { return; } diff --git a/src/test/java/org/codinjutsu/tools/jenkins/view/parameter/PasswordComponentTest.java b/src/test/java/org/codinjutsu/tools/jenkins/view/parameter/PasswordComponentTest.java index 3fce573d..abf90177 100644 --- a/src/test/java/org/codinjutsu/tools/jenkins/view/parameter/PasswordComponentTest.java +++ b/src/test/java/org/codinjutsu/tools/jenkins/view/parameter/PasswordComponentTest.java @@ -2,7 +2,6 @@ import com.intellij.ui.components.JBPasswordField; import com.intellij.util.ui.StatusText; -import org.apache.commons.lang.StringUtils; import org.junit.Before; import org.junit.Test; import org.mockito.Answers; @@ -85,7 +84,7 @@ public void afterClickOnChangePasswordButton() { verify(passwordField).setEnabled(true); verify(passwordField).setVisible(true); verify(changePasswordButton).setVisible(false); - assertThat(model.getPassword()).isEqualTo(StringUtils.EMPTY); + assertThat(model.getPassword()).isEqualTo(org.codinjutsu.tools.jenkins.util.StringUtil.EMPTY); } @Before