Skip to content

Commit 8d85168

Browse files
committed
fix: correct incompatibilities to IC-2024.1 (#207)
Signed-off-by: Andre Dietisheim <[email protected]>
1 parent 9c0aae5 commit 8d85168

File tree

3 files changed

+32
-24
lines changed

3 files changed

+32
-24
lines changed

src/main/java/com/redhat/devtools/intellij/common/utils/DownloadHelper.java

+10-13
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,11 @@
1111
package com.redhat.devtools.intellij.common.utils;
1212

1313
import com.intellij.openapi.application.ApplicationManager;
14-
import com.intellij.openapi.progress.EmptyProgressIndicator;
1514
import com.intellij.openapi.progress.ProgressIndicator;
1615
import com.intellij.openapi.progress.ProgressManager;
1716
import com.intellij.openapi.progress.Task;
1817
import com.intellij.openapi.ui.Messages;
19-
import com.intellij.openapi.util.Computable;
18+
import com.intellij.openapi.util.text.StringUtil;
2019
import com.intellij.util.io.HttpRequests;
2120
import com.redhat.devtools.intellij.common.CommonConstants;
2221
import com.twelvemonkeys.lang.Platform;
@@ -28,7 +27,6 @@
2827
import org.apache.commons.compress.compressors.CompressorStreamFactory;
2928
import org.apache.commons.io.FilenameUtils;
3029
import org.apache.commons.io.IOUtils;
31-
import org.apache.commons.lang.StringUtils;
3230
import org.jetbrains.annotations.NotNull;
3331

3432
import java.io.BufferedInputStream;
@@ -45,10 +43,8 @@
4543
import java.util.Map;
4644
import java.util.concurrent.CompletableFuture;
4745
import java.util.concurrent.ExecutionException;
48-
import java.util.concurrent.atomic.AtomicReference;
49-
import java.util.function.Consumer;
50-
import java.util.function.Function;
5146
import java.util.function.UnaryOperator;
47+
import java.util.regex.Matcher;
5248
import java.util.regex.Pattern;
5349

5450
public class DownloadHelper {
@@ -60,9 +56,9 @@ public class DownloadHelper {
6056
}
6157
});
6258

63-
private static final UnaryOperator<InputStream> UNTAR = (input -> new TarArchiveInputStream(input));
59+
private static final UnaryOperator<InputStream> UNTAR = (TarArchiveInputStream::new);
6460

65-
private static final UnaryOperator<InputStream> UNZIP = (input -> new ZipArchiveInputStream(input));
61+
private static final UnaryOperator<InputStream> UNZIP = (ZipArchiveInputStream::new);
6662

6763
private static final Map<String, UnaryOperator<InputStream>> MAPPERS = new HashMap<>();
6864

@@ -223,15 +219,15 @@ public CompletableFuture<String> downloadIfRequiredAsync(String toolName, URL ur
223219

224220
private boolean isDownloadAllowed(String tool, String currentVersion, String requiredVersion) {
225221
return UIHelper.executeInUI(() ->
226-
Messages.showYesNoCancelDialog(StringUtils.isEmpty(currentVersion) ? tool + " not found , do you want to download " + tool + " " + requiredVersion + " ?" : tool + " " + currentVersion + " found, required version is " + requiredVersion + ", do you want to download " + tool + " ?", tool + " tool required", Messages.getQuestionIcon()) == Messages.YES);
222+
Messages.showYesNoCancelDialog(StringUtil.isEmpty(currentVersion) ? tool + " not found , do you want to download " + tool + " " + requiredVersion + " ?" : tool + " " + currentVersion + " found, required version is " + requiredVersion + ", do you want to download " + tool + " ?", tool + " tool required", Messages.getQuestionIcon()) == Messages.YES);
227223
}
228224

229225
private boolean areCompatible(String version, String versionMatchRegExpr) {
230226
boolean compatible = true;
231-
if (StringUtils.isNotBlank(versionMatchRegExpr)) {
227+
if (!StringUtil.isEmptyOrSpaces(versionMatchRegExpr)) {
232228
Pattern pattern = Pattern.compile(versionMatchRegExpr);
233229
compatible = pattern.matcher(version).matches();
234-
} else if (StringUtils.isBlank(version)) {
230+
} else if (StringUtil.isEmptyOrSpaces(version)) {
235231
compatible = false;
236232
}
237233
return compatible;
@@ -245,12 +241,13 @@ private String getVersionFromPath(ToolsConfig.Tool tool, ToolsConfig.Platform pl
245241
String output = ExecHelper.execute(platform.getCmdFileName(), false, arguments);
246242
try (BufferedReader reader = new BufferedReader(new StringReader(output))) {
247243
version = reader.lines().
248-
map(line -> pattern.matcher(line)).
249-
filter(matcher -> matcher.matches()).
244+
map(pattern::matcher).
245+
filter(Matcher::matches).
250246
map(matcher -> matcher.group(1)).
251247
findFirst().orElse("");
252248
}
253249
} catch (IOException e) {
250+
// swallow
254251
}
255252
return version;
256253

src/main/java/com/redhat/devtools/intellij/common/utils/UIHelper.java

+14-4
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,21 @@
1010
******************************************************************************/
1111
package com.redhat.devtools.intellij.common.utils;
1212

13-
import com.intellij.ide.ui.LafManager;
14-
import com.intellij.ide.ui.laf.darcula.DarculaLaf;
1513
import com.intellij.openapi.application.ApplicationManager;
1614

15+
import javax.swing.LookAndFeel;
1716
import javax.swing.UIManager;
17+
import java.util.Arrays;
18+
import java.util.Collection;
1819
import java.util.function.Supplier;
1920

2021
public class UIHelper {
22+
23+
private static final Collection<String> DARK_THEMES = Arrays.asList(
24+
"Darcula",
25+
"Dark",
26+
"High contrast");
27+
2128
public static void executeInUI(Runnable runnable) {
2229
if (ApplicationManager.getApplication().isDispatchThread()) {
2330
runnable.run();
@@ -37,7 +44,10 @@ public static <T> T executeInUI(Supplier<T> supplier) {
3744
}
3845

3946
public static boolean isDarkMode() {
40-
UIManager.LookAndFeelInfo lafInfo = LafManager.getInstance().getCurrentLookAndFeel();
41-
return lafInfo != null && lafInfo.getClassName().equals(DarculaLaf.class.getName());
47+
LookAndFeel lookAndFeel = UIManager.getLookAndFeel();
48+
if (lookAndFeel == null) {
49+
return false;
50+
}
51+
return DARK_THEMES.contains(lookAndFeel.getName());
4252
}
4353
}

src/main/java/com/redhat/devtools/intellij/common/validation/SchemasProviderFactory.java

+8-7
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,16 @@
1111
package com.redhat.devtools.intellij.common.validation;
1212

1313
import com.intellij.openapi.project.Project;
14+
import com.intellij.openapi.util.text.StringUtil;
1415
import com.intellij.openapi.vfs.VfsUtil;
1516
import com.intellij.openapi.vfs.VirtualFile;
1617
import com.intellij.openapi.vfs.VirtualFileManager;
1718
import com.jetbrains.jsonSchema.extension.JsonSchemaFileProvider;
1819
import com.jetbrains.jsonSchema.extension.JsonSchemaProviderFactory;
20+
import org.jetbrains.annotations.NotNull;
21+
import org.slf4j.Logger;
22+
import org.slf4j.LoggerFactory;
23+
1924
import java.io.BufferedReader;
2025
import java.io.IOException;
2126
import java.io.InputStream;
@@ -25,10 +30,6 @@
2530
import java.util.ArrayList;
2631
import java.util.List;
2732
import java.util.stream.Collectors;
28-
import org.apache.commons.lang.StringUtils;
29-
import org.jetbrains.annotations.NotNull;
30-
import org.slf4j.Logger;
31-
import org.slf4j.LoggerFactory;
3233

3334
public class SchemasProviderFactory implements JsonSchemaProviderFactory {
3435
private static final Logger LOGGER = LoggerFactory.getLogger(SchemasProviderFactory.class);
@@ -43,9 +44,9 @@ private void load() {
4344
try (InputStream list = SchemasProviderFactory.class.getResourceAsStream("/schemas/index.properties")) {
4445
if (list != null) {
4546
try (BufferedReader reader = new BufferedReader(new InputStreamReader(list, StandardCharsets.UTF_8))) {
46-
reader.lines().filter(line -> StringUtils.isNotBlank(line)).forEach(line -> {
47-
loadSchema(line);
48-
});
47+
reader.lines()
48+
.filter(line -> !StringUtil.isEmptyOrSpaces(line))
49+
.forEach(this::loadSchema);
4950
}
5051
}
5152
} catch (IOException e) {

0 commit comments

Comments
 (0)