From fbced8a0aed523b2a76f62a83aed1c5859e5d7a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vojt=C4=9Bch=20Kr=C3=A1sa?=
Date: Mon, 11 Jan 2021 10:11:28 +0100
Subject: [PATCH] 193 compatibility
---
META-INF/plugin.xml | 7 ++++---
.../plantuml/idea/external/Classloaders.java | 17 +++++++++++++----
.../annotator/PlantUmlExternalAnnotator.java | 2 +-
.../plantuml/idea/rendering/DiagramInfo.java | 2 +-
4 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/META-INF/plugin.xml b/META-INF/plugin.xml
index 6145ed9f..e91a989d 100644
--- a/META-INF/plugin.xml
+++ b/META-INF/plugin.xml
@@ -3,7 +3,7 @@
3.1.0
Eugene Steinberg
-
+
PlantUML diagramming tool integration
@@ -11,9 +11,10 @@
3.1
- - Performance optimization when !includeurl is used
+ - Performance optimization when !includeurl is used
- PlantUml library upgrade to v1.2021.0
- - YAML Data Diagram support
+ - YAML Data Diagram support
+ - Syntax annotator bugfixes
3.0
diff --git a/src/org/plantuml/idea/external/Classloaders.java b/src/org/plantuml/idea/external/Classloaders.java
index c42e9f6e..c8b8efa4 100644
--- a/src/org/plantuml/idea/external/Classloaders.java
+++ b/src/org/plantuml/idea/external/Classloaders.java
@@ -3,7 +3,7 @@
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.diagnostic.Logger;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.plantuml.idea.lang.settings.PlantUmlSettings;
@@ -14,6 +14,7 @@
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
public class Classloaders {
@@ -40,9 +41,7 @@ public static ClassLoader getBundled() {
List jarFiles = new ArrayList<>();
File[] jars = getPluginHome().listFiles((dir, name) -> !name.equals("plantuml4idea.jar"));
if (jars != null) {
- if (!isUnitTest() && jars.length < 2) {
- throw new RuntimeException("Invalid installation. Should find at least 2 jars, but found only: " + Arrays.toString(jars));
- }
+ validate(jars);
jarFiles.addAll(Arrays.asList(jars));
}
if (isUnitTest()) {
@@ -62,6 +61,16 @@ public static ClassLoader getBundled() {
return bundled;
}
+ public static void validate(File[] jars) {
+ if (!isUnitTest() && jars.length < 2) {
+ throw new RuntimeException("Invalid installation. Should find at least 2 jars, but found: " + Arrays.toString(jars));
+ }
+ List plantumls = Arrays.stream(jars).filter(file -> file.getName().startsWith("plantuml")).collect(Collectors.toList());
+ if (plantumls.size() != 1) {
+ LOG.error("Invalid installation. Should find only one plantuml jar, but found: " + plantumls);
+ }
+ }
+
public static ClassLoader getCustomClassloader(String customPlantumlJarPath) {
if (Objects.equals(Classloaders.customPlantumlJarPath, customPlantumlJarPath) && custom != null) {
return custom;
diff --git a/src/org/plantuml/idea/lang/annotator/PlantUmlExternalAnnotator.java b/src/org/plantuml/idea/lang/annotator/PlantUmlExternalAnnotator.java
index 7a1edc06..ee8fade8 100644
--- a/src/org/plantuml/idea/lang/annotator/PlantUmlExternalAnnotator.java
+++ b/src/org/plantuml/idea/lang/annotator/PlantUmlExternalAnnotator.java
@@ -8,7 +8,7 @@
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiFile;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.plantuml.idea.external.PlantUmlFacade;
diff --git a/src/org/plantuml/idea/rendering/DiagramInfo.java b/src/org/plantuml/idea/rendering/DiagramInfo.java
index bff58e44..5b441830 100644
--- a/src/org/plantuml/idea/rendering/DiagramInfo.java
+++ b/src/org/plantuml/idea/rendering/DiagramInfo.java
@@ -1,8 +1,8 @@
package org.plantuml.idea.rendering;
import com.intellij.openapi.diagnostic.Logger;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.commons.lang3.StringUtils;
import java.util.List;