diff --git a/flutter-idea/src/io/flutter/editor/FlutterCompletionContributor.java b/flutter-idea/src/io/flutter/editor/FlutterCompletionContributor.java index 0b8abd54d6..48f3487f89 100644 --- a/flutter-idea/src/io/flutter/editor/FlutterCompletionContributor.java +++ b/flutter-idea/src/io/flutter/editor/FlutterCompletionContributor.java @@ -7,11 +7,11 @@ import com.intellij.codeInsight.lookup.LookupElementBuilder; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.ui.ColorIcon; import com.intellij.util.ui.EmptyIcon; import com.jetbrains.lang.dart.ide.completion.DartCompletionExtension; import com.jetbrains.lang.dart.ide.completion.DartServerCompletionContributor; -import org.apache.commons.lang3.StringUtils; import org.dartlang.analysis.server.protocol.CompletionSuggestion; import org.dartlang.analysis.server.protocol.Element; import org.jetbrains.annotations.NotNull; @@ -42,7 +42,7 @@ private static Icon findIcon(@NotNull final CompletionSuggestion suggestion) { final Element element = suggestion.getElement(); if (element != null) { final String returnType = element.getReturnType(); - if (!StringUtils.isEmpty(returnType)) { + if (!StringUtil.isEmpty(returnType)) { final String name = element.getName(); if (name != null) { final String declaringType = suggestion.getDeclaringType(); diff --git a/flutter-idea/src/io/flutter/inspector/DiagnosticsNode.java b/flutter-idea/src/io/flutter/inspector/DiagnosticsNode.java index 8da9fea7c1..1ff5dde275 100644 --- a/flutter-idea/src/io/flutter/inspector/DiagnosticsNode.java +++ b/flutter-idea/src/io/flutter/inspector/DiagnosticsNode.java @@ -12,6 +12,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectUtil; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.xdebugger.XSourcePosition; import com.jetbrains.lang.dart.analyzer.DartAnalysisServerService; @@ -19,7 +20,6 @@ import io.flutter.utils.CustomIconMaker; import io.flutter.utils.JsonUtils; import io.flutter.vmService.frame.DartVmServiceValue; -import org.apache.commons.lang3.StringUtils; import org.dartlang.analysis.server.protocol.HoverInformation; import org.dartlang.vm.service.element.InstanceRef; import org.jetbrains.annotations.NotNull; @@ -97,7 +97,7 @@ public boolean equals(Object other) { @Override public String toString() { final String name = getName(); - if (StringUtils.isEmpty(name) || !getShowName()) { + if (StringUtil.isEmpty(name) || !getShowName()) { return getDescription(); } diff --git a/flutter-idea/src/io/flutter/module/FlutterGeneratorPeer.java b/flutter-idea/src/io/flutter/module/FlutterGeneratorPeer.java index 20b63b5748..01143206ee 100644 --- a/flutter-idea/src/io/flutter/module/FlutterGeneratorPeer.java +++ b/flutter-idea/src/io/flutter/module/FlutterGeneratorPeer.java @@ -13,6 +13,7 @@ import com.intellij.openapi.ui.Messages; import com.intellij.openapi.ui.TextComponentAccessor; import com.intellij.openapi.ui.ValidationInfo; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.util.io.FileUtilRt; import com.intellij.ui.ComboboxWithBrowseButton; import com.intellij.ui.DocumentAdapter; @@ -30,7 +31,6 @@ import javax.swing.JTextPane; import javax.swing.event.DocumentEvent; import javax.swing.text.JTextComponent; -import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -123,7 +123,7 @@ public boolean validate() { @Nullable private ValidationInfo validateSdk() { final String sdkPath = getSdkComboPath(); - if (StringUtils.isEmpty(sdkPath)) { + if (StringUtil.isEmpty(sdkPath)) { return new ValidationInfo("A Flutter SDK must be specified for project creation.", mySdkPathComboWithBrowse); } final String message = FlutterSdkUtil.getErrorMessageIfWrongSdkRootPath(sdkPath); diff --git a/flutter-idea/src/io/flutter/module/FlutterModuleBuilder.java b/flutter-idea/src/io/flutter/module/FlutterModuleBuilder.java index e99c2cb541..1959f1a346 100644 --- a/flutter-idea/src/io/flutter/module/FlutterModuleBuilder.java +++ b/flutter-idea/src/io/flutter/module/FlutterModuleBuilder.java @@ -56,7 +56,6 @@ import javax.swing.Icon; import javax.swing.JComponent; -import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -170,7 +169,7 @@ private String validateSettings(FlutterCreateAdditionalSettings settings) { if (org == null) { return null; } - if (StringUtils.endsWith(org, ".")) { + if (StringUtil.endsWith(org, ".")) { return FlutterBundle.message("npw_invalid_org_error"); } if (mySettingsFields.shouldIncludePlatforms() && !settings.isSomePlatformSelected()) { diff --git a/flutter-idea/src/io/flutter/run/bazelTest/BazelTestRunner.java b/flutter-idea/src/io/flutter/run/bazelTest/BazelTestRunner.java index f1bd0c74d7..11997c040a 100644 --- a/flutter-idea/src/io/flutter/run/bazelTest/BazelTestRunner.java +++ b/flutter-idea/src/io/flutter/run/bazelTest/BazelTestRunner.java @@ -29,6 +29,7 @@ import com.intellij.openapi.util.Key; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.xdebugger.XDebugProcess; import com.intellij.xdebugger.XDebugProcessStarter; import com.intellij.xdebugger.XDebugSession; @@ -47,7 +48,6 @@ import io.flutter.utils.JsonUtils; import io.flutter.utils.StdoutJsonParser; import io.flutter.utils.UrlUtils; -import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -279,7 +279,7 @@ protected VirtualFile findLocalFile(@NotNull final String uri) { // Verify the returned workspace directory name, we weren't passed a workspace name or if the valid workspace name does not start the // uri then return the super invocation of this method. This prevents the unknown URI type from being passed to the analysis server. - if (StringUtils.isEmpty(workspaceDirName) || !uri.startsWith(workspaceDirName + ":/")) return super.findLocalFile(uri); + if (StringUtil.isEmpty(workspaceDirName) || !uri.startsWith(workspaceDirName + ":/")) return super.findLocalFile(uri); final String pathFromWorkspace = uri.substring(workspaceDirName.length() + 1); diff --git a/flutter-idea/src/io/flutter/run/common/TestType.java b/flutter-idea/src/io/flutter/run/common/TestType.java index c10bcf8fd4..c6990a2111 100644 --- a/flutter-idea/src/io/flutter/run/common/TestType.java +++ b/flutter-idea/src/io/flutter/run/common/TestType.java @@ -7,7 +7,7 @@ import com.intellij.icons.AllIcons; import com.intellij.psi.PsiElement; -import org.apache.commons.lang3.StringUtils; +import com.intellij.openapi.util.text.StringUtil; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -51,7 +51,7 @@ public Icon getIcon() { @NotNull public String getTooltip(@NotNull PsiElement element, @NotNull CommonTestConfigUtils testConfigUtils) { final String testName = testConfigUtils.findTestName(element); - if (StringUtils.isNotEmpty(testName)) { + if (StringUtil.isNotEmpty(testName)) { return "Run '" + testName + "'"; } diff --git a/tool/plugin/lib/lint.dart b/tool/plugin/lib/lint.dart index 577d16490c..6b7637d171 100644 --- a/tool/plugin/lib/lint.dart +++ b/tool/plugin/lib/lint.dart @@ -93,6 +93,8 @@ class LintCommand extends Command { // See https://github.com/flutter/flutter-intellij/issues/6933 'org.apache.commons.lang.StringUtils', 'org.apache.commons.lang.StringEscapeUtils', + // https://github.com/dart-lang/sdk/issues/39377 + 'org.apache.commons.lang3.StringUtils', // Not technically a bad import, but not all IntelliJ platforms provide // this library.