Author: koen.aers(a)jboss.com
Date: 2011-08-18 10:58:34 -0400 (Thu, 18 Aug 2011)
New Revision: 34051
Added:
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/META-INF/beans.xml
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/META-INF/forge.xml
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/module.xml
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/tools/
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/tools/forge/
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/tools/forge/runtime/
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/tools/forge/runtime/ext/
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/tools/forge/runtime/ext/EventHandler.java
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/tools/forge/runtime/ext/MetaCommandTriggeredAction.java
Log:
JBIDE-9561: try to put all the classes and resources in the main folder
Added: trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/META-INF/beans.xml
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/META-INF/beans.xml
(rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/META-INF/beans.xml 2011-08-18
14:58:34 UTC (rev 34051)
@@ -0,0 +1,5 @@
+<beans
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+
http://java.sun.com/xml/ns/javaee
+
http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+</beans>
Added: trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/META-INF/forge.xml
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/META-INF/forge.xml
(rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/META-INF/forge.xml 2011-08-18
14:58:34 UTC (rev 34051)
@@ -0,0 +1 @@
+<forge/>
\ No newline at end of file
Added: trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/module.xml
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/module.xml
(rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/module.xml 2011-08-18 14:58:34
UTC (rev 34051)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<module xmlns="urn:jboss:module:1.0"
name="org.jboss.tools.forge.runtime.ext">
+
+ <resources>
+ <resource-root path="../../../../../../../../bin" />
+ </resources>
+
+ <dependencies>
+ <module name="org.jboss.forge.shell-api"/>
+ <module name="javax.api"/>
+ </dependencies>
+
+</module>
Added:
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/tools/forge/runtime/ext/EventHandler.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/tools/forge/runtime/ext/EventHandler.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/tools/forge/runtime/ext/EventHandler.java 2011-08-18
14:58:34 UTC (rev 34051)
@@ -0,0 +1,24 @@
+package org.jboss.tools.forge.runtime.ext;
+
+import javax.enterprise.event.Observes;
+import javax.inject.Inject;
+
+import org.jboss.forge.shell.Shell;
+import org.jboss.forge.shell.events.PostStartup;
+
+public class EventHandler {
+
+ private static final String ESCAPE = new String(new char[] { 27, '[',
'%'} );
+
+ @Inject
+ private Shell shell;
+
+ public void startup(@Observes PostStartup event) {
+ sendEscaped("PostStartup");
+ }
+
+ private void sendEscaped(String str) {
+ shell.print(ESCAPE + str + ESCAPE);
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/tools/forge/runtime/ext/MetaCommandTriggeredAction.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/tools/forge/runtime/ext/MetaCommandTriggeredAction.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.runtime.ext/org/jboss/tools/forge/runtime/ext/MetaCommandTriggeredAction.java 2011-08-18
14:58:34 UTC (rev 34051)
@@ -0,0 +1,71 @@
+package org.jboss.tools.forge.runtime.ext;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import javax.inject.Inject;
+
+import org.jboss.forge.shell.Shell;
+import org.jboss.forge.shell.command.CommandMetadata;
+import org.jboss.forge.shell.command.PluginMetadata;
+import org.jboss.forge.shell.command.PluginRegistry;
+import org.jboss.forge.shell.spi.TriggeredAction;
+
+public class MetaCommandTriggeredAction implements TriggeredAction {
+
+ private static final String ESCAPE = new String(new char[] { 27, '[',
'%' });
+
+ @Inject Shell shell;
+
+ @Inject PluginRegistry registry;
+
+ @Override
+ public ActionListener getListener() {
+ return new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ try {
+ shell.print(ESCAPE);
+ String text = shell.readLine();
+ shell.print(ESCAPE);
+ handleHiddenCommand(text);
+ } catch (IOException e1) {
+ e1.printStackTrace();
+ }
+ }
+ };
+ }
+
+ private void handleHiddenCommand(String text) {
+ if ("plugin-candidates-query".equals(text)) {
+ shell.print(ESCAPE + "plugin-candidates-answer: " + getPluginCandidates() +
ESCAPE);
+ }
+ }
+
+ private String getPluginCandidates() {
+ StringBuffer resultBuffer = new StringBuffer();
+ Map<String, List<PluginMetadata>> plugins = registry.getPlugins();
+ for (Entry<String, List<PluginMetadata>> entry : plugins.entrySet()) {
+ for (PluginMetadata pluginMeta : entry.getValue()) {
+ List<CommandMetadata> commands = pluginMeta.getAllCommands();
+ if (!commands.isEmpty()) {
+ resultBuffer.append("p:").append(pluginMeta.getName()).append('
');
+ for (CommandMetadata commandMeta : commands) {
+ resultBuffer.append("c:").append(commandMeta.getName()).append('
');
+ }
+ }
+ }
+ }
+ return resultBuffer.toString();
+ }
+
+ @Override
+ public char getTrigger() {
+ return (char)31;
+ }
+
+}