Author: koen.aers(a)jboss.com
Date: 2011-06-08 06:07:42 -0400 (Wed, 08 Jun 2011)
New Revision: 31904
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/.classpath
trunk/forge/plugins/org.jboss.tools.forge.ui/.project
trunk/forge/plugins/org.jboss.tools.forge.ui/.settings/
trunk/forge/plugins/org.jboss.tools.forge.ui/.settings/org.eclipse.jdt.core.prefs
trunk/forge/plugins/org.jboss.tools.forge.ui/META-INF/
trunk/forge/plugins/org.jboss.tools.forge.ui/META-INF/MANIFEST.MF
trunk/forge/plugins/org.jboss.tools.forge.ui/build.properties
trunk/forge/plugins/org.jboss.tools.forge.ui/icons/
trunk/forge/plugins/org.jboss.tools.forge.ui/icons/start.gif
trunk/forge/plugins/org.jboss.tools.forge.ui/icons/stop.gif
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/activation.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-connector-wagon.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-impl.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-spi.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-util.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/args4j.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/cal10n-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/cdi-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/common.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/commons-cli.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/commons-codec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/commons-logging.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/contenttype.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/core.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/el-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-dev-plugins.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-git-tools.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-javaee-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-javaee-impl.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-maven-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-parser-java-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-parser-java.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-parser-xml.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-project-model-maven.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-reference-guide.war
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-scaffold-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-scaffold-plugins.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-shell-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-shell.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/fpak.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/guava.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/hibernate-jpa-2.0-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/httpclient.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/httpcore.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jansi.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/javassist.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/javax.inject.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jaxrs-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-annotations-api_1.1_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-connector-api_1.5_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-ejb-api_3.1_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-el-api_2.2_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-interceptor-core.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-interceptor-spi.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-interceptors-api_1.1_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jacc-api_1.4_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jad-api_1.2_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaspi-api_1.0_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-javaee-6.0.pom
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaxb-api_2.2_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaxr-api_1.0_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaxrpc-api_1.1_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaxws-api_2.2_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jms-api_1.1_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jsp-api_2.2_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-logging.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-saaj-api_1.3_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-servlet-api_3.0_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-transaction-api_1.1_spec.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jline.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jobs.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jsch.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jsf-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jsr181-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jsr250-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jstl.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/log4j.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/mail.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-aether-provider.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-artifact.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-compat.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-core.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-embedder.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-model-builder.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-model.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-plugin-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-repository-metadata.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-settings-builder.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-settings.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/metawidget-forge.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/metawidget.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/mvel2.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.console.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.iplog.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.pgm.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.ui.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/osgi.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-cipher.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-classworlds.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-component-annotations.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-interpolation.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-sec-dispatcher.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-utils.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/preferences.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/resources.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/runtime.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/seam-render.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/seam-solder.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/shrinkwrap-descriptors-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/shrinkwrap-descriptors-impl.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/sisu-guice-no_aop.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/sisu-inject-bean.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/sisu-inject-plexus.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/slf4j-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/slf4j-ext.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/slf4j-log4j12.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/snakeyaml.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/stax-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/text.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/validation-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/wagon-file.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/wagon-http-lightweight.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/wagon-http-shared.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/wagon-provider-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/weld-api.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/weld-core.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/weld-se-core.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/weld-spi.jar
trunk/forge/plugins/org.jboss.tools.forge.ui/plugin.xml
trunk/forge/plugins/org.jboss.tools.forge.ui/pom.xml
trunk/forge/plugins/org.jboss.tools.forge.ui/src/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ForgePlugin.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StartDelegate.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StopDelegate.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ColorManager.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/CommandRecorder.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/Console.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsoleInputStream.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsoleOutputStream.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsolePartitioner.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/InputReadJob.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/StreamListener.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/importer/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/importer/ProjectConfigurationUpdater.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/importer/ProjectImporter.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/launching/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/launching/ForgeInstallation.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/launching/ForgeRuntime.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/ConsolePartition.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/ConsolePartitioner.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/EmptyPreferencePage.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeInstallationDialog.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeInstallationLabelProvider.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeInstallationsPreferencePage.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeIntallationLabelProvider.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsolePage.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleText.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleView.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleViewer.java
Log:
- remove seam reference of plugin name
- split forge plugin in runtime/core/ui triplet
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/.classpath
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/.classpath (rev
0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/.classpath 2011-06-08 10:07:42 UTC (rev
31904)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con"
path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/.project
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/.project (rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/.project 2011-06-08 10:07:42 UTC (rev
31904)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jboss.tools.forge.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/.settings/org.eclipse.jdt.core.prefs 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,8 @@
+#Fri Jan 07 16:05:07 CET 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/META-INF/MANIFEST.MF
(rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/META-INF/MANIFEST.MF 2011-06-08 10:07:42
UTC (rev 31904)
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Forge Tools
+Bundle-SymbolicName: org.jboss.tools.forge.ui;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.ui.console,
+ org.eclipse.jface.text,
+ org.eclipse.debug.ui,
+ org.eclipse.jdt.launching,
+ org.eclipse.ui.editors,
+ org.eclipse.ui.ide,
+ org.eclipse.m2e.core;bundle-version="0.13.0",
+ org.eclipse.m2e.maven.runtime;bundle-version="0.13.0",
+ org.eclipse.jdt.core,
+ org.eclipse.ui.views
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.jboss.tools.forge.ForgePlugin
+Bundle-ClassPath: .,
+ lib/jline.jar
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/build.properties
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/build.properties
(rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/build.properties 2011-06-08 10:07:42 UTC
(rev 31904)
@@ -0,0 +1,8 @@
+output.. = bin/
+bin.includes = META-INF/,\
+ plugin.xml,\
+ lib/,\
+ icons/,\
+ .,\
+ lib/jline.jar
+source.. = src/
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/icons/start.gif
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/icons/start.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/icons/stop.gif
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/icons/stop.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/activation.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/activation.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-connector-wagon.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-connector-wagon.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-impl.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-impl.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-spi.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-spi.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-util.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/aether-util.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/args4j.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/args4j.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/cal10n-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/cal10n-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/cdi-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/cdi-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/common.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/common.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/commons-cli.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/commons-cli.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/commons-codec.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/commons-codec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/commons-logging.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/commons-logging.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/contenttype.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/contenttype.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/core.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/core.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/el-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/el-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-dev-plugins.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-dev-plugins.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-git-tools.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-git-tools.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-javaee-api.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-javaee-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-javaee-impl.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-javaee-impl.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-maven-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-maven-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-parser-java-api.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-parser-java-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-parser-java.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-parser-java.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-parser-xml.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-parser-xml.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-project-model-maven.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-project-model-maven.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-reference-guide.war
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-reference-guide.war
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-scaffold-api.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-scaffold-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-scaffold-plugins.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-scaffold-plugins.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-shell-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-shell-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-shell.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/forge-shell.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/fpak.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/fpak.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/guava.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/guava.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/hibernate-jpa-2.0-api.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/hibernate-jpa-2.0-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/httpclient.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/httpclient.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/httpcore.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/httpcore.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jansi.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jansi.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/javassist.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/javassist.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/javax.inject.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/javax.inject.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jaxrs-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jaxrs-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-annotations-api_1.1_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-annotations-api_1.1_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-connector-api_1.5_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-connector-api_1.5_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-ejb-api_3.1_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-ejb-api_3.1_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-el-api_2.2_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-el-api_2.2_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-interceptor-core.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-interceptor-core.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-interceptor-spi.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-interceptor-spi.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-interceptors-api_1.1_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-interceptors-api_1.1_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jacc-api_1.4_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jacc-api_1.4_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jad-api_1.2_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jad-api_1.2_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaspi-api_1.0_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaspi-api_1.0_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-javaee-6.0.pom
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-javaee-6.0.pom
(rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-javaee-6.0.pom 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,176 @@
+<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.jboss.spec</groupId>
+ <artifactId>jboss-specs-parent</artifactId>
+ <version>1.0.0.Beta2</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jboss-javaee-6.0</artifactId>
+ <version>1.0.0.Final</version>
+ <packaging>pom</packaging>
+ <name>JBoss Java EE 6.0 API Aggregate</name>
+ <description>Java EE 6.0 APIs for use with JBoss AS 6</description>
+
+ <!-- Properties -->
+ <properties>
+ <version.jboss.javaee6.bom>1.0.1.Final</version.jboss.javaee6.bom>
+ </properties>
+
+ <scm>
+
<
connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/spe...
+
<
developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projec...
+
<
url>http://fisheye.jboss.org/browse/JBossAS/projects/specs/tags/jboss-...
+ </scm>
+
+ <!-- This repository declaration exists so that Maven 2.2.x clients will download
the Spec BOM. -->
+ <!-- If you do not include it, projects consuming this artifact and built in Maven
3.x will build correctly, -->
+ <!-- but will throw an error if built with 2.2.x. If your project has the
jboss-public-repository as one of it's -->
+ <!-- declared repositories and consumes this spec jar, it will download the spec
artifact correctly, -->
+ <!-- but won't find the org.jboss.spec:jboss-javaee6-specs-bom artifact.
-->
+ <!-- This declaration can be removed once all the spec POM's dependencies are
in the Maven Central Repo. -->
+ <!-- Since the spec POM is consumed by end-users via the archetypes, it needs to be
work with projects built under Maven 2.x. -->
+ <repositories>
+ <repository>
+ <id>jboss-public-repository</id>
+ <name>JBoss Repository</name>
+ <
url>https://repository.jboss.org/nexus/content/groups/public</url>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>daily</updatePolicy>
+ </snapshots>
+ </repository>
+ </repositories>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.spec</groupId>
+ <artifactId>jboss-javaee6-specs-bom</artifactId>
+ <version>${version.jboss.javaee6.bom}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.spec.javax.annotation</groupId>
+ <artifactId>jboss-annotations-api_1.1_spec</artifactId>
+ </dependency>
+ <!-- JavaEE 6 requires Connector API 1.6 -->
+ <dependency>
+ <groupId>org.jboss.spec.javax.resource</groupId>
+ <artifactId>jboss-connector-api_1.5_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.ejb</groupId>
+ <artifactId>jboss-ejb-api_3.1_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.el</groupId>
+ <artifactId>jboss-el-api_2.2_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.interceptor</groupId>
+ <artifactId>jboss-interceptors-api_1.1_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.security.jacc</groupId>
+ <artifactId>jboss-jacc-api_1.4_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.enterprise.deploy</groupId>
+ <artifactId>jboss-jad-api_1.2_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.security.auth.message</groupId>
+ <artifactId>jboss-jaspi-api_1.0_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.xml.registry</groupId>
+ <artifactId>jboss-jaxr-api_1.0_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.jms</groupId>
+ <artifactId>jboss-jms-api_1.1_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.servlet.jsp</groupId>
+ <artifactId>jboss-jsp-api_2.2_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.servlet</groupId>
+ <artifactId>jboss-servlet-api_3.0_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.transaction</groupId>
+ <artifactId>jboss-transaction-api_1.1_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.xml.bind</groupId>
+ <artifactId>jboss-jaxb-api_2.2_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.xml.rpc</groupId>
+ <artifactId>jboss-jaxrpc-api_1.1_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.xml.soap</groupId>
+ <artifactId>jboss-saaj-api_1.3_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.xml.ws</groupId>
+ <artifactId>jboss-jaxws-api_2.2_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.enterprise</groupId>
+ <artifactId>cdi-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.faces</groupId>
+ <artifactId>jsf-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.jws</groupId>
+ <artifactId>jsr181-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate.javax.persistence</groupId>
+ <artifactId>hibernate-jpa-2.0-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>jaxrs-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>stax</groupId>
+ <artifactId>stax-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ </dependency>
+ </dependencies>
+</project>
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaxb-api_2.2_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaxb-api_2.2_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaxr-api_1.0_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaxr-api_1.0_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaxrpc-api_1.1_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaxrpc-api_1.1_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaxws-api_2.2_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jaxws-api_2.2_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jms-api_1.1_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jms-api_1.1_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jsp-api_2.2_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-jsp-api_2.2_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-logging.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-logging.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-saaj-api_1.3_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-saaj-api_1.3_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-servlet-api_3.0_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-servlet-api_3.0_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-transaction-api_1.1_spec.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jboss-transaction-api_1.1_spec.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jline.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jline.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jobs.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jobs.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jsch.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jsch.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jsf-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jsf-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jsr181-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jsr181-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jsr250-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jsr250-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jstl.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/jstl.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/log4j.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/log4j.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/mail.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/mail.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-aether-provider.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-aether-provider.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-artifact.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-artifact.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-compat.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-compat.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-core.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-core.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-embedder.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-embedder.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-model-builder.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-model-builder.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-model.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-model.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-plugin-api.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-plugin-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-repository-metadata.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-repository-metadata.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-settings-builder.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-settings-builder.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-settings.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/maven-settings.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/metawidget-forge.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/metawidget-forge.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/metawidget.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/metawidget.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/mvel2.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/mvel2.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.console.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.console.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.iplog.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.iplog.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.pgm.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.pgm.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.ui.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/org.eclipse.jgit.ui.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/osgi.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/osgi.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-cipher.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-cipher.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-classworlds.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-classworlds.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-component-annotations.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-component-annotations.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-interpolation.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-interpolation.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-sec-dispatcher.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-sec-dispatcher.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-utils.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/plexus-utils.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/preferences.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/preferences.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/resources.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/resources.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/runtime.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/runtime.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/seam-render.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/seam-render.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/seam-solder.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/seam-solder.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/shrinkwrap-descriptors-api.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/shrinkwrap-descriptors-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/shrinkwrap-descriptors-impl.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/shrinkwrap-descriptors-impl.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/sisu-guice-no_aop.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/sisu-guice-no_aop.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/sisu-inject-bean.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/sisu-inject-bean.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/sisu-inject-plexus.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/sisu-inject-plexus.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/slf4j-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/slf4j-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/slf4j-ext.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/slf4j-ext.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/slf4j-log4j12.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/slf4j-log4j12.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/snakeyaml.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/snakeyaml.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/stax-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/stax-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/text.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/text.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/validation-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/validation-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/wagon-file.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/wagon-file.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/wagon-http-lightweight.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/wagon-http-lightweight.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/wagon-http-shared.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/wagon-http-shared.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/wagon-provider-api.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/forge/plugins/org.jboss.tools.forge.ui/lib/wagon-provider-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/weld-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/weld-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/weld-core.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/weld-core.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/weld-se-core.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/weld-se-core.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/weld-spi.jar
===================================================================
(Binary files differ)
Property changes on: trunk/forge/plugins/org.jboss.tools.forge.ui/lib/weld-spi.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/plugin.xml
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/plugin.xml (rev
0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/plugin.xml 2011-06-08 10:07:42 UTC (rev
31904)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.ui.views">
+ <category
+ id="org.jboss.tools.forge"
+ name="Forge">
+ </category>
+ <view
+ category="org.jboss.tools.forge"
+ class="org.jboss.tools.forge.view.ConsoleView"
+ id="org.jboss.tools.seam.forge.console"
+ name="Forge Console"
+ restorable="true">
+ </view>
+ </extension>
+ <extension
+ point="org.eclipse.ui.viewActions">
+ <viewContribution
+ id="org.jboss.tools.seam.forge.view"
+ targetID="org.jboss.tools.seam.forge.console">
+ <menu
+ id="org.jboss.tools.seam.forge.menubar"
+ label="Seam Forge">
+ </menu>
+ <action
+ class="org.jboss.tools.forge.action.StopDelegate"
+ icon="icons/stop.gif"
+ id="org.jboss.tools.seam.forge.stop"
+ label="Stop Forge"
+ menubarPath="org.jboss.tools.seam.forge.menubar"
+ style="push"
+ toolbarPath="org.jboss.tools.seam.forge.toolbar">
+ </action>
+ <action
+ class="org.jboss.tools.forge.action.StartDelegate"
+ icon="icons/start.gif"
+ id="org.jboss.tools.seam.forge.start"
+ label="Start Forge"
+ menubarPath="org.jboss.tools.seam.forge.menu"
+ style="push"
+ toolbarPath="org.jboss.tools.seam.forge.toolbar">
+ </action>
+ </viewContribution>
+ </extension>
+ <extension point="org.eclipse.ui.preferencePages">
+ <page
+ name="Forge"
+ class="org.jboss.tools.forge.preferences.EmptyPreferencePage"
+ id="org.jboss.tools.seam.forge">
+ </page>
+ <page
+ name="Installed Forge Runtimes"
+ category="org.jboss.tools.seam.forge"
+ class="org.jboss.tools.forge.preferences.ForgeInstallationsPreferencePage"
+ id="org.jboss.tools.seam.forge.runtimes">
+ </page>
+ </extension>
+
+</plugin>
Added: trunk/forge/plugins/org.jboss.tools.forge.ui/pom.xml
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/pom.xml (rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/pom.xml 2011-06-08 10:07:42 UTC (rev
31904)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.jboss.tools</groupId>
+ <artifactId>org.jboss.tools.parent.pom</artifactId>
+ <version>0.0.2-SNAPSHOT</version>
+ </parent>
+ <groupId>org.jboss.tools.forge.plugins</groupId>
+ <artifactId>org.jboss.tools.forge.ui</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
\ No newline at end of file
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ForgePlugin.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ForgePlugin.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ForgePlugin.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,40 @@
+package org.jboss.tools.forge;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.jboss.tools.forge.launching.ForgeRuntime;
+import org.osgi.framework.BundleContext;
+
+public class ForgePlugin extends AbstractUIPlugin {
+
+ public static final String PLUGIN_ID = "org.jboss.tools.seam.forge";
+
+ private static ForgePlugin plugin;
+
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ public void stop(BundleContext context) throws Exception {
+ if (ForgeRuntime.INSTANCE.isForgeRunning()) {
+ ForgeRuntime.INSTANCE.stopForge();
+ }
+ plugin = null;
+ super.stop(context);
+ }
+
+ public static ForgePlugin getDefault() {
+ return plugin;
+ }
+
+ public static void log(Throwable t) {
+ getDefault().getLog().log(newErrorStatus("Error logged from Forge Plugin: ",
t));
+ }
+
+ private static IStatus newErrorStatus(String message, Throwable exception) {
+ return new Status(IStatus.ERROR, PLUGIN_ID, IStatus.INFO, message, exception);
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StartDelegate.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StartDelegate.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StartDelegate.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,28 @@
+package org.jboss.tools.forge.action;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
+import org.jboss.tools.forge.launching.ForgeRuntime;
+
+public class StartDelegate implements IViewActionDelegate {
+
+ @Override
+ public void run(IAction action) {
+ ForgeRuntime.INSTANCE.startForge();
+ }
+
+ @Override
+ public void selectionChanged(IAction action, ISelection selection) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void init(IViewPart view) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StopDelegate.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StopDelegate.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StopDelegate.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,28 @@
+package org.jboss.tools.forge.action;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
+import org.jboss.tools.forge.launching.ForgeRuntime;
+
+public class StopDelegate implements IViewActionDelegate {
+
+ @Override
+ public void run(IAction action) {
+ ForgeRuntime.INSTANCE.stopForge();
+ }
+
+ @Override
+ public void selectionChanged(IAction action, ISelection selection) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void init(IViewPart view) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ColorManager.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ColorManager.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ColorManager.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,43 @@
+package org.jboss.tools.forge.console;
+
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Display;
+
+class ColorManager {
+
+ private static ColorManager INSTANCE;
+
+ private ColorManager() {}
+
+ public static ColorManager getInstance() {
+ if (INSTANCE == null) {
+ INSTANCE= new ColorManager();
+ }
+ return INSTANCE;
+ }
+
+ protected Map<RGB, Color> fColorTable= new HashMap<RGB, Color>(10);
+
+ public Color getColor(RGB rgb) {
+ Color color= (Color) fColorTable.get(rgb);
+ if (color == null) {
+ color= new Color(Display.getCurrent(), rgb);
+ fColorTable.put(rgb, color);
+ }
+ return color;
+ }
+
+ public void dispose() {
+ Iterator<Color> e= fColorTable.values().iterator();
+ while (e.hasNext())
+ ((Color) e.next()).dispose();
+ }
+}
+
+
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/CommandRecorder.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/CommandRecorder.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/CommandRecorder.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,266 @@
+package org.jboss.tools.forge.console;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jdt.core.IField;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.ISourceRange;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocumentListener;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.part.ISetSelectionTarget;
+import org.eclipse.ui.texteditor.ITextEditor;
+import org.jboss.tools.forge.ForgePlugin;
+import org.jboss.tools.forge.importer.ProjectConfigurationUpdater;
+import org.jboss.tools.forge.importer.ProjectImporter;
+
+public class CommandRecorder implements IDocumentListener {
+
+ private StringBuffer buffer = new StringBuffer();
+ private String beforePrompt = null;
+ private String currentPrompt = null;
+ private String currentCommand = null;
+
+ @Override
+ public void documentAboutToBeChanged(DocumentEvent event) {
+ }
+
+ @Override
+ public void documentChanged(DocumentEvent event) {
+ if (event.getLength() == 1 && "".equals(event.getText())) {
+ buffer.setLength(buffer.length() - 1);
+ } else {
+ buffer.append(event.getText());
+ String newPrompt = getNewPrompt();
+ if (newPrompt != null) {
+ currentPrompt = newPrompt;
+ beforePrompt = buffer.substring(0, buffer.length() - newPrompt.length());
+ buffer.setLength(0);
+ if (currentCommand != null) {
+ postProcessCurrentCommand();
+ currentCommand = null;
+ }
+ } else {
+ if (currentPrompt != null) {
+ String newCommand = getNewCommand();
+ if (newCommand != null) {
+ currentCommand = newCommand;
+ }
+ }
+ }
+ }
+ }
+
+ private String getNewPrompt() {
+ int lastLineBreak = buffer.lastIndexOf("\n");
+ if (lastLineBreak == -1) return null;
+ String lastLine = buffer.substring(lastLineBreak + 1);
+ if (lastLine.length() == 0) return null;
+ if (lastLine.charAt(0) != '[') return null;
+ int rightBracketIndex = lastLine.indexOf(']');
+ if (rightBracketIndex == -1) return null;
+ return lastLine.endsWith("$ ") ? lastLine : null;
+ }
+
+ private String getNewCommand() {
+ String candidateCommand = buffer.toString();
+ if ("pwd".equals(candidateCommand)) {
+ return "pwd";
+ } else if ("new-project".equals(candidateCommand)) {
+ return "new-project";
+ } else if ("persistence".equals(candidateCommand)) {
+ return "persistence";
+ } else if ("entity".equals(candidateCommand)) {
+ return "entity";
+ } else if ("field".equals(candidateCommand)) {
+ return "field";
+ } else if ("prettyfaces".equals(candidateCommand)) {
+ return "prettyfaces";
+ } else if ("build".equals(candidateCommand)) {
+ return "build";
+ } else {
+ return null;
+ }
+ }
+
+ private void postProcessCurrentCommand() {
+ IWorkbenchWindow workbenchWindow =
PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
+ String projectName = currentPrompt.substring(1, currentPrompt.indexOf(']'));
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ if (project != null) {
+ try {
+ project.refreshLocal(IResource.DEPTH_INFINITE, null);
+ } catch (CoreException e) {
+ ForgePlugin.log(e);
+ }
+ }
+ if ("pwd".equals(currentCommand)) {
+ // do nothing
+ } else if ("new-project".equals(currentCommand)) {
+ int index = beforePrompt.lastIndexOf("***SUCCESS*** Created project [");
+ if (index == -1) return;
+ if (index + 31 > beforePrompt.length()) return;
+ String str = beforePrompt.substring(index + 31);
+ index = str.lastIndexOf("] in new working directory [");
+ if (index == -1) return;
+ if (index + 28 > str.length()) return;
+ str = str.substring(index + 28);
+ index = str.indexOf("]");
+ if (index == -1) return;
+ String projectPath = str.substring(0, index);
+ index = projectPath.lastIndexOf('/');
+ String projectDirName = projectPath.substring(index + 1);
+ String projectBaseDirPath = projectPath.substring(0, index);
+ ProjectImporter importer = new ProjectImporter(projectBaseDirPath, projectDirName);
+ importer.importProject();
+ } else if ("persistence".equals(currentCommand)) {
+ int index = beforePrompt.lastIndexOf("***SUCCESS*** Installed [forge.spec.jpa]
successfully.\nWrote ");
+ if (index == -1) return;
+ try {
+ IFile file =
project.getFile("/src/main/resources/META-INF/persistence.xml");
+ if (file == null) return;
+ Object objectToSelect = file;
+ IDE.openEditor(workbenchPage, file);
+ IViewPart projectExplorer =
workbenchPage.findView("org.eclipse.ui.navigator.ProjectExplorer");
+ if (projectExplorer != null && projectExplorer instanceof
ISetSelectionTarget) {
+ ((ISetSelectionTarget)projectExplorer).selectReveal(new
StructuredSelection(objectToSelect));
+ }
+ IViewPart packageExplorer =
workbenchPage.findView("org.eclipse.jdt.ui.PackageExplorer");
+ if (packageExplorer == null && projectExplorer == null) {
+ packageExplorer =
workbenchPage.showView("org.eclipse.jdt.ui.PackageExplorer");
+ }
+ if (packageExplorer != null && packageExplorer instanceof
ISetSelectionTarget) {
+ ((ISetSelectionTarget)packageExplorer).selectReveal(new
StructuredSelection(objectToSelect));
+ }
+ } catch (PartInitException e) {
+ ForgePlugin.log(e);
+ }
+ } else if ("entity".equals(currentCommand)) {
+ int index = beforePrompt.lastIndexOf("Picked up type <JavaResource>:
");
+ if (index == -1) return;
+ if (index + 31 > beforePrompt.length() -1) return;
+ String entityName = beforePrompt.substring(index + 31, beforePrompt.length() -
1).replace('.', '/');
+ try {
+ IFile file = project.getFile("/src/main/java/" + entityName +
".java");
+ if (file == null) return;
+ Object objectToSelect = file;
+ IDE.openEditor(workbenchPage, file);
+ IJavaElement javaElement = JavaCore.create(file);
+ if (javaElement != null && javaElement.getElementType() ==
IJavaElement.COMPILATION_UNIT) {
+ try {
+ objectToSelect = ((ICompilationUnit)javaElement).getTypes()[0];
+ } catch (JavaModelException e) {
+ ForgePlugin.log(e);
+ }
+ }
+ IViewPart projectExplorer =
workbenchPage.findView("org.eclipse.ui.navigator.ProjectExplorer");
+ if (projectExplorer != null && projectExplorer instanceof
ISetSelectionTarget) {
+ ((ISetSelectionTarget)projectExplorer).selectReveal(new
StructuredSelection(objectToSelect));
+ }
+ IViewPart packageExplorer =
workbenchPage.findView("org.eclipse.jdt.ui.PackageExplorer");
+ if (packageExplorer == null && projectExplorer == null) {
+ packageExplorer =
workbenchPage.showView("org.eclipse.jdt.ui.PackageExplorer");
+ }
+ if (packageExplorer != null && packageExplorer instanceof
ISetSelectionTarget) {
+ ((ISetSelectionTarget)packageExplorer).selectReveal(new
StructuredSelection(objectToSelect));
+ }
+ } catch (PartInitException e) {
+ ForgePlugin.log(e);
+ }
+ } else if ("field".equals(currentCommand)) {
+ try {
+ int index = beforePrompt.lastIndexOf("Added field to ");
+ if (index == -1) return;
+ if (index + 15 > beforePrompt.length()) return;
+ String str = beforePrompt.substring(index + 15);
+ index = str.indexOf(':');
+ if (index == -1) return;
+ String entityName = str.substring(0, index);
+ str = str.substring(index);
+ index = str.lastIndexOf(';');
+ if (index == -1) return;
+ str = str.substring(0, index);
+ index = str.lastIndexOf(' ');
+ if (index == -1) return;
+ String fieldName = str.substring(index + 1);
+ IFile file = project.getFile("/src/main/java/" +
entityName.replace('.', '/') + ".java");
+ if (file == null) return;
+ IEditorPart editorPart = IDE.openEditor(workbenchPage, file);
+ IJavaElement javaElement = JavaCore.create(file);
+ if (javaElement != null && javaElement.getElementType() ==
IJavaElement.COMPILATION_UNIT) {
+ try {
+ IType type = ((ICompilationUnit)javaElement).getTypes()[0];
+ IField field = type.getField(fieldName);
+ if (field != null) {
+ ISourceRange sourceRange = field.getSourceRange();
+ if (sourceRange != null && editorPart != null && editorPart
instanceof ITextEditor) {
+ ((ITextEditor)editorPart).selectAndReveal(sourceRange.getOffset(),
sourceRange.getLength());
+ }
+ }
+ } catch (JavaModelException e) {
+ ForgePlugin.log(e);
+ }
+ }
+ } catch (PartInitException e) {
+ ForgePlugin.log(e);
+ }
+ } else if ("prettyfaces".equals(currentCommand)) {
+ int index = beforePrompt.lastIndexOf("***SUCCESS*** Installed
[com.ocpsoft.prettyfaces] successfully.");
+ if (index == -1) return;
+ String str = beforePrompt.substring(0, index - 1);
+ index = str.lastIndexOf("Wrote ");
+ if (index == -1) return;
+ if (index + 6 > str.length()) return;
+ str = str.substring(index + 6);
+ String projectLocation = project.getLocation().toString();
+ index = str.lastIndexOf(projectLocation);
+ if (index != 0) return;
+ str = str.substring(projectLocation.length());
+ IFile file = project.getFile(str);
+ if (file == null) return;
+ Object objectToSelect = file;
+ new ProjectConfigurationUpdater(project).updateProject();
+ try {
+ IDE.openEditor(workbenchPage, file);
+ IViewPart projectExplorer =
workbenchPage.findView("org.eclipse.ui.navigator.ProjectExplorer");
+ if (projectExplorer != null && projectExplorer instanceof
ISetSelectionTarget) {
+ ((ISetSelectionTarget)projectExplorer).selectReveal(new
StructuredSelection(objectToSelect));
+ }
+ IViewPart packageExplorer =
workbenchPage.findView("org.eclipse.jdt.ui.PackageExplorer");
+ if (packageExplorer == null && projectExplorer == null) {
+ packageExplorer =
workbenchPage.showView("org.eclipse.jdt.ui.PackageExplorer");
+ }
+ if (packageExplorer != null && packageExplorer instanceof
ISetSelectionTarget) {
+ ((ISetSelectionTarget)packageExplorer).selectReveal(new
StructuredSelection(objectToSelect));
+ }
+ } catch (PartInitException e) {
+ ForgePlugin.log(e);
+ }
+ } else if ("build".equals(currentCommand)) {
+
+ } else {
+
+ }
+ try {
+ workbenchPage.showView("org.jboss.tools.seam.forge.console").setFocus();
+ } catch (PartInitException e) {
+ ForgePlugin.log(e);
+ }
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/Console.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/Console.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/Console.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,195 @@
+package org.jboss.tools.forge.console;
+
+import java.io.IOException;
+
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.IDebugEventSetListener;
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.debug.core.model.IStreamMonitor;
+import org.eclipse.debug.core.model.IStreamsProxy;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.console.IConsoleDocumentPartitioner;
+import org.eclipse.ui.console.IConsoleView;
+import org.eclipse.ui.console.TextConsole;
+import org.eclipse.ui.part.IPageBookViewPage;
+
+public class Console extends TextConsole implements IDebugEventSetListener {
+
+ private ConsolePartitioner partitioner;
+ private ConsoleInputStream inputStream;
+ private ConsoleOutputStream outputStream;
+ private IProcess process = null;
+ private StreamListener outputStreamListener;
+
+
+ public Console(IProcess process) {
+ super("Forge Console", null, null, true);
+ this.process = process;
+ initInputStream();
+ initPartitioner();
+ initCommandRecorder();
+ initOutputStream();
+ initInputReadJob();
+ }
+
+ private void initCommandRecorder() {
+ getDocument().addDocumentListener(new CommandRecorder());
+ }
+
+ private void initInputStream() {
+ inputStream = new ConsoleInputStream();
+ }
+
+ private void initOutputStream() {
+ outputStream = new ConsoleOutputStream(this);
+ IStreamMonitor streamMonitor = getOutputStreamMonitor();
+ if (streamMonitor != null) {
+ synchronized(streamMonitor) {
+ outputStreamListener = new StreamListener(outputStream);
+ streamMonitor.addListener(outputStreamListener);
+ }
+ }
+ }
+
+ private IStreamMonitor getOutputStreamMonitor() {
+ IStreamMonitor streamMonitor = null;
+ IStreamsProxy streamsProxy = process.getStreamsProxy();
+ if (streamsProxy != null) {
+ streamMonitor = streamsProxy.getOutputStreamMonitor();
+ }
+ return streamMonitor;
+ }
+
+ private void initInputReadJob() {
+ InputReadJob inputReadJob = new InputReadJob(process.getStreamsProxy(),
inputStream);
+ inputReadJob.setSystem(true);
+ inputReadJob.schedule();
+ }
+
+ private void initPartitioner() {
+ partitioner = new ConsolePartitioner();
+ partitioner.connect(getDocument());
+ }
+
+ public IPageBookViewPage createPage(IConsoleView view) {
+ throw new UnsupportedOperationException();
+ }
+
+ public ConsoleInputStream getInputStream() {
+ return inputStream;
+ }
+
+ protected IConsoleDocumentPartitioner getPartitioner() {
+ return partitioner;
+ }
+
+ public void dispose() {
+ super.dispose();
+ partitioner.disconnect();
+ closeStreams();
+ disposeStreams();
+ DebugPlugin.getDefault().removeDebugEventListener(this);
+ }
+
+ private synchronized void closeStreams() {
+ try {
+ inputStream.close();
+ outputStream.close();
+// partitioner.streamsClosed();
+ } catch (IOException e) {}
+ }
+
+ private synchronized void disposeStreams() {
+ IStreamMonitor streamMonitor = getOutputStreamMonitor();
+ if (streamMonitor != null) {
+ synchronized(streamMonitor) {
+ if (outputStreamListener != null) {
+ streamMonitor.removeListener(outputStreamListener);
+ }
+ }
+ }
+ outputStreamListener = null;
+ outputStream = null;
+ inputStream = null;
+ }
+
+ public void handleDebugEvents(DebugEvent[] events) {
+ for (int i = 0; i < events.length; i++) {
+ DebugEvent event = events[i];
+ if (event.getSource().equals(process)) {
+ if (event.getKind() == DebugEvent.TERMINATE) {
+ closeStreams();
+ DebugPlugin.getDefault().removeDebugEventListener(this);
+ }
+ }
+ }
+ }
+
+ protected void init() {
+ super.init();
+ if (process.isTerminated()) {
+ closeStreams();
+ } else {
+ DebugPlugin.getDefault().addDebugEventListener(this);
+ }
+ }
+
+ private int lastLineLength = 0;
+ private int lastLinePosition = 0;
+ private StringBuffer escapeSequence = new StringBuffer();
+ private boolean escapeSequenceStarted = false;
+
+ public void appendString(final String str) {
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ for (int i = 0; i < str.length(); i++) {
+ char c = str.charAt(i);
+ if (c == '\r') continue; //ignore
+ if (c == '[' && escapeSequenceStarted) continue;
+ if (c == 27) {
+ escapeSequenceStarted = true;
+ continue;
+ }
+ if (escapeSequenceStarted) {
+ int type = Character.getType(c);
+ if (type == Character.LOWERCASE_LETTER || type == Character.UPPERCASE_LETTER) {
+ if (c == 'G') {
+ int columnNumber = Integer.valueOf(escapeSequence.toString());
+ escapeSequence.setLength(0);
+ lastLineLength = columnNumber - 1;
+ escapeSequenceStarted = false;
+ } else if (c == 'K') {
+ int doclength = getDocument().getLength();
+ int currentPosition = lastLinePosition + lastLineLength;
+ getDocument().replace(currentPosition, doclength - currentPosition,
"");
+ escapeSequenceStarted = false;
+// } else if (c == 'm') {
+//
+ }
+ } else {
+ escapeSequence.append(c);
+ }
+ continue;
+ }
+ if (str.charAt(i) == '\b') {
+ getDocument().replace(getDocument().getLength() - 1, 1, "");
+ lastLineLength--;
+ } else {
+ getDocument().replace(getDocument().getLength(), 0, str.substring(i, i + 1));
+ lastLineLength++;
+ }
+ if (c == '\n') {
+ lastLineLength = 0;
+ lastLinePosition = getDocument().getLength();
+ }
+ }
+ } catch (BadLocationException e) {}
+ }
+ });
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsoleInputStream.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsoleInputStream.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsoleInputStream.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,66 @@
+package org.jboss.tools.forge.console;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+public class ConsoleInputStream extends InputStream {
+
+ private byte[] input = new byte[0];
+ private int outPointer = 0;
+ private int size = 0;
+ private boolean eofSent = false;
+ private boolean closed = false;
+
+ public synchronized int read() throws IOException {
+ waitForData();
+ if (available() == -1) {
+ return -1;
+ }
+
+ byte b = input[outPointer];
+ outPointer++;
+ if (outPointer == input.length) {
+ outPointer = 0;
+ }
+ size -= 1;
+ return b;
+ }
+
+ private void waitForData() {
+ while (size == 0 && !closed) {
+ try {
+ wait();
+ } catch (InterruptedException e) {}
+ }
+ }
+
+ public synchronized void appendData(String text) {
+ input = text.getBytes();
+ size = text.length();
+ outPointer = 0;
+ notifyAll();
+ }
+
+ public int available() throws IOException {
+ if (closed && eofSent) {
+ throw new IOException("Input Stream Closed");
+ } else if (size == 0) {
+ if (!eofSent) {
+ eofSent = true;
+ return -1;
+ }
+ throw new IOException("Input Stream Closed");
+ }
+
+ return size;
+ }
+
+ public synchronized void close() throws IOException {
+ if(closed) {
+ throw new IOException("Input Stream Closed");
+ }
+ closed = true;
+ notifyAll();
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsoleOutputStream.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsoleOutputStream.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsoleOutputStream.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,59 @@
+package org.jboss.tools.forge.console;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+public class ConsoleOutputStream extends OutputStream {
+
+ private boolean closed = false;
+ private Console console;
+
+ ConsoleOutputStream(Console console) {
+ this.console = console;
+ }
+
+ public synchronized boolean isClosed() {
+ return closed;
+ }
+
+ public synchronized void close() throws IOException {
+ if(closed) {
+ throw new IOException("Output Stream is closed");
+ }
+ closed = true;
+ console = null;
+ }
+
+ public void flush() throws IOException {
+ if(closed) {
+ throw new IOException("Output Stream is closed");
+ }
+ }
+
+ public void write(byte[] b, int off, int len) throws IOException {
+ if(closed) {
+ throw new IOException("Output Stream is closed");
+ }
+ notifyPartitioner(new String(b, off, len));
+ }
+
+ public void write(byte[] b) throws IOException {
+ write(b, 0, b.length);
+ }
+
+ public void write(int b) throws IOException {
+ write(new byte[] {(byte)b}, 0, 1);
+ }
+
+ public synchronized void write(String str) throws IOException {
+ if(closed) {
+ throw new IOException("Output Stream is closed");
+ }
+ notifyPartitioner(str);
+ }
+
+ private void notifyPartitioner(String str) throws IOException {
+ console.appendString(str);
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsolePartitioner.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsolePartitioner.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsolePartitioner.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,69 @@
+package org.jboss.tools.forge.console;
+
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.ITypedRegion;
+import org.eclipse.swt.custom.StyleRange;
+import org.eclipse.ui.console.IConsoleDocumentPartitioner;
+
+public class ConsolePartitioner implements IConsoleDocumentPartitioner {
+
+ @Override
+ public void connect(IDocument document) {
+// System.out.println("connect");
+ document.setDocumentPartitioner(this);
+ }
+
+ @Override
+ public void disconnect() {
+// System.out.println("disconnect");
+ }
+
+ @Override
+ public void documentAboutToBeChanged(DocumentEvent event) {
+// System.out.println("documentAboutToBeChanged");
+ }
+
+ @Override
+ public boolean documentChanged(DocumentEvent event) {
+// System.out.println("documentChanged");
+ return false;
+ }
+
+ @Override
+ public String[] getLegalContentTypes() {
+// System.out.println("getLegalContentTypes");
+ return null;
+ }
+
+ @Override
+ public String getContentType(int offset) {
+// System.out.println("getContentType");
+ return null;
+ }
+
+ @Override
+ public ITypedRegion[] computePartitioning(int offset, int length) {
+// System.out.println("computePartitioning");
+ return null;
+ }
+
+ @Override
+ public ITypedRegion getPartition(int offset) {
+// System.out.println("getPartition");
+ return null;
+ }
+
+ @Override
+ public boolean isReadOnly(int offset) {
+// System.out.println("isReadOnly");
+ return false;
+ }
+
+ @Override
+ public StyleRange[] getStyleRanges(int offset, int length) {
+// System.out.println("getStyleRanges : [offset, " + offset + "] [length,
" + length + "]");
+ return null;
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/InputReadJob.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/InputReadJob.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/InputReadJob.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,38 @@
+package org.jboss.tools.forge.console;
+
+import java.io.IOException;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.debug.core.model.IStreamsProxy;
+import org.jboss.tools.forge.ForgePlugin;
+
+class InputReadJob extends Job {
+
+ private IStreamsProxy streamsProxy;
+ private ConsoleInputStream input;
+
+ InputReadJob(IStreamsProxy streamsProxy, ConsoleInputStream input) {
+ super("Forge Console Input Job");
+ this.input = input;
+ this.streamsProxy = streamsProxy;
+ }
+
+ protected IStatus run(IProgressMonitor monitor) {
+ try {
+ StringBuffer buffer = new StringBuffer();
+ int read;
+ while (input != null && (read = input.read()) != -1) {
+ buffer.append((char)read);
+ streamsProxy.write(buffer.toString());
+ buffer.setLength(0);
+ }
+ } catch (IOException e) {
+ ForgePlugin.log(e);
+ }
+ return Status.OK_STATUS;
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/StreamListener.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/StreamListener.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/StreamListener.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,44 @@
+package org.jboss.tools.forge.console;
+
+import java.io.IOException;
+
+import org.eclipse.debug.core.IStreamListener;
+import org.eclipse.debug.core.model.IStreamMonitor;
+import org.jboss.tools.forge.ForgePlugin;
+
+class StreamListener implements IStreamListener {
+
+ private ConsoleOutputStream stream;
+ private StringBuffer buffer = new StringBuffer();
+ private boolean creatingProject = false;
+
+ StreamListener(ConsoleOutputStream stream) {
+ this.stream = stream;
+ }
+
+ public void streamAppended(String text, IStreamMonitor streamMonitor) {
+ try {
+ buffer.append(text);
+ if (buffer.indexOf("new-project") != -1) {
+ creatingProject = true;
+ }
+ stream.write(text);
+ if (creatingProject
+ && (text.indexOf('\n') != -1)
+ && (buffer.indexOf("Created project [") != -1)
+ && (buffer.indexOf("] in new working directory [") !=
-1)) {
+ postProcessCreatedProject(buffer.toString());
+ creatingProject = false;
+ buffer = new StringBuffer();
+ }
+ } catch (IOException e) {
+ ForgePlugin.log(e);
+ }
+ }
+
+ private void postProcessCreatedProject(String command) {
+ System.out.println("processing created project: \n" + command);
+ }
+
+}
+
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/importer/ProjectConfigurationUpdater.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/importer/ProjectConfigurationUpdater.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/importer/ProjectConfigurationUpdater.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,37 @@
+package org.jboss.tools.forge.importer;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.WorkspaceJob;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.m2e.core.MavenPlugin;
+
+public class ProjectConfigurationUpdater {
+
+ private IProject project;
+
+ public ProjectConfigurationUpdater(IProject project) {
+ this.project = project;
+ }
+
+ public void updateProject() {
+ Job job = new WorkspaceJob("Importing Forge project") {
+ public IStatus runInWorkspace(IProgressMonitor monitor) {
+ try {
+ MavenPlugin.getProjectConfigurationManager().updateProjectConfiguration(
+ project,
+ monitor);
+ } catch(CoreException ex) {
+ return ex.getStatus();
+ }
+ return Status.OK_STATUS;
+ }
+ };
+ job.setRule(MavenPlugin.getProjectConfigurationManager().getRule());
+ job.schedule();
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/importer/ProjectImporter.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/importer/ProjectImporter.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/importer/ProjectImporter.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,67 @@
+package org.jboss.tools.forge.importer;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.maven.model.Model;
+import org.eclipse.core.resources.WorkspaceJob;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.m2e.core.MavenPlugin;
+import org.eclipse.m2e.core.project.MavenProjectInfo;
+import org.eclipse.m2e.core.project.ProjectImportConfiguration;
+
+
+public class ProjectImporter {
+
+ private String baseDirPath;
+ private String projectName;
+
+ public ProjectImporter(String baseDirPath, String projectName) {
+ this.baseDirPath = baseDirPath;
+ this.projectName = projectName;
+ }
+
+ public void importProject() {
+ Job job = new WorkspaceJob("Importing Forge project") {
+ public IStatus runInWorkspace(IProgressMonitor monitor) {
+ try {
+ MavenPlugin.getProjectConfigurationManager().importProjects(
+ getProjectToImport(),
+ new ProjectImportConfiguration(),
+ monitor);
+ } catch(CoreException ex) {
+ return ex.getStatus();
+ }
+ return Status.OK_STATUS;
+ }
+ };
+ job.setRule(MavenPlugin.getProjectConfigurationManager().getRule());
+ job.schedule();
+ }
+
+ private MavenProjectInfo createMavenProjectInfo() {
+ MavenProjectInfo result = null;
+ try {
+ File projectDir = new File(baseDirPath, projectName);
+ File pomFile = new File(projectDir, "pom.xml");
+ Model model = MavenPlugin.getMavenModelManager().readMavenModel(pomFile);
+ String pomName = projectName + "/" + "pom.xml";
+ result = new MavenProjectInfo(pomName, pomFile, model, null);
+ } catch (CoreException e) {
+
+ }
+ return result;
+ }
+
+ private Collection<MavenProjectInfo> getProjectToImport() {
+ ArrayList<MavenProjectInfo> result = new ArrayList<MavenProjectInfo>(1);
+ result.add(createMavenProjectInfo());
+ return result;
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/launching/ForgeInstallation.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/launching/ForgeInstallation.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/launching/ForgeInstallation.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,29 @@
+package org.jboss.tools.forge.launching;
+
+public class ForgeInstallation {
+
+ private String name;
+ private String location;
+
+ public ForgeInstallation(String name, String location) {
+ this.name = name;
+ this.location = location;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getLocation() {
+ return location;
+ }
+
+ public void setLocation(String location) {
+ this.location = location;
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/launching/ForgeRuntime.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/launching/ForgeRuntime.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/launching/ForgeRuntime.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,378 @@
+package org.jboss.tools.forge.launching;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.IDebugEventSetListener;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.ILaunchConfigurationType;
+import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
+import org.eclipse.debug.core.ILaunchManager;
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
+import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
+import org.eclipse.jdt.launching.JavaRuntime;
+import org.jboss.tools.forge.ForgePlugin;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+public class ForgeRuntime implements IDebugEventSetListener {
+
+ private static final String PREF_FORGE_INSTALLATIONS = "installations";
+
+ private static List<ForgeInstallation> installations = null;
+ private static ForgeInstallation defaultInstallation = null;
+
+ public static ForgeInstallation[] getInstallations() {
+ if (installations == null) {
+ initializeInstallations();
+ }
+ return (ForgeInstallation[])installations.toArray(new
ForgeInstallation[installations.size()]);
+ }
+
+ public static ForgeInstallation getDefaultInstallation() {
+ if (installations == null) {
+ initializeInstallations();
+ }
+ return defaultInstallation;
+ }
+
+ private static void initializeInstallations() {
+ String installPrefsXml =
ForgePlugin.getDefault().getPreferenceStore().getString(PREF_FORGE_INSTALLATIONS);
+ if (installPrefsXml == null || "".equals(installPrefsXml)) {
+ createInitialInstallations();
+ installPrefsXml =
ForgePlugin.getDefault().getPreferenceStore().getString(PREF_FORGE_INSTALLATIONS);
+ }
+ initializeFromXml(installPrefsXml);
+ }
+
+ private static void initializeFromXml(String installPrefsXml) {
+ if (installPrefsXml == null) return;
+ DocumentBuilder documentBuilder = newDocumentBuilder();
+ if (documentBuilder == null) return;
+ InputStream inputStream = createInputStream(installPrefsXml);
+ if (inputStream == null) return;
+ installations = new ArrayList<ForgeInstallation>();
+ Document document = parseInstallations(documentBuilder, inputStream);
+ Element installationsElement = document.getDocumentElement();
+ String defaultInstallationName =
installationsElement.getAttribute("default");
+ NodeList nodeList = installationsElement.getChildNodes();
+ for (int i = 0; i < nodeList.getLength(); i++) {
+ Node node = nodeList.item(i);
+ if (node.getNodeType() == Node.ELEMENT_NODE) {
+ Element element = (Element)node;
+ String name = element.getAttribute("name");
+ String location = element.getAttribute("location");
+ ForgeInstallation newInstallation = new ForgeInstallation(name, location);
+ installations.add(newInstallation);
+ if (name.equals(defaultInstallationName)) {
+ defaultInstallation = newInstallation;
+ }
+ }
+ }
+ }
+
+ private static Document parseInstallations(DocumentBuilder documentBuilder, InputStream
inputStream) {
+ Document result = null;
+ try {
+ result = documentBuilder.parse(inputStream);
+ } catch (SAXException e) {
+ ForgePlugin.log(e);
+ } catch (IOException e) {
+ ForgePlugin.log(e);
+ }
+ return result;
+ }
+
+ private static InputStream createInputStream(String string) {
+ InputStream result = null;
+ try {
+ result = new BufferedInputStream(new
ByteArrayInputStream(string.getBytes("UTF8")));
+ } catch (UnsupportedEncodingException e) {
+ ForgePlugin.log(e);
+ }
+ return result;
+ }
+
+ private static DocumentBuilder newDocumentBuilder() {
+ try {
+ return DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ } catch (ParserConfigurationException e) {
+ ForgePlugin.log(e);
+ return null;
+ }
+ }
+
+ private static Document createEmptyDocument() {
+ DocumentBuilder documentBuilder = newDocumentBuilder();
+ if (documentBuilder == null) {
+ return null;
+ } else {
+ return documentBuilder.newDocument();
+ }
+ }
+
+ private static String serializeDocument(Document doc) throws TransformerException,
IOException {
+ ByteArrayOutputStream s = new ByteArrayOutputStream();
+ TransformerFactory factory = TransformerFactory.newInstance();
+ Transformer transformer = factory.newTransformer();
+ transformer.setOutputProperty(OutputKeys.METHOD, "xml");
+ transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+ DOMSource source = new DOMSource(doc);
+ StreamResult outputTarget = new StreamResult(s);
+ transformer.transform(source, outputTarget);
+ return s.toString("UTF8");
+ }
+
+ private static void createInitialInstallations() {
+ try {
+ File file = FileLocator.getBundleFile(ForgePlugin.getDefault().getBundle());
+ defaultInstallation = new ForgeInstallation("embedded",
file.getAbsolutePath());
+ installations = new ArrayList<ForgeInstallation>();
+ installations.add(defaultInstallation);
+ saveInstallations();
+ } catch (IOException e) {
+ ForgePlugin.log(e);
+ }
+ }
+
+ public static void setInstallations(ForgeInstallation[] installs, ForgeInstallation
defaultInstall) {
+ installations.clear();
+ for (ForgeInstallation install : installs) {
+ installations.add(install);
+ }
+ defaultInstallation = defaultInstall;
+ saveInstallations();
+ }
+
+ private static void saveInstallations() {
+ try {
+ String xml = serializeDocument(createInstallationsDocument());
+ ForgePlugin.getDefault().getPreferenceStore().setValue(PREF_FORGE_INSTALLATIONS,
xml);
+ } catch (IOException e) {
+ ForgePlugin.log(e);
+ } catch (TransformerException e) {
+ ForgePlugin.log(e);
+ }
+ }
+
+ private static Document createInstallationsDocument() {
+ Document document = createEmptyDocument();
+ if (document == null) return null;
+ Element main = document.createElement("forgeInstallations");
+ document.appendChild(main);
+ for (ForgeInstallation installation : installations) {
+ Element element = document.createElement("installation");
+ element.setAttribute("name", installation.getName());
+ element.setAttribute("location", installation.getLocation());
+ main.appendChild(element);
+ }
+ main.setAttribute("default", defaultInstallation.getName());
+ return document;
+ }
+
+
+ public static final ForgeRuntime INSTANCE = new ForgeRuntime();
+ public static final String STATE_NOT_RUNNING =
"org.jboss.tools.seam.forge.notRunning";
+ public static final String STATE_RUNNING =
"org.jboss.tools.seam.forge.running";
+ public static final String STATE_STARTING =
"org.jboss.tools.seam.forge.starting";
+ public static final String STATE_STOPPING =
"org.jboss.tools.seam.forge.stopping";
+
+ private IProcess forgeProcess = null;
+ private String runtimeState = STATE_NOT_RUNNING;
+ private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
+
+ private ForgeRuntime() {}
+
+ public boolean isForgeRunning() {
+ return forgeProcess != null && !forgeProcess.isTerminated();
+ }
+
+ public void startForge() {
+ try {
+ if (!isForgeRunning()) {
+ setRuntimeState(STATE_STARTING);
+ ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
+ ILaunchConfigurationType type =
manager.getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);
+ ILaunchConfiguration[] configurations = manager.getLaunchConfigurations(type);
+ for (int i = 0; i < configurations.length; i++) {
+ ILaunchConfiguration configuration = configurations[i];
+ if (configuration.getName().equals("Seam Forge")) {
+ configuration.delete();
+ break;
+ }
+ }
+ ILaunchConfigurationWorkingCopy workingCopy = type.newInstance(null,
"Forge");
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
"org.jboss.forge.shell.Bootstrap");
+ List<String> classpath = new ArrayList<String>();
+// Bundle bundle = Platform.getBundle("org.jboss.tools.seam.forge");
+ File file = null;
+// try {
+// file = FileLocator.getBundleFile(bundle);
+ file = new File(ForgeRuntime.getDefaultInstallation().getLocation());
+// } catch (IOException e1) {
+// e1.printStackTrace();
+// }
+// if (file == null) return;
+ if (!file.exists()) {
+ ForgePlugin.log(new RuntimeException("Not a correct Forge runtime."));
+ setRuntimeState(STATE_NOT_RUNNING);
+ return;
+ }
+ File[] children = file.listFiles(new FilenameFilter() {
+ @Override
+ public boolean accept(File dir, String name) {
+ return name.endsWith("lib");
+ }
+ });
+ if (children.length != 1) {
+ ForgePlugin.log(new RuntimeException("Not a correct Forge runtime."));
+ setRuntimeState(STATE_NOT_RUNNING);
+ return;
+ }
+ File forgeLibDir = children[0];
+
+ File[] forgeLibFiles = forgeLibDir.listFiles(new FilenameFilter() {
+ @Override
+ public boolean accept(File dir, String name) {
+ return name.endsWith("jar");
+ }
+ });
+ for (File libFile: forgeLibFiles) {
+ IRuntimeClasspathEntry entry = JavaRuntime.newArchiveRuntimeClasspathEntry(new
Path(libFile.getAbsolutePath()));
+ entry.setClasspathProperty(IRuntimeClasspathEntry.USER_CLASSES);
+ classpath.add(entry.getMemento());
+ }
+ IPath systemLibsPath = new Path(JavaRuntime.JRE_CONTAINER);
+ IRuntimeClasspathEntry systemLibsEntry =
JavaRuntime.newRuntimeContainerClasspathEntry(
+ systemLibsPath,
+ IRuntimeClasspathEntry.STANDARD_CLASSES);
+ classpath.add(systemLibsEntry.getMemento());
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH,
classpath);
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH,
false);
+ IWorkspace workspace = ResourcesPlugin.getWorkspace();
+ IWorkspaceRoot root = workspace.getRoot();
+ IPath path = root.getLocation();
+ File workingDir = path.toFile();
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
workingDir.getAbsolutePath());
+// workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
"-Dseam.forge.shell.colorEnabled=true");
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
"-Dforge.compatibility.IDE=true");
+ ILaunchConfiguration configuration = workingCopy.doSave();
+ ILaunch launch = configuration.launch(ILaunchManager.RUN_MODE, null, false, false);
+ IProcess[] processes = launch.getProcesses();
+ if (processes.length == 1) {
+ forgeProcess = processes[0];
+ }
+ DebugPlugin.getDefault().addDebugEventListener(this);
+ setRuntimeState(STATE_RUNNING);
+ }
+ } catch (CoreException e) {
+ ForgePlugin.log(e);
+ }
+ }
+
+ public void stopForge() {
+ if (isForgeRunning()) {
+ setRuntimeState(STATE_STOPPING);
+ try {
+ forgeProcess.terminate();
+ } catch (DebugException e) {
+ e.printStackTrace();
+ }
+ setRuntimeState(STATE_NOT_RUNNING);
+ DebugPlugin.getDefault().removeDebugEventListener(this);
+ }
+ }
+
+ public void setRuntimeState(String newRuntimeState) {
+ String oldRuntimeState = this.runtimeState;
+ this.runtimeState = newRuntimeState;
+ propertyChangeSupport.firePropertyChange(
+ new PropertyChangeEvent(
+ this,
+ "runtimeState",
+ oldRuntimeState,
+ newRuntimeState));
+ }
+
+ public String getRuntimeState() {
+ return runtimeState;
+ }
+
+ public void addPropertyChangeListener(PropertyChangeListener listener) {
+ propertyChangeSupport.addPropertyChangeListener("runtimeState", listener);
+ }
+
+ public void removePropertyChangeListener(PropertyChangeListener listener) {
+ propertyChangeSupport.removePropertyChangeListener("runtimeState",
listener);
+ }
+
+ protected void finalize() throws Throwable {
+ if (forgeProcess != null) {
+ if (!forgeProcess.isTerminated()) {
+ forgeProcess.terminate();
+ }
+ forgeProcess = null;
+ }
+ super.finalize();
+ }
+
+ public IProcess getProcess() {
+ return forgeProcess;
+ }
+
+ @Override
+ public void handleDebugEvents(DebugEvent[] events) {
+ for (int i = 0; i < events.length; i++) {
+ DebugEvent event = events[i];
+ if (event.getSource().equals(getProcess())) {
+ if (event.getKind() == DebugEvent.TERMINATE) {
+ if (forgeProcess.isTerminated()) {
+ DebugPlugin.getDefault().asyncExec(new Runnable() {
+ public void run() {
+ setRuntimeState(STATE_NOT_RUNNING);
+ }
+ });
+ }
+ DebugPlugin.getDefault().removeDebugEventListener(this);
+ }
+ }
+ }
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/ConsolePartition.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/ConsolePartition.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/ConsolePartition.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,166 @@
+package org.jboss.tools.forge.old;
+
+import org.eclipse.jface.text.ITypedRegion;
+import org.eclipse.swt.custom.StyleRange;
+import org.eclipse.ui.console.ConsolePlugin;
+import org.jboss.tools.forge.console.ConsoleInputStream;
+import org.jboss.tools.forge.console.ConsoleOutputStream;
+
+public class ConsolePartition implements ITypedRegion {
+ public static final String OUTPUT_PARTITION_TYPE = ConsolePlugin.getUniqueIdentifier() +
".io_console_output_partition_type"; //$NON-NLS-1$
+ public static final String INPUT_PARTITION_TYPE = ConsolePlugin.getUniqueIdentifier() +
".io_console_input_partition_type"; //$NON-NLS-1$
+
+ /**
+ * The data contained by this partition.
+ */
+ private StringBuffer buffer;
+ private String type;
+ private int offset;
+ /**
+ * Output partitions are all read only.
+ * Input partitions are read only once they have been appended to the console's
input stream.
+ */
+ private boolean readOnly;
+
+ /**
+ * Only one of inputStream or outputStream will be null depending on the partitions
type.
+ */
+ private ConsoleOutputStream outputStream;
+ @SuppressWarnings("unused")
+ private ConsoleInputStream inputStream;
+ private int length;
+
+ /**
+ * Creates a new partition to contain output to console.
+ */
+ public ConsolePartition(ConsoleOutputStream outputStream, int length) {
+ this.outputStream = outputStream;
+ this.length = length;
+ this.type = OUTPUT_PARTITION_TYPE;
+ this.readOnly = true;
+ }
+
+ /**
+ * Creates a new partition to contain input from a console
+ */
+ public ConsolePartition(ConsoleInputStream inputStream, String text) {
+ this.inputStream = inputStream;
+ buffer = new StringBuffer(text);
+ length = text.length();
+ this.type = INPUT_PARTITION_TYPE;
+ this.readOnly = false;
+ }
+
+ /**
+ * Inserts a string into this partition.
+ * @param s The string to insert
+ * @param offset the offset in the partition
+ */
+ public void insert(String s, int insertOffset) {
+ buffer.insert(insertOffset, s);
+ length += s.length();
+ }
+
+ /**
+ * Deletes data from this partition.
+ * @param delOffset
+ * @param delLength
+ */
+ public void delete(int delOffset, int delLength) {
+ buffer.delete(delOffset, delOffset+delLength);
+ length -= delLength;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.text.ITypedRegion#getType()
+ */
+ public String getType() {
+ return type;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.text.IRegion#getLength()
+ */
+ public int getLength() {
+ return length;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.text.IRegion#getOffset()
+ */
+ public int getOffset() {
+ return offset;
+ }
+
+ /**
+ * Sets this partitions offset in the document.
+ *
+ * @param offset This partitions offset in the document.
+ */
+ public void setOffset(int offset) {
+ this.offset = offset;
+ }
+
+ /**
+ * Sets this partition's length.
+ *
+ * @param length
+ */
+ public void setLength(int length) {
+ this.length = length;
+ }
+
+ /**
+ * Returns the data contained in this partition.
+ * @return The data contained in this partition.
+ */
+ public String getString() {
+ return buffer.toString();
+ }
+
+ /**
+ * Returns a StyleRange object which may be used for setting the style
+ * of this partition in a viewer.
+ */
+ public StyleRange getStyleRange(int rangeOffset, int rangeLength) {
+ return new StyleRange(rangeOffset, rangeLength, null, null);
+ }
+
+ /**
+ * Returns if this partition is read-only.
+ *
+ * @see org.eclipse.ui.console.IConsoleDocumentPartitioner#isReadOnly(int)
+ * @return if this partition is read-only
+ */
+ public boolean isReadOnly() {
+ return readOnly;
+ }
+
+ /**
+ * Sets the read-only state of this partition to <code>true</code>.
+ *
+ * @see org.eclipse.ui.console.IConsoleDocumentPartitioner#isReadOnly(int)
+ */
+ public void setReadOnly() {
+ readOnly = true;
+ }
+
+ /**
+ * Clears the contents of the buffer
+ */
+ public void clearBuffer() {
+ buffer.setLength(0);
+ }
+
+ /**
+ * Returns the underlying output stream
+ *
+ * @return the underlying output stream
+ */
+ ConsoleOutputStream getStream() {
+ return outputStream;
+ }
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/ConsolePartitioner.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/ConsolePartitioner.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/ConsolePartitioner.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,697 @@
+package org.jboss.tools.forge.old;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.IJobManager;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitionerExtension;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.ITypedRegion;
+import org.eclipse.jface.text.Region;
+import org.eclipse.swt.custom.StyleRange;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.console.ConsolePlugin;
+import org.eclipse.ui.console.IConsoleDocumentPartitioner;
+import org.eclipse.ui.progress.UIJob;
+import org.eclipse.ui.progress.WorkbenchJob;
+import org.jboss.tools.forge.console.Console;
+import org.jboss.tools.forge.console.ConsoleInputStream;
+import org.jboss.tools.forge.console.ConsoleOutputStream;
+
+/**
+ * Partitions an IOConsole's document
+ * @since 3.1
+ *
+ */
+@SuppressWarnings(value = { "rawtypes", "unchecked" })
+public class ConsolePartitioner implements IConsoleDocumentPartitioner,
IDocumentPartitionerExtension {
+
+ private PendingPartition consoleClosedPartition;
+ private IDocument document;
+ private ArrayList partitions;
+ /**
+ * Blocks of data that have not yet been appended to the document.
+ */
+ private ArrayList pendingPartitions;
+ /**
+ * A list of PendingPartitions to be appended by the updateJob
+ */
+ private ArrayList updatePartitions;
+ /**
+ * The last partition appended to the document
+ */
+ private ConsolePartition lastPartition;
+ /**
+ * Job that appends pending partitions to the document.
+ */
+ private QueueProcessingJob queueJob;
+ /**
+ * The input stream attached to this document.
+ */
+ private ConsoleInputStream inputStream;
+ /**
+ * Flag to indicate that the updateJob is updating the document.
+ */
+ private boolean updateInProgress;
+ /**
+ * A list of partitions containing input from the console, that have
+ * not been appended to the input stream yet.
+ */
+ private ArrayList inputPartitions;
+ /**
+ * offset used by updateJob
+ */
+ private int firstOffset;
+ /**
+ * An array of legal line delimiters
+ */
+ @SuppressWarnings("unused")
+ private String[] lld;
+ private int highWaterMark = -1;
+ private int lowWaterMark = -1;
+ private boolean connected = false;
+
+ private Console console;
+
+ private TrimJob trimJob = new TrimJob();
+ /**
+ * Lock for appending to and removing from the document - used
+ * to synchronize addition of new text/partitions in the update
+ * job and handling buffer overflow/clearing of the console.
+ */
+ private Object overflowLock = new Object();
+
+
+ private int fBuffer;
+
+ private ConsolePartitioner(ConsoleInputStream inputStream, Console console) {
+ this.inputStream = inputStream;
+ this.console = console;
+ trimJob.setRule(console.getSchedulingRule());
+ }
+
+ public IDocument getDocument() {
+ return document;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.eclipse.jface.text.IDocumentPartitioner#connect(org.eclipse.jface.text.IDocument)
+ */
+ public void connect(IDocument doc) {
+ document = doc;
+ document.setDocumentPartitioner(this);
+ lld = document.getLegalLineDelimiters();
+ partitions = new ArrayList();
+ pendingPartitions = new ArrayList();
+ inputPartitions = new ArrayList();
+ queueJob = new QueueProcessingJob();
+ queueJob.setSystem(true);
+ queueJob.setPriority(Job.INTERACTIVE);
+ queueJob.setRule(console.getSchedulingRule());
+ connected = true;
+ }
+
+ public int getHighWaterMark() {
+ return highWaterMark;
+ }
+
+ public int getLowWaterMark() {
+ return lowWaterMark;
+ }
+
+ public void setWaterMarks(int low, int high) {
+ lowWaterMark = low;
+ highWaterMark = high;
+ ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
+ public void run() {
+ checkBufferSize();
+ }
+ });
+ }
+
+ /**
+ * Notification from the console that all of its streams have been closed.
+ */
+ public void streamsClosed() {
+ consoleClosedPartition = new PendingPartition(null, null);
+ synchronized (pendingPartitions) {
+ pendingPartitions.add(consoleClosedPartition);
+ }
+ queueJob.schedule(); //ensure that all pending partitions are processed.
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.text.IDocumentPartitioner#disconnect()
+ */
+ public void disconnect() {
+ synchronized (overflowLock) {
+ document = null;
+ partitions.clear();
+ connected = false;
+ try {
+ inputStream.close();
+ } catch (IOException e) {
+ }
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.eclipse.jface.text.IDocumentPartitioner#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
+ */
+ public void documentAboutToBeChanged(DocumentEvent event) {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.eclipse.jface.text.IDocumentPartitioner#documentChanged(org.eclipse.jface.text.DocumentEvent)
+ */
+ public boolean documentChanged(DocumentEvent event) {
+ return documentChanged2(event) != null;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.text.IDocumentPartitioner#getLegalContentTypes()
+ */
+ public String[] getLegalContentTypes() {
+ return new String[] { ConsolePartition.OUTPUT_PARTITION_TYPE,
ConsolePartition.INPUT_PARTITION_TYPE };
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.text.IDocumentPartitioner#getContentType(int)
+ */
+ public String getContentType(int offset) {
+ return getPartition(offset).getType();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.text.IDocumentPartitioner#computePartitioning(int, int)
+ */
+ public ITypedRegion[] computePartitioning(int offset, int length) {
+ int rangeEnd = offset + length;
+ int left= 0;
+ int right= partitions.size() - 1;
+ int mid= 0;
+ ConsolePartition position= null;
+
+ if (left == right) {
+ return new ConsolePartition[]{(ConsolePartition) partitions.get(0)};
+ }
+ while (left < right) {
+
+ mid= (left + right) / 2;
+
+ position= (ConsolePartition) partitions.get(mid);
+ if (rangeEnd < position.getOffset()) {
+ if (left == mid)
+ right= left;
+ else
+ right= mid -1;
+ } else if (offset > (position.getOffset() + position.getLength() - 1)) {
+ if (right == mid)
+ left= right;
+ else
+ left= mid +1;
+ } else {
+ left= right= mid;
+ }
+ }
+
+
+ List list = new ArrayList();
+ int index = left - 1;
+ if (index >= 0) {
+ position= (ConsolePartition) partitions.get(index);
+ while (index >= 0 && (position.getOffset() + position.getLength()) >
offset) {
+ index--;
+ if (index >= 0) {
+ position= (ConsolePartition) partitions.get(index);
+ }
+ }
+ }
+ index++;
+ position= (ConsolePartition) partitions.get(index);
+ while (index < partitions.size() && (position.getOffset() < rangeEnd)) {
+ list.add(position);
+ index++;
+ if (index < partitions.size()) {
+ position= (ConsolePartition) partitions.get(index);
+ }
+ }
+
+ return (ITypedRegion[]) list.toArray(new ConsolePartition[list.size()]);
+ }
+
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.text.IDocumentPartitioner#getPartition(int)
+ */
+ public ITypedRegion getPartition(int offset) {
+ for (int i = 0; i < partitions.size(); i++) {
+ ITypedRegion partition = (ITypedRegion) partitions.get(i);
+ int start = partition.getOffset();
+ int end = start + partition.getLength();
+ if (offset >= start && offset < end) {
+ return partition;
+ }
+ }
+
+ if (lastPartition == null) {
+ synchronized(partitions) {
+ lastPartition = new ConsolePartition(inputStream, ""); //$NON-NLS-1$
+ lastPartition.setOffset(offset);
+ partitions.add(lastPartition);
+ inputPartitions.add(lastPartition);
+ }
+ }
+ return lastPartition;
+ }
+
+ /**
+ * Enforces the buffer size.
+ * When the number of lines in the document exceeds the high water mark, the
+ * beginning of the document is trimmed until the number of lines equals the
+ * low water mark.
+ */
+ private void checkBufferSize() {
+ if (document != null && highWaterMark > 0) {
+ int length = document.getLength();
+ if (length > highWaterMark) {
+ if (trimJob.getState() == Job.NONE) { //if the job isn't already running
+ trimJob.setOffset(length - lowWaterMark);
+ trimJob.schedule();
+ }
+ }
+ }
+ }
+
+ /**
+ * Clears the console
+ */
+ public void clearBuffer() {
+ synchronized (overflowLock) {
+ trimJob.setOffset(-1);
+ trimJob.schedule();
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
org.eclipse.jface.text.IDocumentPartitionerExtension#documentChanged2(org.eclipse.jface.text.DocumentEvent)
+ */
+ public IRegion documentChanged2(DocumentEvent event) {
+ System.out.println("documentChanged2 : " + event.fText);
+ if (document == null) {
+ return null; //another thread disconnected the partitioner
+ }
+ if (document.getLength() == 0) { //document cleared
+ if (lastPartition != null &&
lastPartition.getType().equals(ConsolePartition.INPUT_PARTITION_TYPE)) {
+ synchronized (partitions) {
+ partitions.remove(lastPartition);
+ inputPartitions.remove(lastPartition);
+ }
+ }
+ lastPartition = null;
+ return new Region(0, 0);
+ }
+
+
+ if (updateInProgress) {
+ synchronized(partitions) {
+ if (updatePartitions != null) {
+ for (Iterator i = updatePartitions.iterator(); i.hasNext(); ) {
+ PendingPartition pp = (PendingPartition) i.next();
+ if (pp == consoleClosedPartition) {
+ continue;
+ }
+
+ int ppLen = pp.text.length();
+ if (lastPartition != null && lastPartition.getStream() == pp.stream)
{
+ int len = lastPartition.getLength();
+ lastPartition.setLength(len + ppLen);
+ } else {
+ ConsolePartition partition = new ConsolePartition(pp.stream, ppLen);
+ partition.setOffset(firstOffset);
+ lastPartition = partition;
+ partitions.add(partition);
+ }
+ firstOffset += ppLen;
+ }
+ }
+ }
+ } else {// user input.
+ int amountDeleted = event.getLength() ;
+
+ if (amountDeleted > 0) {
+ int offset = event.fOffset;
+ ConsolePartition partition = (ConsolePartition) getPartition(offset);
+ if(partition == lastPartition) {
+ partition.delete(event.fOffset-partition.getOffset(), amountDeleted);
+ }
+ }
+
+ synchronized(partitions) {
+ if (lastPartition == null || lastPartition.isReadOnly()) {
+ lastPartition = new ConsolePartition(inputStream, event.fText);
+ lastPartition.setOffset(event.fOffset);
+ partitions.add(lastPartition);
+ inputPartitions.add(lastPartition);
+ } else {
+ lastPartition.insert(event.fText, (event.fOffset-lastPartition.getOffset()));
+ }
+
+ int lastLineDelimiter = -1;
+ String partitionText = lastPartition.getString();
+ lastLineDelimiter = partitionText.length();
+// for (int i = 0; i < lld.length; i++) {
+// String ld = lld[i];
+// int index = partitionText.lastIndexOf(ld);
+// if (index != -1) {
+// index += ld.length();
+// }
+// if (index > lastLineDelimiter) {
+// lastLineDelimiter = index;
+// }
+// }
+ if (lastLineDelimiter != -1) {
+ StringBuffer input = new StringBuffer();
+ Iterator it = inputPartitions.iterator();
+ while (it.hasNext()) {
+ ConsolePartition partition = (ConsolePartition) it.next();
+ if (partition.getOffset() + partition.getLength() <= event.fOffset +
lastLineDelimiter) {
+ if (partition == lastPartition) {
+ lastPartition = null;
+ }
+ input.append(partition.getString());
+ partition.clearBuffer();
+ partition.setReadOnly();
+ it.remove();
+ } else {
+ //create a new partition containing everything up to the line delimiter
+ //and append that to the string buffer.
+ String contentBefore = partitionText.substring(0, lastLineDelimiter);
+ ConsolePartition newPartition = new ConsolePartition(inputStream,
contentBefore);
+ newPartition.setOffset(partition.getOffset());
+ newPartition.setReadOnly();
+ newPartition.clearBuffer();
+ int index = partitions.indexOf(partition);
+ partitions.add(index, newPartition);
+ input.append(contentBefore);
+ //delete everything that has been appended to the buffer.
+ partition.delete(0, lastLineDelimiter);
+ partition.setOffset(lastLineDelimiter + partition.getOffset());
+ lastLineDelimiter = 0;
+ }
+ }
+ if (input.length() > 0) {
+ System.out.println("append text not!");
+ //inputStream.appendData(input.toString());
+ }
+
+ }
+ }
+ }
+
+ return new Region(event.fOffset, event.fText.length());
+ }
+
+ private void setUpdateInProgress(boolean b) {
+ updateInProgress = b;
+ }
+
+ /**
+ * A stream has been appended, add to pendingPartions list and schedule updateJob.
+ * updateJob is scheduled with a slight delay, this allows the console to run the job
+ * less frequently and update the document with a greater amount of data each time
+ * the job is run
+ * @param stream The stream that was written to.
+ * @param s The string that should be appended to the document.
+ */
+ public void streamAppended(ConsoleOutputStream stream, String s) throws IOException {
+ System.out.println("streamAppended : " + s);
+ if (s.indexOf('\t') != -1) System.out.println("Got a tab!");
+ if (document == null) {
+ throw new IOException("Document is closed"); //$NON-NLS-1$
+ }
+ synchronized(pendingPartitions) {
+ PendingPartition last = (PendingPartition) (pendingPartitions.size() > 0 ?
pendingPartitions.get(pendingPartitions.size()-1) : null);
+ if (last != null && last.stream == stream) {
+ last.append(s);
+ } else {
+ pendingPartitions.add(new PendingPartition(stream, s));
+ if (fBuffer > 1000) {
+ queueJob.schedule();
+ } else {
+ queueJob.schedule(50);
+ }
+ }
+
+ if (fBuffer > 160000) {
+ if(Display.getCurrent() == null){
+ try {
+ pendingPartitions.wait();
+ } catch (InterruptedException e) {
+ }
+ } else {
+ /*
+ * if we are in UI thread we cannot lock it, so process
+ * queued output.
+ */
+ processQueue();
+ }
+ }
+ }
+ }
+
+ /**
+ * Holds data until updateJob can be run and the document can be updated.
+ */
+ private class PendingPartition {
+ StringBuffer text = new StringBuffer(8192);
+ ConsoleOutputStream stream;
+
+ PendingPartition(ConsoleOutputStream stream, String text) {
+ this.stream = stream;
+ if (text != null) {
+ append(text);
+ }
+ }
+
+ void append(String moreText) {
+ text.append(moreText);
+ fBuffer += moreText.length();
+ }
+ }
+
+ /**
+ * Updates the document. Will append everything that is available before
+ * finishing.
+ */
+ private class QueueProcessingJob extends UIJob {
+
+ QueueProcessingJob() {
+ super("IOConsole Updater"); //$NON-NLS-1$
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ public IStatus runInUIThread(IProgressMonitor monitor) {
+ processQueue();
+ return Status.OK_STATUS;
+ }
+
+ /*
+ * Job will process as much as it can each time it's run, but it gets
+ * scheduled everytime a PendingPartition is added to the list, meaning
+ * that this job could get scheduled unnecessarily in cases of heavy output.
+ * Note however, that schedule() will only reschedule a running/scheduled Job
+ * once even if it's called many times.
+ */
+ public boolean shouldRun() {
+ boolean shouldRun = connected && pendingPartitions != null &&
pendingPartitions.size() > 0;
+ return shouldRun;
+ }
+ }
+
+ void processQueue() {
+ synchronized (overflowLock) {
+ ArrayList pendingCopy = new ArrayList();
+ StringBuffer buffer = null;
+ boolean consoleClosed = false;
+ synchronized(pendingPartitions) {
+ pendingCopy.addAll(pendingPartitions);
+ pendingPartitions.clear();
+ fBuffer = 0;
+ pendingPartitions.notifyAll();
+ }
+ // determine buffer size
+ int size = 0;
+ for (Iterator i = pendingCopy.iterator(); i.hasNext(); ) {
+ PendingPartition pp = (PendingPartition) i.next();
+ if (pp != consoleClosedPartition) {
+ size+= pp.text.length();
+ }
+ }
+ buffer = new StringBuffer(size);
+ for (Iterator i = pendingCopy.iterator(); i.hasNext(); ) {
+ PendingPartition pp = (PendingPartition) i.next();
+ if (pp != consoleClosedPartition) {
+ buffer.append(pp.text);
+ } else {
+ consoleClosed = true;
+ }
+ }
+
+ if (connected) {
+ setUpdateInProgress(true);
+ updatePartitions = pendingCopy;
+ firstOffset = document.getLength();
+ try {
+ if (buffer != null) {
+ document.replace(firstOffset, 0, buffer.toString());
+ }
+ } catch (BadLocationException e) {
+ }
+ updatePartitions = null;
+ setUpdateInProgress(false);
+ }
+ if (consoleClosed) {
+ console.partitionerFinished();
+ }
+ checkBufferSize();
+ }
+
+ }
+
+ /**
+ * Job to trim the console document, runs in the UI thread.
+ */
+ private class TrimJob extends WorkbenchJob {
+
+ /**
+ * trims output up to the line containing the given offset,
+ * or all output if -1.
+ */
+ private int truncateOffset;
+
+ /**
+ * Creates a new job to trim the buffer.
+ */
+ TrimJob() {
+ super("Trim Job"); //$NON-NLS-1$
+ setSystem(true);
+ }
+
+ /**
+ * Sets the trim offset.
+ *
+ * @param offset trims output up to the line containing the given offset
+ */
+ public void setOffset(int offset) {
+ truncateOffset = offset;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ public IStatus runInUIThread(IProgressMonitor monitor) {
+ IJobManager jobManager = Job.getJobManager();
+ try {
+ jobManager.join(console, monitor);
+ } catch (OperationCanceledException e1) {
+ return Status.CANCEL_STATUS;
+ } catch (InterruptedException e1) {
+ return Status.CANCEL_STATUS;
+ }
+ if (document == null) {
+ return Status.OK_STATUS;
+ }
+
+ int length = document.getLength();
+ if (truncateOffset < length) {
+ synchronized (overflowLock) {
+ try {
+ if (truncateOffset < 0) {
+ // clear
+ setUpdateInProgress(true);
+ document.set(""); //$NON-NLS-1$
+ setUpdateInProgress(false);
+ partitions.clear();
+ } else {
+ // overflow
+ int cutoffLine = document.getLineOfOffset(truncateOffset);
+ int cutOffset = document.getLineOffset(cutoffLine);
+
+
+ // set the new length of the first partition
+ ConsolePartition partition = (ConsolePartition) getPartition(cutOffset);
+ partition.setLength(partition.getOffset() + partition.getLength() -
cutOffset);
+
+ setUpdateInProgress(true);
+ document.replace(0, cutOffset, ""); //$NON-NLS-1$
+ setUpdateInProgress(false);
+
+ //remove partitions and reset Partition offsets
+ int index = partitions.indexOf(partition);
+ for (int i = 0; i < index; i++) {
+ partitions.remove(0);
+ }
+
+ int offset = 0;
+ for (Iterator i = partitions.iterator(); i.hasNext(); ) {
+ ConsolePartition p = (ConsolePartition) i.next();
+ p.setOffset(offset);
+ offset += p.getLength();
+ }
+ }
+ } catch (BadLocationException e) {
+ }
+ }
+ }
+ return Status.OK_STATUS;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.IConsoleDocumentPartitioner#isReadOnly(int)
+ */
+ public boolean isReadOnly(int offset) {
+ return ((ConsolePartition)getPartition(offset)).isReadOnly();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.IConsoleDocumentPartitioner#computeStyleRange(int,
int)
+ */
+ public StyleRange[] getStyleRanges(int offset, int length) {
+ if (!connected) {
+ return new StyleRange[0];
+ }
+ ConsolePartition[] computedPartitions =
(ConsolePartition[])computePartitioning(offset, length);
+ StyleRange[] styles = new StyleRange[computedPartitions.length];
+ for (int i = 0; i < computedPartitions.length; i++) {
+ int rangeStart = Math.max(computedPartitions[i].getOffset(), offset);
+ int rangeLength = computedPartitions[i].getLength();
+ styles[i] = computedPartitions[i].getStyleRange(rangeStart, rangeLength);
+ }
+ return styles;
+ }
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/EmptyPreferencePage.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/EmptyPreferencePage.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/EmptyPreferencePage.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,25 @@
+package org.jboss.tools.forge.preferences;
+
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+public class EmptyPreferencePage extends PreferencePage implements
IWorkbenchPreferencePage {
+
+ public EmptyPreferencePage() {
+ super();
+ setDescription("Expand the tree to edit preferences for a specific
feature.");
+ }
+
+ protected Control createContents(Composite parent) {
+ noDefaultAndApplyButton();
+ return new Composite(parent, SWT.NULL);
+ }
+
+ public void init(IWorkbench workbench) {
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeInstallationDialog.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeInstallationDialog.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeInstallationDialog.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,168 @@
+package org.jboss.tools.forge.preferences;
+
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.DirectoryDialog;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+public class ForgeInstallationDialog extends Dialog {
+
+ String title;
+ Text nameText, locationText;
+ Button locationButton;
+
+ String name, location;
+
+ public ForgeInstallationDialog(Shell parentShell) {
+ super(parentShell);
+ }
+
+ public void initialize(String t, String n, String l) {
+ this.title = t;
+ this.name = n;
+ this.location = l;
+ }
+
+ protected Control createDialogArea(Composite parent) {
+ Composite area = (Composite)super.createDialogArea(parent);
+ getShell().setText(title);
+ GridLayout gridLayout = new GridLayout();
+ gridLayout.numColumns = 3;
+ area.setLayout(gridLayout);
+ createMessageLabel(area);
+ createNameLabel(area);
+ createNameText(area);
+ createFillLabel(area);
+ createLocationLabel(area);
+ createLocationText(area);
+ createLocationButton(area);
+ createSeparator(area);
+ getShell().setText(title);
+ return area;
+ }
+
+ protected Control createContents(Composite parent) {
+ Control result = super.createContents(parent);
+ updateOkButton();
+ return result;
+ }
+
+ private void createSeparator(Composite area) {
+ Label separator = new Label(area, SWT.SEPARATOR | SWT.HORIZONTAL);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 3;
+ gridData.verticalIndent = 15;
+ separator.setLayoutData(gridData);
+ }
+
+ private void createLocationText(Composite area) {
+ locationText = new Text(area, SWT.BORDER);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.widthHint = convertWidthInCharsToPixels(40);
+ locationText.setLayoutData(gridData);
+ locationText.setText(location == null ? "" : location);
+ locationText.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ location = locationText.getText();
+ updateOkButton();
+ }
+ });
+ }
+
+ private void createLocationButton(Composite area) {
+ locationButton = new Button(area, SWT.PUSH);
+ locationButton.setText("Search...");
+ locationButton.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ searchLocation();
+ }
+ });
+ }
+
+ private void searchLocation() {
+ DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.OPEN);
+ String result = dialog.open();
+ if (result != null) {
+ locationText.setText(result);
+ }
+ }
+
+ private void createLocationLabel(Composite area) {
+ Label label = new Label(area, SWT.NONE);
+ GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+ label.setLayoutData(gridData);
+ label.setText("Location :");
+ }
+
+ private void createFillLabel(Composite area) {
+ new Label(area, SWT.NONE);
+ }
+
+ private void createNameText(Composite area) {
+ nameText = new Text(area, SWT.BORDER);
+ GridData gridData = new GridData();
+ gridData.widthHint = convertWidthInCharsToPixels(40);
+ nameText.setLayoutData(gridData);
+ nameText.setText(name == null ? "" : name);
+ nameText.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ name = nameText.getText();
+ updateOkButton();
+ }
+ });
+ }
+
+ private void updateOkButton() {
+ getButton(IDialogConstants.OK_ID).setEnabled(isValid());
+ }
+
+ private boolean isValid() {
+ if (name == null || location == null) {
+ return false;
+ }
+ if ("".equals(name) || "".equals(location)) {
+ return false;
+ }
+ return true;
+ }
+
+ private void createNameLabel(Composite area) {
+ Label label = new Label(area, SWT.NONE);
+ GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+ label.setLayoutData(gridData);
+ label.setText("Name :");
+ }
+
+ private void createMessageLabel(Composite area) {
+ Label label = new Label(area, SWT.NONE);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL |
GridData.HORIZONTAL_ALIGN_BEGINNING);
+ gridData.horizontalSpan = 3;
+ gridData.verticalIndent = 10;
+ label.setLayoutData(gridData);
+ label.setText("Enter a name and choose the location : ");
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getLocation() {
+ return location;
+ }
+
+
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeInstallationLabelProvider.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeInstallationLabelProvider.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeInstallationLabelProvider.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,27 @@
+package org.jboss.tools.forge.preferences;
+
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.forge.launching.ForgeInstallation;
+
+public class ForgeInstallationLabelProvider extends LabelProvider implements
ITableLabelProvider {
+
+ public String getColumnText(Object element, int columnIndex) {
+ if (element instanceof ForgeInstallation) {
+ ForgeInstallation forgeInstallation= (ForgeInstallation)element;
+ switch(columnIndex) {
+ case 0:
+ return forgeInstallation.getName();
+ case 1:
+ return forgeInstallation.getLocation();
+ }
+ }
+ return element.toString();
+ }
+
+ public Image getColumnImage(Object element, int columnIndex) {
+ return null;
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeInstallationsPreferencePage.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeInstallationsPreferencePage.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeInstallationsPreferencePage.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,288 @@
+package org.jboss.tools.forge.preferences;
+
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.CheckStateChangedEvent;
+import org.eclipse.jface.viewers.CheckboxTableViewer;
+import org.eclipse.jface.viewers.ICheckStateListener;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.BusyIndicator;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.jboss.tools.forge.launching.ForgeInstallation;
+import org.jboss.tools.forge.launching.ForgeRuntime;
+
+public class ForgeInstallationsPreferencePage extends PreferencePage implements
IWorkbenchPreferencePage {
+
+ private final int DEFAULT_COLUMN_WIDTH = 350/3 +1;
+
+ private CheckboxTableViewer runtimesTableViewer ;
+ private Button removeButton;
+ private Button editButton;
+ private ArrayList<ForgeInstallation> installations = null;
+ private ForgeInstallation defaultInstallation = null;
+
+ public ForgeInstallationsPreferencePage() {
+ super("Installed Forge Runtimes");
+ }
+
+ public void init(IWorkbench workbench) {
+ }
+
+ protected Control createContents(Composite parent) {
+ noDefaultAndApplyButton();
+ createLayout(parent);
+ createWrapLabel(parent);
+ createVerticalSpacer(parent);
+ createPageBody(parent);
+ initializeForgeInstallations();
+ enableButtons();
+ return parent;
+ }
+
+ private void createPageBody(Composite parent) {
+ Composite pageBody = createPageBodyControl(parent);
+ createTitleLabel(pageBody);
+ createRuntimesArea(pageBody);
+ createButtonsArea(pageBody);
+ }
+
+ private void createButtonsArea(Composite parent) {
+ Composite buttons = createButtonsComposite(parent);
+ createAddButton(buttons);
+ createEditButton(buttons);
+ createRemoveButton(buttons);
+ }
+
+ private void createRemoveButton(Composite parent) {
+ removeButton = new Button(parent, SWT.PUSH);
+ removeButton.setText("&Remove");
+ removeButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ removeButton.addListener(SWT.Selection, new Listener() {
+ public void handleEvent(Event evt) {
+ ISelection selection = runtimesTableViewer.getSelection();
+ if (selection != null && selection instanceof IStructuredSelection) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+ if (object != null && object instanceof ForgeInstallation) {
+ installations.remove(object);
+ refreshForgeInstallations();
+ }
+ }
+ }
+ });
+ }
+
+ private void createAddButton(Composite parent) {
+ Button addButton = new Button(parent, SWT.PUSH);
+ addButton.setText("&Add...");
+ addButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ addButton.addListener(SWT.Selection, new Listener() {
+ public void handleEvent(Event evt) {
+ ForgeInstallationDialog dialog = new ForgeInstallationDialog(null);
+ dialog.initialize("Add Forge Runtime", "", "");
+ if (dialog.open() != Dialog.CANCEL) {
+ installations.add(new ForgeInstallation(dialog.getName(), dialog.getLocation()));
+ refreshForgeInstallations();
+ }
+ }
+ });
+ }
+
+ private void createEditButton(Composite parent) {
+ editButton = new Button(parent, SWT.PUSH);
+ editButton.setText("&Edit...");
+ editButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ editButton.addListener(SWT.Selection, new Listener() {
+ public void handleEvent(Event evt) {
+ ISelection selection = runtimesTableViewer.getSelection();
+ if (selection != null && selection instanceof IStructuredSelection) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+ if (object != null && object instanceof ForgeInstallation) {
+ ForgeInstallation installation = (ForgeInstallation)object;
+ ForgeInstallationDialog dialog = new ForgeInstallationDialog(null);
+ dialog.initialize("Edit Forge Runtime", installation.getName(),
installation.getLocation());
+ if (dialog.open() != Dialog.CANCEL) {
+ installation.setName(dialog.getName());
+ installation.setLocation(dialog.getLocation());
+ refreshForgeInstallations();
+ }
+ }
+ }
+ }
+ });
+ }
+
+ private Composite createButtonsComposite(Composite parent) {
+ Composite buttons = new Composite(parent, SWT.NONE);
+ GridLayout layout = new GridLayout();
+ layout.marginWidth = 0;
+ layout.marginHeight = 0;
+ buttons.setLayout(layout);
+ GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
+ gd.horizontalSpan = 1;
+ buttons.setLayoutData(gd);
+ return buttons;
+ }
+
+ private void createTitleLabel(Composite parent) {
+ Label label = new Label(parent, SWT.NONE);
+ label.setText("Installed Forge Runtimes:");
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = 2;
+ gd.grabExcessHorizontalSpace = false;
+ label.setLayoutData(gd);
+ }
+
+ private void createRuntimesArea(Composite parent) {
+ Table runtimesTable = createRuntimesTable(parent);
+ createNameColumn(runtimesTable);
+ createLocationColumn(runtimesTable);
+ createRuntimesTableViewer(runtimesTable);
+ }
+
+ private void createRuntimesTableViewer(Table table) {
+ runtimesTableViewer = new CheckboxTableViewer(table);
+ runtimesTableViewer.setLabelProvider(new ForgeInstallationLabelProvider());
+ runtimesTableViewer.setContentProvider(ArrayContentProvider.getInstance());
+ runtimesTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+ public void selectionChanged(SelectionChangedEvent evt) {
+ enableButtons();
+ }
+ });
+ runtimesTableViewer.addCheckStateListener(new ICheckStateListener() {
+ public void checkStateChanged(final CheckStateChangedEvent event) {
+ Object object = event.getElement();
+ if (object != null && object instanceof ForgeInstallation) {
+ defaultInstallation = (ForgeInstallation)object;
+ refreshForgeInstallations();
+ }
+ }
+ });
+ }
+
+ private void createLocationColumn(Table table) {
+ TableColumn column = new TableColumn(table, SWT.NULL);
+ column.setText("Location");
+ column.setWidth(DEFAULT_COLUMN_WIDTH);
+ }
+
+ private void createNameColumn(Table table) {
+ TableColumn column = new TableColumn(table, SWT.NULL);
+ column.setText("Name");
+ column.setWidth(DEFAULT_COLUMN_WIDTH);
+ }
+
+ private Table createRuntimesTable(Composite parent) {
+ Table runtimesTable= new Table(parent, SWT.CHECK | SWT.BORDER | SWT.SINGLE |
SWT.FULL_SELECTION);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ gd.heightHint = 250;
+ gd.widthHint = 350;
+ runtimesTable.setLayoutData(gd);
+ runtimesTable.setHeaderVisible(true);
+ runtimesTable.setLinesVisible(true);
+ return runtimesTable;
+ }
+
+ private Composite createPageBodyControl(Composite ancestor) {
+ Composite result = new Composite(ancestor, SWT.NONE);
+ result.setLayout(new GridLayout(2, false));
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ result.setLayoutData(gd);
+ return result;
+ }
+
+ private void createLayout(Composite ancestor) {
+ GridLayout layout= new GridLayout();
+ layout.numColumns= 1;
+ layout.marginHeight = 0;
+ layout.marginWidth = 0;
+ ancestor.setLayout(layout);
+ }
+
+ private Label createWrapLabel(Composite parent) {
+ Label l = new Label(parent, SWT.NONE | SWT.WRAP);
+ l.setFont(parent.getFont());
+ l.setText("Add, remove or edit Forge runtimes. By default, the checked Forge
runtime is used when launching Forge.");
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.widthHint = 250;
+ l.setLayoutData(gd);
+ return l;
+ }
+
+ private void createVerticalSpacer(Composite parent) {
+ Label lbl = new Label(parent, SWT.NONE);
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = ((GridLayout)parent.getLayout()).numColumns;
+ lbl.setLayoutData(gd);
+ }
+
+ private void initializeForgeInstallations() {
+ installations = new ArrayList<ForgeInstallation>();
+ for (ForgeInstallation install : ForgeRuntime.getInstallations()) {
+ ForgeInstallation copy = new ForgeInstallation(install.getName(),
install.getLocation());
+ if (install == ForgeRuntime.getDefaultInstallation()) {
+ defaultInstallation = copy;
+ }
+ installations.add(copy);
+ }
+ refreshForgeInstallations();
+ }
+
+ private void refreshForgeInstallations() {
+ runtimesTableViewer.setInput((ForgeInstallation[])installations.toArray(new
ForgeInstallation[installations.size()]));
+ runtimesTableViewer.setCheckedElements(new Object[] { defaultInstallation });
+ runtimesTableViewer.refresh();
+ }
+
+ private void enableButtons() {
+ Object selectedObject = null;
+ IStructuredSelection selection = (IStructuredSelection)
runtimesTableViewer.getSelection();
+ if (selection != null) {
+ selectedObject = selection.getFirstElement();
+ }
+ if (selectedObject == null
+// || (selectedObject == runtimesTableViewer.getCheckedElements()[0])
+ || (selectedObject instanceof ForgeInstallation
+ &&
("embedded".equals(((ForgeInstallation)selectedObject).getName())))) {
+ removeButton.setEnabled(false);
+ editButton.setEnabled(false);
+ } else {
+ removeButton.setEnabled(selectedObject !=
runtimesTableViewer.getCheckedElements()[0]);
+ editButton.setEnabled(true);
+ }
+ }
+
+ public boolean performOk() {
+ final boolean[] canceled = new boolean[] {false};
+ BusyIndicator.showWhile(null, new Runnable() {
+ public void run() {
+ ForgeInstallation[] installations =
(ForgeInstallation[])runtimesTableViewer.getInput();
+ ForgeInstallation defaultInstallation =
(ForgeInstallation)runtimesTableViewer.getCheckedElements()[0];
+ ForgeRuntime.setInstallations(installations, defaultInstallation);
+ }
+ });
+ if(canceled[0]) {
+ return false;
+ }
+ return super.performOk();
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeIntallationLabelProvider.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeIntallationLabelProvider.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/preferences/ForgeIntallationLabelProvider.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,27 @@
+package org.jboss.tools.forge.preferences;
+
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.forge.launching.ForgeInstallation;
+
+public class ForgeIntallationLabelProvider extends LabelProvider implements
ITableLabelProvider {
+
+ public String getColumnText(Object element, int columnIndex) {
+ if (element instanceof ForgeInstallation) {
+ ForgeInstallation forgeInstallation= (ForgeInstallation)element;
+ switch(columnIndex) {
+ case 0:
+ return forgeInstallation.getName();
+ case 1:
+ return forgeInstallation.getLocation();
+ }
+ }
+ return element.toString();
+ }
+
+ public Image getColumnImage(Object element, int columnIndex) {
+ return null;
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsolePage.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsolePage.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsolePage.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,36 @@
+package org.jboss.tools.forge.view;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.console.TextConsoleViewer;
+import org.eclipse.ui.part.Page;
+import org.jboss.tools.forge.console.Console;
+import org.jboss.tools.forge.launching.ForgeRuntime;
+
+public class ConsolePage extends Page {
+
+ private TextConsoleViewer viewer;
+ private Console console;
+
+ @Override
+ public void createControl(Composite parent) {
+ console = new Console(ForgeRuntime.INSTANCE.getProcess());
+ viewer = new ConsoleViewer(parent, console);
+ console.initialize();
+ }
+
+ @Override
+ public Control getControl() {
+ return viewer == null ? null : viewer.getControl();
+ }
+
+ @Override
+ public void setFocus() {
+ viewer.getControl().setFocus();
+ }
+
+ public Console getConsole() {
+ return console;
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleText.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleText.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleText.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,40 @@
+package org.jboss.tools.forge.view;
+
+import org.eclipse.swt.custom.ST;
+import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.widgets.Composite;
+
+public class ConsoleText extends StyledText {
+
+ public ConsoleText(Composite parent, int style) {
+ super(parent, style);
+ }
+
+ public void invokeAction(int action) {
+ checkWidget();
+ switch (action) {
+ case ST.LINE_UP:
+ doLineUp();
+ break;
+ case ST.LINE_DOWN:
+ doLineDown();
+ break;
+// case ST.DELETE_PREVIOUS:
+// doDeletePrevious();
+// break;
+ default:
+ super.invokeAction(action);
+ }
+ }
+
+ private void doLineUp() {
+// System.out.println("Line up");
+ }
+ private void doLineDown() {
+// System.out.println("Line down");
+ }
+// private void doDeletePrevious() {
+// System.out.println("Backspace");
+// }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleView.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleView.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleView.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,125 @@
+package org.jboss.tools.forge.view;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.part.MessagePage;
+import org.eclipse.ui.part.PageBook;
+import org.eclipse.ui.part.PageSite;
+import org.eclipse.ui.part.ViewPart;
+import org.jboss.tools.forge.console.Console;
+import org.jboss.tools.forge.launching.ForgeRuntime;
+
+public class ConsoleView extends ViewPart implements PropertyChangeListener {
+
+ private static ConsoleView INSTANCE;
+
+ private PageBook pageBook = null;
+ private Control notRunning;
+ private Control forgeIsStopping;
+ private Control waitWhileForgeIsStarting;
+ private Control forgeIsRunning;
+ private ConsolePage forgeIsRunningPage;
+
+ public ConsoleView() {
+ if (INSTANCE == null) {
+ INSTANCE = this;
+ ForgeRuntime.INSTANCE.addPropertyChangeListener(this);
+ }
+ }
+
+ @Override
+ public void createPartControl(Composite parent) {
+ pageBook = new PageBook(parent, SWT.NONE);
+ createForgeNotRunningPage(parent);
+ createWaitWhileForgeIsStartingPage(parent);
+ createForgeIsStoppingPage(parent);
+ showAppropriatePage();
+ }
+
+ private void createForgeNotRunningPage(Composite parent) {
+ MessagePage page = new MessagePage();
+ page.createControl(pageBook);
+ page.init(new PageSite(getViewSite()));
+ page.setMessage("Forge is not running.");
+ notRunning = page.getControl();
+ }
+
+ private void createWaitWhileForgeIsStartingPage(Composite parent) {
+ MessagePage page = new MessagePage();
+ page.createControl(pageBook);
+ page.init(new PageSite(getViewSite()));
+ page.setMessage("Please wait while Forge is starting");
+ waitWhileForgeIsStarting = page.getControl();
+ }
+
+ private void createForgeIsStoppingPage(Composite parent) {
+ MessagePage page = new MessagePage();
+ page.createControl(pageBook);
+ page.init(new PageSite(getViewSite()));
+ page.setMessage("Please wait while Forge is stopping");
+ forgeIsStopping = page.getControl();
+ }
+
+ @Override
+ public void setFocus() {
+ if (ForgeRuntime.STATE_RUNNING.equals(ForgeRuntime.INSTANCE.getRuntimeState())) {
+ forgeIsRunningPage.setFocus();
+ }
+ }
+
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ showAppropriatePage();
+ }
+ });
+ }
+
+ private void showAppropriatePage() {
+ String runtimeState = ForgeRuntime.INSTANCE.getRuntimeState();
+ if (ForgeRuntime.STATE_NOT_RUNNING.equals(runtimeState)) {
+ pageBook.showPage(notRunning);
+ } else if (ForgeRuntime.STATE_RUNNING.equals(runtimeState)) {
+ showForgeIsRunning();
+ } else if (ForgeRuntime.STATE_STARTING.equals(runtimeState)) {
+ pageBook.showPage(waitWhileForgeIsStarting);
+ } else if (ForgeRuntime.STATE_STOPPING.equals(runtimeState)) {
+ pageBook.showPage(forgeIsStopping);
+ }
+ }
+
+ private void showForgeIsRunning() {
+ Control oldForgeIsRunning = forgeIsRunning;
+ ConsolePage oldForgeIsRunningPage = forgeIsRunningPage;
+ forgeIsRunningPage = new ConsolePage();
+ forgeIsRunningPage.createControl(pageBook);
+ forgeIsRunningPage.init(new PageSite(getViewSite()));
+ forgeIsRunning = forgeIsRunningPage.getControl();
+ pageBook.showPage(forgeIsRunning);
+ if (oldForgeIsRunningPage != null) {
+ Console oldConsole = oldForgeIsRunningPage.getConsole();
+ if (oldConsole != null) {
+ DebugPlugin.getDefault().removeDebugEventListener(oldConsole);
+ oldConsole.dispose();
+ }
+ oldForgeIsRunningPage.dispose();
+ }
+ if (oldForgeIsRunning != null) {
+ oldForgeIsRunning.dispose();
+ }
+ }
+
+ public void dispose() {
+ ForgeRuntime.INSTANCE.removePropertyChangeListener(this);
+ super.dispose();
+ }
+
+}
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleViewer.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleViewer.java
(rev 0)
+++
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleViewer.java 2011-06-08
10:07:42 UTC (rev 31904)
@@ -0,0 +1,86 @@
+package org.jboss.tools.forge.view;
+
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocumentListener;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.VerifyEvent;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.console.TextConsoleViewer;
+import org.jboss.tools.forge.console.Console;
+
+public class ConsoleViewer extends TextConsoleViewer {
+
+ private static String BACKSPACE = new Character('\b').toString();
+ private static String UP_ARROW = new Character((char)16).toString();
+ private static String DOWN_ARROW = new Character((char)14).toString();
+
+ private Console console = null;
+
+ public ConsoleViewer(Composite parent, Console console) {
+ super(parent, console);
+ this.console = console;
+ getDocument().addDocumentListener(new DocumentListener());
+ }
+
+ protected void handleVerifyEvent(VerifyEvent e) {
+ console.getInputStream().appendData(e.text);
+ e.doit = false;
+ }
+
+ private void handleBackspace() {
+ console.getInputStream().appendData(BACKSPACE);
+ }
+
+ private void handleArrowUp() {
+ console.getInputStream().appendData(UP_ARROW);
+ }
+
+ private void handleArrowDown() {
+ console.getInputStream().appendData(DOWN_ARROW);
+ }
+
+ protected StyledText createTextWidget(Composite parent, int styles) {
+ ConsoleText styledText= new ConsoleText(parent, styles | SWT.WRAP);
+ styledText.setLeftMargin(Math.max(styledText.getLeftMargin(), 2));
+ styledText.addKeyListener(new ConsoleKeyListener());
+ return styledText;
+ }
+
+ private class DocumentListener implements IDocumentListener {
+
+ public void documentAboutToBeChanged(DocumentEvent event) {
+ }
+
+
+ public void documentChanged(DocumentEvent event) {
+ revealEndOfDocument();
+ Control control = getControl();
+ if (control instanceof StyledText) {
+ StyledText text = (StyledText)control;
+ text.setCaretOffset(text.getCharCount());
+ }
+ }
+ }
+
+ private class ConsoleKeyListener implements KeyListener {
+
+ public void keyPressed(KeyEvent e) {
+ }
+
+ public void keyReleased(KeyEvent e) {
+ if (e.keyCode == SWT.BS) {
+ handleBackspace();
+ } else if (e.keyCode == SWT.ARROW_UP) {
+ handleArrowUp();
+ } else if (e.keyCode == SWT.ARROW_DOWN) {
+ handleArrowDown();
+ }
+ }
+
+ }
+
+}