From 1038077e6154a6152f5fd58a98520a3d0351a285 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 22 Jan 2014 17:10:03 +0400 Subject: [PATCH] javafx: scene builder: move stubs to separate module --- .idea/modules.xml | 1 + build/scripts/layouts.gant | 5 +---- .../javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml | 6 +++--- .../FxBuilderEmbedder/Stubs/FxBuilderStubs.iml | 13 +++++++++++++ .../oracle/javafx/scenebuilder/app/AppPlatform.java | 0 .../scenebuilder/app/DocumentWindowController.java | 0 .../javafx/scenebuilder/app/SceneBuilderApp.java | 0 .../scenebuilder/kit/editor/EditorController.java | 0 .../kit/editor/drag/source/AbstractDragSource.java | 0 .../scenebuilder/kit/library/user/UserLibrary.java | 0 .../stubsSrc/javafx/application/Platform.java | 0 .../stubsSrc/javafx/embed/swing/JFXPanel.java | 0 .../{ => Stubs}/stubsSrc/javafx/scene/Scene.java | 0 .../stubsSrc/javafx/scene/input/DataFormat.java | 0 plugins/javaFX/javaFX.iml | 2 ++ .../javaFX/sceneBuilder/SceneBuilderEditor.java | 11 +++++++---- 16 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 plugins/javaFX/FxBuilderEmbedder/Stubs/FxBuilderStubs.iml rename plugins/javaFX/FxBuilderEmbedder/{ => Stubs}/stubsSrc/com/oracle/javafx/scenebuilder/app/AppPlatform.java (100%) rename plugins/javaFX/FxBuilderEmbedder/{ => Stubs}/stubsSrc/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java (100%) rename plugins/javaFX/FxBuilderEmbedder/{ => Stubs}/stubsSrc/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java (100%) rename plugins/javaFX/FxBuilderEmbedder/{ => Stubs}/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java (100%) rename plugins/javaFX/FxBuilderEmbedder/{ => Stubs}/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java (100%) rename plugins/javaFX/FxBuilderEmbedder/{ => Stubs}/stubsSrc/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java (100%) rename plugins/javaFX/FxBuilderEmbedder/{ => Stubs}/stubsSrc/javafx/application/Platform.java (100%) rename plugins/javaFX/FxBuilderEmbedder/{ => Stubs}/stubsSrc/javafx/embed/swing/JFXPanel.java (100%) rename plugins/javaFX/FxBuilderEmbedder/{ => Stubs}/stubsSrc/javafx/scene/Scene.java (100%) rename plugins/javaFX/FxBuilderEmbedder/{ => Stubs}/stubsSrc/javafx/scene/input/DataFormat.java (100%) diff --git a/.idea/modules.xml b/.idea/modules.xml index b0f9f8b369d3..aee60deaaf2c 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -4,6 +4,7 @@ + diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant index 4a9796d56a23..6e83aa9003b9 100644 --- a/build/scripts/layouts.gant +++ b/build/scripts/layouts.gant @@ -216,10 +216,7 @@ def layoutFull(String home, String targetDirectory, String patchedDescriptorDir module("common-javaFX-plugin") } jar("embedder.jar") { - module("FXBuilderEmbedder") { - exclude(name: "com/**") - exclude(name: "javafx/**") - } + module("FXBuilderEmbedder") } } } diff --git a/plugins/javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml b/plugins/javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml index b6424b217e7a..3e312abc5d95 100644 --- a/plugins/javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml +++ b/plugins/javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml @@ -1,13 +1,13 @@ - + - - + + diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/FxBuilderStubs.iml b/plugins/javaFX/FxBuilderEmbedder/Stubs/FxBuilderStubs.iml new file mode 100644 index 000000000000..6645c17898da --- /dev/null +++ b/plugins/javaFX/FxBuilderEmbedder/Stubs/FxBuilderStubs.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/app/AppPlatform.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/app/AppPlatform.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/app/AppPlatform.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/app/AppPlatform.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/application/Platform.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/application/Platform.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/application/Platform.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/application/Platform.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/embed/swing/JFXPanel.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/embed/swing/JFXPanel.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/embed/swing/JFXPanel.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/embed/swing/JFXPanel.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/scene/Scene.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Scene.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/scene/Scene.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Scene.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/scene/input/DataFormat.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/input/DataFormat.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/scene/input/DataFormat.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/input/DataFormat.java diff --git a/plugins/javaFX/javaFX.iml b/plugins/javaFX/javaFX.iml index 3abff64396de..78a171deff34 100644 --- a/plugins/javaFX/javaFX.iml +++ b/plugins/javaFX/javaFX.iml @@ -6,6 +6,7 @@ + @@ -23,6 +24,7 @@ + diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderEditor.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderEditor.java index 03ddc6be16c6..0056d0aa8de9 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderEditor.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderEditor.java @@ -14,6 +14,8 @@ import com.intellij.openapi.util.UserDataHolderBase; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.ui.HyperlinkLabel; +import com.intellij.util.PathUtil; +import javafx.embed.swing.JFXPanel; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -111,9 +113,7 @@ public class SceneBuilderEditor extends UserDataHolderBase implements FileEditor private void loadSceneBuilder(SceneBuilderInfo info) throws Exception { mySceneLoader = createSceneLoader(info); - System.out.println(mySceneLoader.loadClass("com.oracle.javafx.scenebuilder.app.SceneBuilderApp")); - - Class wrapperClass = mySceneLoader.loadClass("org.jetbrains.plugins.javaFX.sceneBuilder.SceneBuilderWrapper"); + Class wrapperClass = Class.forName("org.jetbrains.plugins.javaFX.sceneBuilder.SceneBuilderWrapper", false, mySceneLoader); myFxPanel = (JComponent)wrapperClass.getMethod("create", String.class).invoke(null, myFile.getPath()); myPanel.add(myFxPanel, SCENE_CARD); @@ -155,7 +155,10 @@ public class SceneBuilderEditor extends UserDataHolderBase implements FileEditor throw new Exception(info.libPath + " no jar found"); } - return new URLClassLoader(urls.toArray(new URL[urls.size()])); + urls.add(new File(PathUtil.getJarPathForClass(JFXPanel.class)).toURI().toURL()); + urls.add(new File(PathUtil.getJarPathForClass(SceneBuilderWrapper.class)).toURI().toURL()); + + return new URLClassLoader(urls.toArray(new URL[urls.size()]), null); } @NotNull