diff --git a/.idea/misc.xml b/.idea/misc.xml index 40ed37d..9c79eba 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -17,7 +17,7 @@ - + \ No newline at end of file diff --git a/META-INF/plugin.xml b/META-INF/plugin.xml index fc408fc..4a0d2b2 100755 --- a/META-INF/plugin.xml +++ b/META-INF/plugin.xml @@ -1,7 +1,7 @@ com.headwire.aem.tooling.intellij AEM IDE Tooling 4 IntelliJ - 1.0.3.2 + 1.0.3.3-beta1 headwire.com Inc +
  • 1.0.3.3-beta1: +
      +
    1. + Updating to latest IntelliJ and fixing a blocking issue when connect in debug mode (pending) +
    2. +
    +
  • 1.0.3.2:
    1. diff --git a/Readme.md b/Readme.md index 6fa3c47..cbcad68 100755 --- a/Readme.md +++ b/Readme.md @@ -41,6 +41,9 @@ The **master** is the latest release code and it the same as the highest #### Updates: +**1.0.3.3-beta1**: +* Working on issues with latest IntelliJ Releases. + **1.0.3.2**: * Fixed an issue on Windows with Log4j's LocationAwareLogger. diff --git a/src/main/java/com/headwire/aem/tooling/intellij/communication/ServerConnectionManager.java b/src/main/java/com/headwire/aem/tooling/intellij/communication/ServerConnectionManager.java index a626c7d..1793ca5 100644 --- a/src/main/java/com/headwire/aem/tooling/intellij/communication/ServerConnectionManager.java +++ b/src/main/java/com/headwire/aem/tooling/intellij/communication/ServerConnectionManager.java @@ -232,8 +232,11 @@ public boolean checkModule(@NotNull OsgiClient osgiClient, @NotNull final Module WaitableRunner runner = new WaitableRunner() { private AtomicInteger response = new AtomicInteger(1); @Override +// public boolean isAsynchronous() { +// return true; +// } public boolean isAsynchronous() { - return true; + return false; } @Override diff --git a/src/main/java/com/headwire/aem/tooling/intellij/config/ServerConfigurationManager.java b/src/main/java/com/headwire/aem/tooling/intellij/config/ServerConfigurationManager.java index cfa47b5..bb02b54 100644 --- a/src/main/java/com/headwire/aem/tooling/intellij/config/ServerConfigurationManager.java +++ b/src/main/java/com/headwire/aem/tooling/intellij/config/ServerConfigurationManager.java @@ -24,6 +24,7 @@ import com.headwire.aem.tooling.intellij.util.Util; import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.components.AbstractProjectComponent; import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.components.State; @@ -45,12 +46,14 @@ * The Server Configuration Manager responsible for Loading & Saving the Server Configurations into the Workspace File * inside the IDEA folder (.idea/workspace.xml) and to provide the configurations to the plugin. * + * ATTENTION: Storage Id is removed in the latest IntelliJ Release. Removed Id and File and just use the file name + * * Created by Andreas Schaefer (Headwire.com) on 3/19/15. */ @State( name = ServerConfiguration.COMPONENT_NAME, storages = { - @Storage(id = "serverConfigurations", file = StoragePathMacros.WORKSPACE_FILE) + @Storage("serverConfigurations.xml") } ) public class ServerConfigurationManager @@ -101,11 +104,22 @@ public boolean updateCurrentServerConfiguration() { public class ConfigurationChangeListener { public void configurationChanged() { - ApplicationManager.getApplication().invokeLater(new Runnable() { - public void run() { - myEventDispatcher.getMulticaster().configurationLoaded(); - } - }); + ApplicationManager.getApplication().invokeAndWait( + new Runnable() { + public void run() { + myEventDispatcher.getMulticaster().configurationLoaded(); + } + }, + ModalityState.any() + ); +// ApplicationManager.getApplication().invokeLater( +// new Runnable() { +// public void run() { +// myEventDispatcher.getMulticaster().configurationLoaded(); +// } +// }, +// ModalityState.any() +// ); } } @@ -173,11 +187,30 @@ public void updateServerConfiguration(ServerConfiguration serverConfiguration) { if(configuration != null && configuration != serverConfiguration) { configuration.copy(serverConfiguration); } - ApplicationManager.getApplication().invokeLater(new Runnable() { - public void run() { - myEventDispatcher.getMulticaster().configurationLoaded(); - } - }); +// ApplicationManager.getApplication().invokeLater( +// new USCR(myEventDispatcher), +//// new Runnable() { +//// public void run() { +//// myEventDispatcher.getMulticaster().configurationLoaded(); +//// String test = "done"; +//// } +//// }, +// ModalityState.any() +// ); + } + + private static class USCR implements Runnable { + private EventDispatcher myEventDispatcher; + + public USCR(EventDispatcher myEventDispatcher) { + this.myEventDispatcher = myEventDispatcher; + } + + @Override + public void run() { + myEventDispatcher.getMulticaster().configurationLoaded(); + String test1A = "done"; + } } /** @@ -334,22 +367,40 @@ public void run(@NotNull final ProgressIndicator indicator) { try { indicator.setText(title); ApplicationManager.getApplication().runReadAction( - new Runnable() { - public void run() { - if(myEventDispatcher.getMulticaster() != null) { - myEventDispatcher.getMulticaster().configurationLoaded(); - } - } - } + new TBR(myEventDispatcher) +// new Runnable() { +// public void run() { +// if(myEventDispatcher.getMulticaster() != null) { +// myEventDispatcher.getMulticaster().configurationLoaded(); +// } +// String test = "done"; +// } +// } ); } finally { - + String test2 = "done"; } } } ); } + private static class TBR implements Runnable { + private EventDispatcher myEventDispatcher; + + public TBR(EventDispatcher myEventDispatcher) { + this.myEventDispatcher = myEventDispatcher; + } + + @Override + public void run() { + if(myEventDispatcher.getMulticaster() != null) { + myEventDispatcher.getMulticaster().configurationLoaded(); + } + String test = "done"; + } + } + public void addConfigurationListener(ConfigurationListener myConfigurationListener) { //AS TODO: This class is loaded way ahead and so we fire a configuration listener if none are there boolean first = myEventDispatcher.getListeners().isEmpty(); @@ -364,11 +415,31 @@ private static void queueLater(final Task task) { if (app.isDispatchThread()) { task.queue(); } else { - app.invokeLater(new Runnable() { - public void run() { - task.queue(); - } - }); + app.invokeLater( + new QLR(task), +// new Runnable() { +// public void run() { +// task.queue(); +// String test3 = "done"; +// } +// }, + ModalityState.any() + ); + String test4 = "done"; + } + } + + private static class QLR implements Runnable { + private Task task; + + public QLR(final Task task) { + this.task = task; + } + + @Override + public void run() { + task.queue(); + String test3 = "done"; } } diff --git a/src/main/java/com/headwire/aem/tooling/intellij/config/general/AEMPluginConfiguration.java b/src/main/java/com/headwire/aem/tooling/intellij/config/general/AEMPluginConfiguration.java index 604eba0..9c2a6c5 100644 --- a/src/main/java/com/headwire/aem/tooling/intellij/config/general/AEMPluginConfiguration.java +++ b/src/main/java/com/headwire/aem/tooling/intellij/config/general/AEMPluginConfiguration.java @@ -34,11 +34,13 @@ /** * A component created just to be able to configure the plugin. + * + * ATTENTION: Storage Id is removed in the latest IntelliJ Release. Removed Id and File and just use the file name */ @State( name = AEMPluginConfigurationDialog.COMPONENT_NAME, storages = { - @Storage(id = "other", file = "$APP_CONFIG$/aemPluginConfigurations.config") + @Storage("other.xml") } ) public class AEMPluginConfiguration diff --git a/src/main/java/com/headwire/aem/tooling/intellij/explorer/SlingMavenModuleBuilder.java b/src/main/java/com/headwire/aem/tooling/intellij/explorer/SlingMavenModuleBuilder.java index c0aa4c4..be56317 100644 --- a/src/main/java/com/headwire/aem/tooling/intellij/explorer/SlingMavenModuleBuilder.java +++ b/src/main/java/com/headwire/aem/tooling/intellij/explorer/SlingMavenModuleBuilder.java @@ -106,7 +106,7 @@ public class SlingMavenModuleBuilder private Map myPropertiesToCreateByArtifact; - public void setupRootModel(ModifiableRootModel rootModel) throws ConfigurationException { + public void setupRootModel(ModifiableRootModel rootModel) { final Project project = rootModel.getProject(); final VirtualFile root = createAndGetContentEntry(); diff --git a/tests/modules/aem/6.3/basecomponent/.idea/workspace.xml b/tests/modules/aem/6.3/basecomponent/.idea/workspace.xml index 7689c13..873a691 100644 --- a/tests/modules/aem/6.3/basecomponent/.idea/workspace.xml +++ b/tests/modules/aem/6.3/basecomponent/.idea/workspace.xml @@ -15,7 +15,6 @@ - @@ -72,7 +71,7 @@ - + @@ -134,7 +133,7 @@ - + - + @@ -189,8 +176,73 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -264,29 +348,6 @@ - - - - - - - - - - - - - @@ -345,19 +385,6 @@ - - - - - - - - - - - - - @@ -455,6 +443,9 @@ + + + @@ -466,41 +457,41 @@ - - + - - + - + - + - - + - + + + + @@ -851,7 +842,7 @@ - +