This is an automated email from the ASF dual-hosted git repository.
lukaszlenart pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/struts-intellij-plugin.git
The following commit(s) were added to refs/heads/main by this push:
new 3476c45 feat: disable deprecated Graph editor tab by default (#64)
3476c45 is described below
commit 3476c457ea22cfafd776ea8bec78f014bc2570ed
Author: Lukasz Lenart <[email protected]>
AuthorDate: Sun Apr 5 10:38:54 2026 +0200
feat: disable deprecated Graph editor tab by default (#64)
The Graph editor tab uses deprecated IntelliJ Platform APIs
(GraphBuilder, GraphBuilderFactory) that can cause IDE freezes on
newer platform versions. Gate the feature behind a JVM system property
so it is hidden by default. Users who need the graph view can opt in
with -Dcom.intellij.struts2.enableGraphEditor=true via
Help | Edit Custom VM Options.
Made-with: Cursor
---
CHANGELOG.md | 1 +
README.md | 14 ++++++++++++++
.../graph/fileEditor/Struts2GraphFileEditorProvider.java | 14 ++++++++++++++
3 files changed, 29 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6e22719..73c9120 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,7 @@
### Changed
+- Disable the deprecated Graph editor tab by default; opt in with JVM property
`-Dcom.intellij.struts2.enableGraphEditor=true`
- Update `platformVersion` to `2026.1`
- Change since/until build to `261-261.*` (2026.1 only)
- Dependencies - upgrade `org.jetbrains.intellij.platform` to `2.13.1`
diff --git a/README.md b/README.md
index 5f418cc..f961cc4 100644
--- a/README.md
+++ b/README.md
@@ -28,6 +28,20 @@ Provides full integration of Apache Struts 2.
Questions related to the usage of the plugin should be posted to the [user
mailing list](https://struts.apache.org/mail.html).
Any issues should be reported using JIRA and [IDEA
plugin](https://issues.apache.org/jira/issues/?jql=project%20%3D%20WW%20AND%20component%20%3D%20%22IDEA%20Plugin%22)
component.
+## Optional features
+
+### Graph editor tab (disabled by default)
+
+The plugin includes a visual graph view for `struts.xml` configuration files.
This feature uses a deprecated IntelliJ Platform API and is disabled by default
because it can cause IDE freezes on newer platform versions.
+
+To enable it, add the following JVM property via **Help | Edit Custom VM
Options**:
+
+```
+-Dcom.intellij.struts2.enableGraphEditor=true
+```
+
+Restart the IDE after adding the property. The `Graph` tab will then appear
when opening `struts.xml` files that are part of a Struts file set.
+
## Testing
Tests are located in `src/test/java` and use IntelliJ Platform test frameworks
(`LightJavaCodeInsightFixtureTestCase` and similar). Test data fixtures are in
`src/test/testData`.
diff --git
a/src/main/java/com/intellij/struts2/graph/fileEditor/Struts2GraphFileEditorProvider.java
b/src/main/java/com/intellij/struts2/graph/fileEditor/Struts2GraphFileEditorProvider.java
index a45d3f0..cb68ac9 100644
---
a/src/main/java/com/intellij/struts2/graph/fileEditor/Struts2GraphFileEditorProvider.java
+++
b/src/main/java/com/intellij/struts2/graph/fileEditor/Struts2GraphFileEditorProvider.java
@@ -37,8 +37,22 @@ import java.util.Set;
*/
public class Struts2GraphFileEditorProvider extends
PerspectiveFileEditorProvider {
+ /**
+ * JVM system property to opt in to the (deprecated) Graph editor tab.
+ * Disabled by default; enable with {@code
-Dcom.intellij.struts2.enableGraphEditor=true}.
+ */
+ static final String GRAPH_EDITOR_ENABLED_PROPERTY =
"com.intellij.struts2.enableGraphEditor";
+
+ static boolean isGraphEditorEnabled() {
+ return Boolean.getBoolean(GRAPH_EDITOR_ENABLED_PROPERTY);
+ }
+
@Override
public boolean accept(@NotNull final Project project, @NotNull final
VirtualFile file) {
+ if (!isGraphEditorEnabled()) {
+ return false;
+ }
+
if (!file.isValid()) {
return false;
}