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;