Author: rob.stryker(a)jboss.com
Date: 2009-10-19 17:54:07 -0400 (Mon, 19 Oct 2009)
New Revision: 18172
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/.classpath
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/.project
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/.settings/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/.settings/org.eclipse.jdt.core.prefs
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/META-INF/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/META-INF/MANIFEST.MF
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/Messages.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/Messages.properties
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/SSHDeploymentPlugin.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/TestClass$ServerUserInfo.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/TestClass.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/ISSHDeploymentConstants.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHPublisher.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate$SSHPublishMethod.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate$ServerUserInfo.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerDelegate.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerRuntime.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHZippedJSTPublisher.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/DeploymentPage.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$1.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$2.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$3.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$4.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetDeployDirCommand.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetPasswordCommand.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetPropertyCommand.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetUserCommand.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetZipCommand.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab.class
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/build.properties
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/icons/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/icons/ssh-16x16.png
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/plugin.xml
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/Messages.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/Messages.properties
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/SSHDeploymentPlugin.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/TestClass.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/ISSHDeploymentConstants.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHPublisher.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHServerDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHZippedJSTPublisher.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/ui/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/ui/editor/
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/ui/editor/DeploymentPage.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab.java
Log:
JBIDE-5048 - step 1, publishing zipped WTP projects
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/.classpath
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/.classpath (rev
0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/.classpath 2009-10-19 21:54:07 UTC (rev
18172)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con"
path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/.project
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/.project (rev
0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/.project 2009-10-19 21:54:07 UTC (rev
18172)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jboss.ide.eclipse.as.ssh</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/as/plugins/org.jboss.ide.eclipse.as.ssh/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/.settings/org.eclipse.jdt.core.prefs 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,8 @@
+#Mon Oct 12 15:41:36 GMT-05:00 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/META-INF/MANIFEST.MF
(rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/META-INF/MANIFEST.MF 2009-10-19 21:54:07
UTC (rev 18172)
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Ssh
+Bundle-SymbolicName: org.jboss.ide.eclipse.as.ssh;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.jboss.ide.eclipse.as.ssh.SSHDeploymentPlugin
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ com.jcraft.jsch;bundle-version="0.1.41",
+ org.eclipse.jsch.core;bundle-version="1.1.100",
+ org.eclipse.jsch.ui;bundle-version="1.1.200",
+ org.eclipse.wst.server.core;bundle-version="1.1.102",
+ org.eclipse.wst.server.ui;bundle-version="1.1.103",
+ org.eclipse.jst.jee;bundle-version="1.0.201",
+ org.eclipse.jst.j2ee;bundle-version="1.1.301",
+ org.eclipse.jst.j2ee.core;bundle-version="1.1.301",
+ org.eclipse.jst.server.core;bundle-version="1.2.0",
+ org.jboss.ide.eclipse.as.core;bundle-version="1.0.0",
+ org.eclipse.debug.core;bundle-version="3.5.0",
+ org.eclipse.wst.common.emfworkbench.integration;bundle-version="1.1.301",
+ org.eclipse.jem.util;bundle-version="2.0.200",
+ org.jboss.ide.eclipse.archives.webtools;bundle-version="1.0.0",
+ org.jboss.ide.eclipse.as.ui;bundle-version="1.0.0",
+ org.eclipse.ui.forms;bundle-version="3.4.1"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/Messages.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/Messages.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/Messages.properties
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/Messages.properties
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/Messages.properties 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,10 @@
+browse=Browse...
+UserLabel=Username
+PassLabel=Password
+DeployRootFolder=Deployment Folder
+EditorZipDeployments=Deploy projects as compressed archives
+EditorSetUserCommandLabel=Set Username
+EditorSetPasswordCommandLabel=Set Password
+EditorSetDeployCommandLabel=Set Remote Deployment Folder
+SSHDeploymentSectionTitle=SSH Deployment
+SSHDeploymentDescription=Description of SSH Deployment (TODO)
\ No newline at end of file
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/Messages.properties
___________________________________________________________________
Name: svn:executable
+ *
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/SSHDeploymentPlugin.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/SSHDeploymentPlugin.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/TestClass$ServerUserInfo.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/TestClass$ServerUserInfo.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/TestClass.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/TestClass.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/ISSHDeploymentConstants.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/ISSHDeploymentConstants.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHPublisher.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHPublisher.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate$SSHPublishMethod.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate$SSHPublishMethod.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate$ServerUserInfo.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate$ServerUserInfo.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerDelegate.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerDelegate.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerRuntime.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHServerRuntime.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHZippedJSTPublisher.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/server/SSHZippedJSTPublisher.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/DeploymentPage.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/DeploymentPage.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$1.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$1.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$2.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$2.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$3.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$3.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$4.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$4.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetDeployDirCommand.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetDeployDirCommand.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetPasswordCommand.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetPasswordCommand.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetPropertyCommand.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetPropertyCommand.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetUserCommand.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetUserCommand.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetZipCommand.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab$SetZipCommand.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab.class
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/bin/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/build.properties
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/build.properties
(rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/build.properties 2009-10-19 21:54:07 UTC
(rev 18172)
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/icons/ssh-16x16.png
===================================================================
(Binary files differ)
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/icons/ssh-16x16.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/plugin.xml (rev
0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/plugin.xml 2009-10-19 21:54:07 UTC (rev
18172)
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.wst.server.core.serverTypes">
+ <serverType
+
behaviourClass="org.jboss.ide.eclipse.as.ssh.server.SSHServerBehaviourDelegate"
+ class="org.jboss.ide.eclipse.as.ssh.server.SSHServerDelegate"
+ description="A server which simply scp's files to a destination
host and location"
+ id="org.jboss.ide.eclipse.as.ssh.server.remoteServerType"
+ name="SCP Remote Server"
+ runtime="false"
+
runtimeTypeId="org.jboss.ide.eclipse.as.ssh.server.remoteServerRuntimeType"
+ supportsRemoteHosts="true">
+ </serverType>
+ </extension>
+
+
+ <!-- This runtime type is here just to get around some weird UI checking.
+ It *can* be removed later SAFELY without breaking anything. The server
+ wizard will *not* create the runtime, but just check that the type is set.
+ ... So broken ;) -->
+
+ <extension
+ point="org.eclipse.wst.server.core.runtimeTypes">
+ <runtimeType
+ vendor="JBoss Stuff"
+ class="org.jboss.ide.eclipse.as.ssh.server.SSHServerRuntime"
+ description="A runtime to allow SSH servers to support every module
type. "
+ name="SSH Runtime"
+ id="org.jboss.ide.eclipse.as.ssh.server.remoteServerRuntimeType"
+ version="1.0">
+ <moduleType
+ types="jst.web"
+ versions="2.2, 2.3, 2.4, 2.5"/>
+ <moduleType
+ types="jst.ejb"
+ versions="1.0, 1.1, 2.0, 2.1, 3.0"/>
+ <moduleType
+ types="jst.ear"
+ versions="1.2, 1.3, 1.4, 5.0"/>
+ <moduleType
+ types="jst.connector"
+ versions="1.0, 1.5"/>
+ <moduleType
+ types="jst.utility"
+ versions="1.0"/>
+ <moduleType
+ types="jboss.package"
+ versions="1.0"/>
+ <moduleType
+ types="jboss.singlefile"
+ versions="1.0"/>
+ <moduleType
+ types="jst.jboss.esb"
+ versions="4.2,4.3,4.4,4.5,4.6,5.0">
+ </moduleType>
+ <moduleType
+ types="jbt.bpel.module"
+ versions="1.1, 2.0">
+ </moduleType>
+ </runtimeType>
+ </extension>
+ <extension
+ point="org.jboss.ide.eclipse.as.core.publishers">
+ <publisher
+ class="org.jboss.ide.eclipse.as.ssh.server.SSHZippedJSTPublisher"
+ priority="3"
+ zipDelegate="true">
+ </publisher>
+ </extension>
+
+
+ <!-- Some UI -->
+ <extension
+ point="org.eclipse.wst.server.ui.editorPages">
+ <page
+ class="org.jboss.ide.eclipse.as.ssh.ui.editor.DeploymentPage"
+ id="org.jboss.ide.eclipse.as.ssh.ui.editor.DeploymentPage"
+ name="Deployment"
+
typeIds="org.jboss.ide.eclipse.as.ssh.server.remoteServerType">
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.wst.server.ui.serverImages">
+ <image
+ icon="icons/ssh-16x16.png"
+ id="org.jboss.ide.eclipse.as.ssh.server.icons"
+ typeIds="org.jboss.ide.eclipse.as.ssh.server.remoteServerType">
+ </image>
+ </extension>
+
+</plugin>
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/Messages.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/Messages.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/Messages.java 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.ssh;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME =
"org.jboss.ide.eclipse.as.ssh.Messages"; //$NON-NLS-1$
+
+ public static String browse;
+ public static String UserLabel;
+ public static String PassLabel;
+ public static String DeployRootFolder;
+ public static String EditorZipDeployments;
+ public static String EditorSetDeployCommandLabel;
+ public static String SSHDeploymentSectionTitle;
+ public static String SSHDeploymentDescription;
+ public static String EditorSetUserCommandLabel;
+ public static String EditorSetPasswordCommandLabel;
+ static {
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+ private Messages() {
+ }
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/Messages.java
___________________________________________________________________
Name: svn:executable
+ *
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/Messages.properties
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/Messages.properties
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/Messages.properties 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,10 @@
+browse=Browse...
+UserLabel=Username
+PassLabel=Password
+DeployRootFolder=Deployment Folder
+EditorZipDeployments=Deploy projects as compressed archives
+EditorSetUserCommandLabel=Set Username
+EditorSetPasswordCommandLabel=Set Password
+EditorSetDeployCommandLabel=Set Remote Deployment Folder
+SSHDeploymentSectionTitle=SSH Deployment
+SSHDeploymentDescription=Description of SSH Deployment (TODO)
\ No newline at end of file
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/Messages.properties
___________________________________________________________________
Name: svn:executable
+ *
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/SSHDeploymentPlugin.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/SSHDeploymentPlugin.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/SSHDeploymentPlugin.java 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,50 @@
+package org.jboss.ide.eclipse.as.ssh;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class SSHDeploymentPlugin extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.jboss.ide.eclipse.as.ssh";
+
+ // The shared instance
+ private static SSHDeploymentPlugin plugin;
+
+ /**
+ * The constructor
+ */
+ public SSHDeploymentPlugin() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static SSHDeploymentPlugin getDefault() {
+ return plugin;
+ }
+
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/TestClass.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/TestClass.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/TestClass.java 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,164 @@
+package org.jboss.ide.eclipse.as.ssh;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import com.jcraft.jsch.Channel;
+import com.jcraft.jsch.ChannelExec;
+import com.jcraft.jsch.JSch;
+import com.jcraft.jsch.Session;
+import com.jcraft.jsch.UserInfo;
+
+public class TestClass {
+ public static void main(String[] arg) {
+ FileInputStream fis = null;
+ try {
+
+
+ String lfile =
"/home/rob/apps/eclipse/workspaces/runtime/run12/.metadata/.plugins/org.jboss.ide.eclipse.as.core/SCP_Remote_Server_at_localhost/deploy/TEST10.jar";
+ String rfile = "/home/rob/scptest999.jar";
+ String host = "oxbeef.net";
+ // username and password will be given via UserInfo interface.
+ ServerUserInfo ui = new ServerUserInfo();
+
+ JSch jsch = new JSch();
+ Session session = jsch.getSession(ui.getUser(), host, 22);
+ jsch.setKnownHosts(ui.getHostsFile());
+ session.setUserInfo(ui);
+ session.connect();
+
+ // exec 'scp -t rfile' remotely
+ String command = "scp -p -t " + rfile;
+ Channel channel = session.openChannel("exec");
+ ((ChannelExec) channel).setCommand(command);
+
+ // get I/O streams for remote scp
+ OutputStream out = channel.getOutputStream();
+ InputStream in = channel.getInputStream();
+
+ channel.connect();
+
+ if (checkAck(in) != 0) {
+ System.exit(0);
+ }
+
+ // send "C0644 filesize filename", where filename should not include
+ // '/'
+ long filesize = (new File(lfile)).length();
+ command = "C0644 " + filesize + " ";
+ if (lfile.lastIndexOf('/') > 0) {
+ command += lfile.substring(lfile.lastIndexOf('/') + 1);
+ } else {
+ command += lfile;
+ }
+ command += "\n";
+ System.out.println(command);
+ out.write(command.getBytes());
+ out.flush();
+ if (checkAck(in) != 0) {
+ System.exit(0);
+ }
+
+ // send a content of lfile
+ fis = new FileInputStream(lfile);
+ byte[] buf = new byte[1024];
+ while (true) {
+ int len = fis.read(buf, 0, buf.length);
+ if (len <= 0)
+ break;
+ out.write(buf, 0, len); // out.flush();
+ }
+ fis.close();
+ fis = null;
+ // send '\0'
+ buf[0] = 0;
+ out.write(buf, 0, 1);
+ out.flush();
+ if (checkAck(in) != 0) {
+ System.exit(0);
+ }
+ out.close();
+
+ channel.disconnect();
+ session.disconnect();
+
+ System.exit(0);
+ } catch (Exception e) {
+ System.out.println(e);
+ try {
+ if (fis != null)
+ fis.close();
+ } catch (Exception ee) {
+ }
+ }
+ }
+
+ static int checkAck(InputStream in) throws IOException {
+ int b = in.read();
+ // b may be 0 for success,
+ // 1 for error,
+ // 2 for fatal error,
+ // -1
+ if (b == 0)
+ return b;
+ if (b == -1)
+ return b;
+
+ if (b == 1 || b == 2) {
+ StringBuffer sb = new StringBuffer();
+ int c;
+ do {
+ c = in.read();
+ sb.append((char) c);
+ } while (c != '\n');
+ if (b == 1) { // error
+ System.out.print(sb.toString());
+ }
+ if (b == 2) { // fatal error
+ System.out.print(sb.toString());
+ }
+ }
+ return b;
+ }
+
+ public static class ServerUserInfo implements UserInfo {
+ private String user = "rob";
+ private String password = "p3nh2ogo";
+ private String hostsFile = "/home/rob/.ssh/known_hosts";
+ public String getPassword() {
+ return password;
+ }
+
+ public String getUser() {
+ return user;
+ }
+
+ public String getHostsFile() {
+ return hostsFile;
+ }
+
+ public String getPassphrase() {
+ return null;
+ }
+
+ public boolean promptPassphrase(String message) {
+ return true;
+ }
+
+ public boolean promptPassword(String message) {
+ return true;
+ }
+
+ public void showMessage(String message) {
+ // TODO eh?
+ }
+
+ public boolean promptYesNo(String message) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+ }
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/ISSHDeploymentConstants.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/ISSHDeploymentConstants.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/ISSHDeploymentConstants.java 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,8 @@
+package org.jboss.ide.eclipse.as.ssh.server;
+
+public interface ISSHDeploymentConstants {
+ public static final String DEPLOY_DIRECTORY =
"org.jboss.ide.eclipse.as.ssh.server.deployDirectory"; //$NON-NLS-1$
+ public static final String USERNAME =
"org.jboss.ide.eclipse.as.ssh.server.username"; //$NON-NLS-1$
+ public static final String PASSWORD =
"org.jboss.ide.eclipse.as.ssh.server.password"; //$NON-NLS-1$
+ public static final String ZIP_DEPLOYMENTS_PREF =
"org.jboss.ide.eclipse.as.ssh.server.zipDeploymentsPreference"; //$NON-NLS-1$
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHPublisher.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHPublisher.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHPublisher.java 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,17 @@
+package org.jboss.ide.eclipse.as.ssh.server;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
+
+public class SSHPublisher {
+ protected void publishStart(IServer server, final IProgressMonitor monitor) throws
CoreException {
+ }
+
+ protected void publishFinish(IServer server, final IProgressMonitor monitor) throws
CoreException {
+ }
+
+ protected void publishModule(int publishType, IModule[] module, IProgressMonitor
monitor) throws CoreException {
+ }
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHServerBehaviourDelegate.java 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,109 @@
+package org.jboss.ide.eclipse.as.ssh.server;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethod;
+import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
+
+import com.jcraft.jsch.JSch;
+import com.jcraft.jsch.JSchException;
+import com.jcraft.jsch.Session;
+import com.jcraft.jsch.UserInfo;
+
+public class SSHServerBehaviourDelegate extends DeployableServerBehavior {
+
+ public SSHServerBehaviourDelegate() {
+ super();
+ }
+
+ @Override
+ public void stop(boolean force) {
+ setServerState(IServer.STATE_STOPPED);
+ }
+
+ protected IJBossServerPublishMethod createPublishMethod() {
+ return new SSHPublishMethod(); // TODO FIX THIS in superclass
+ }
+
+ public static class SSHPublishMethod extends LocalPublishMethod {
+ public static final String SSH_PUBLISH_METHOD = "ssh"; //$NON-NLS-1$
+
+ @Override
+ public String getPublishMethodId() {
+ return SSH_PUBLISH_METHOD;
+ }
+
+ private Session session;
+ public Session getSession() {
+ return session;
+ }
+
+ @Override
+ public void publishStart(DeployableServerBehavior behaviour,
+ IProgressMonitor monitor) throws CoreException {
+
+ try {
+ ServerUserInfo info = new ServerUserInfo();
+ JSch jsch = new JSch();
+ session = jsch.getSession(info.getUser(), behaviour.getServer().getHost(), 22);
+ jsch.setKnownHosts(info.getHostsFile());
+ session.setUserInfo(info);
+ session.connect();
+ } catch( JSchException jsche) {
+ // TODO handle
+ }
+ }
+
+ @Override
+ public int publishFinish(DeployableServerBehavior behaviour,
+ IProgressMonitor monitor) throws CoreException {
+ int ret = super.publishFinish(behaviour, monitor);
+ if( session != null )
+ session.disconnect();
+ session = null;
+ return ret;
+ }
+ }
+
+
+ public static class ServerUserInfo implements UserInfo {
+ private String user = "rob";
+ private String password = "p3nh2ogo";
+ private String hostsFile = "/home/rob/.ssh/known_hosts";
+ public String getPassword() {
+ return password;
+ }
+
+ public String getUser() {
+ return user;
+ }
+
+ public String getHostsFile() {
+ return hostsFile;
+ }
+
+ public String getPassphrase() {
+ return null;
+ }
+
+ public boolean promptPassphrase(String message) {
+ return true;
+ }
+
+ public boolean promptPassword(String message) {
+ return true;
+ }
+
+ public void showMessage(String message) {
+ // TODO eh?
+ }
+
+ public boolean promptYesNo(String message) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+ }
+
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHServerDelegate.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHServerDelegate.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHServerDelegate.java 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,23 @@
+package org.jboss.ide.eclipse.as.ssh.server;
+
+import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
+import org.jboss.ide.eclipse.as.core.server.internal.DeployableServer;
+
+public class SSHServerDelegate extends DeployableServer {
+
+ public SSHServerDelegate() {
+ // TODO Auto-generated constructor stub
+ }
+
+ public IJBossServerRuntime getRuntime() {
+ return null;
+ }
+
+ public String getUsername() {
+ return getAttribute(ISSHDeploymentConstants.USERNAME, (String)null);
+ }
+
+ public String getPassword() {
+ return getAttribute(ISSHDeploymentConstants.PASSWORD, (String)null);
+ }
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHServerRuntime.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHServerRuntime.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHServerRuntime.java 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,11 @@
+package org.jboss.ide.eclipse.as.ssh.server;
+
+import org.eclipse.wst.server.core.model.RuntimeDelegate;
+
+public class SSHServerRuntime extends RuntimeDelegate {
+
+ public SSHServerRuntime() {
+ super();
+ }
+
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHZippedJSTPublisher.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHZippedJSTPublisher.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/server/SSHZippedJSTPublisher.java 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,180 @@
+package org.jboss.ide.eclipse.as.ssh.server;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.componentcore.ModuleCoreNature;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.internal.Server;
+import org.eclipse.wst.server.core.model.IModuleResourceDelta;
+import org.jboss.ide.eclipse.archives.webtools.modules.LocalZippedPublisherUtil;
+import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
+import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerConstants;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethod;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
+import org.jboss.ide.eclipse.as.ssh.SSHDeploymentPlugin;
+import org.jboss.ide.eclipse.as.ssh.server.SSHServerBehaviourDelegate.SSHPublishMethod;
+
+import com.jcraft.jsch.Channel;
+import com.jcraft.jsch.ChannelExec;
+import com.jcraft.jsch.JSchException;
+import com.jcraft.jsch.Session;
+
+public class SSHZippedJSTPublisher implements IJBossServerPublisher {
+
+ public SSHZippedJSTPublisher() {
+ }
+
+ public boolean accepts(String method, IServer server, IModule[] module) {
+ if( !method.equals(SSHPublishMethod.SSH_PUBLISH_METHOD))
+ return false;
+ if( module == null )
+ return true;
+ IDeployableServer ds = ServerConverter.getDeployableServer(server);
+ boolean shouldAccept = ds != null
+ && ModuleCoreNature.isFlexibleProject(module[0].getProject())
+ && true; // TODO ds.zipsWTPDeployments();
+ return shouldAccept;
+ }
+
+ public int getPublishState() {
+ return IServer.PUBLISH_STATE_NONE;
+ }
+
+ public IStatus publishModule(
+ IJBossServerPublishMethod method,
+ IServer server, IModule[] module,
+ int publishType, IModuleResourceDelta[] delta,
+ IProgressMonitor monitor) throws CoreException {
+ // Let the local zipped publisher do the work in a local / metadata folder
+ IStatus returnStatus = null;
+ SSHPublishMethod method2 = (SSHPublishMethod)method;
+ IPath deployRoot = JBossServerCorePlugin.getServerStateLocation(server).
+ append(IJBossServerConstants.DEPLOY).makeAbsolute();
+
+ LocalZippedPublisherUtil localDelegate = new LocalZippedPublisherUtil();
+ IStatus localCopyStatus = localDelegate.publishModule(server,
+ deployRoot.toOSString(), module, publishType, delta, monitor);
+ IPath outputFilepath = localDelegate.getOutputFilePath();
+
+ // Am I a removal? If yes, remove me, and return
+ if( publishType == IJBossServerPublisher.REMOVE_PUBLISH) {
+ System.out.println("remove remote");
+ } else {
+ // TODO FIX THIS
+ String deployFolder = getRemoteDeployFolder(server);
+ String deployFile = new
Path(deployFolder).append(outputFilepath.lastSegment()).toString();
+ launchCopyCommand(method2.getSession(),
+ outputFilepath.toString(), deployFile);
+ }
+ return null;
+ }
+
+ protected String getRemoteDeployFolder(IServer server) {
+ return ((Server)server).getAttribute(ISSHDeploymentConstants.DEPLOY_DIRECTORY,
(String)null);
+ }
+
+ protected void launchCopyCommand(Session session, String localFile, String
remoteLocation) throws CoreException {
+ try {
+ // exec 'scp -t rfile' remotely
+ String command = "scp -p -t " + remoteLocation;
+ Channel channel = session.openChannel("exec");
+ ((ChannelExec) channel).setCommand(command);
+
+ // get I/O streams for remote scp
+ OutputStream out = channel.getOutputStream();
+ InputStream in = channel.getInputStream();
+ channel.connect();
+ if (checkAck(in) != 0) {
+ // TODO throw new exception
+ throw new CoreException(new Status(IStatus.ERROR, SSHDeploymentPlugin.PLUGIN_ID,
"no idea bug"));
+ }
+
+ // send "C0644 filesize filename", where filename should not include
+ // '/'
+ long filesize = (new File(localFile)).length();
+ command = "C0644 " + filesize + " ";
+ if (localFile.lastIndexOf('/') > 0) {
+ command += localFile.substring(localFile.lastIndexOf('/') + 1);
+ } else {
+ command += localFile;
+ }
+ command += "\n";
+ System.out.println(command);
+ out.write(command.getBytes());
+ out.flush();
+ if (checkAck(in) != 0) {
+ // TODO throw new exception
+ throw new CoreException(new Status(IStatus.ERROR, SSHDeploymentPlugin.PLUGIN_ID,
"no idea bug"));
+ }
+
+ // send a content of lfile
+ FileInputStream fis = new FileInputStream(localFile);
+ byte[] buf = new byte[1024];
+ while (true) {
+ int len = fis.read(buf, 0, buf.length);
+ if (len <= 0)
+ break;
+ out.write(buf, 0, len); // out.flush();
+ }
+ fis.close();
+ fis = null;
+ // send '\0'
+ buf[0] = 0;
+ out.write(buf, 0, 1);
+ out.flush();
+ if (checkAck(in) != 0) {
+ System.exit(0);
+ }
+ out.close();
+
+ channel.disconnect();
+ } catch( JSchException jsche ) {
+ // TODO
+ jsche.printStackTrace();
+ } catch( IOException ioe) {
+ // TODO
+ ioe.printStackTrace();
+ }
+ }
+
+ static int checkAck(InputStream in) throws IOException {
+ int b = in.read();
+ // b may be 0 for success,
+ // 1 for error,
+ // 2 for fatal error,
+ // -1
+ if (b == 0)
+ return b;
+ if (b == -1)
+ return b;
+
+ if (b == 1 || b == 2) {
+ StringBuffer sb = new StringBuffer();
+ int c;
+ do {
+ c = in.read();
+ sb.append((char) c);
+ } while (c != '\n');
+ if (b == 1) { // error
+ System.out.print(sb.toString());
+ }
+ if (b == 2) { // fatal error
+ System.out.print(sb.toString());
+ }
+ }
+ return b;
+ }
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/ui/editor/DeploymentPage.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/ui/editor/DeploymentPage.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/ui/editor/DeploymentPage.java 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,23 @@
+package org.jboss.ide.eclipse.as.ssh.ui.editor;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.jboss.ide.eclipse.as.ui.editor.IDeploymentEditorTab;
+import org.jboss.ide.eclipse.as.ui.editor.ModuleDeploymentPage;
+
+public class DeploymentPage extends ModuleDeploymentPage {
+ protected IDeploymentEditorTab[] createTabs(FormToolkit toolkit, TabFolder tabFolder) {
+ TabItem tabItem = new TabItem(tabFolder, SWT.NULL);
+ IDeploymentEditorTab tab = new SSHDeploymentModuleTab();
+ tabItem.setText(tab.getTabName());
+ tab.setDeploymentPage(this);
+ tab.setDeploymentPrefs(preferences);
+ tabItem.setControl(tab.createControl(tabFolder));
+ toolkit.adapt((Composite)tabItem.getControl());
+
+ return new IDeploymentEditorTab[] { tab };
+ }
+}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ssh/src/org/jboss/ide/eclipse/as/ssh/ui/editor/SSHDeploymentModuleTab.java 2009-10-19
21:54:07 UTC (rev 18172)
@@ -0,0 +1,282 @@
+package org.jboss.ide.eclipse.as.ssh.ui.editor;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+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.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.IFormColors;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.wst.server.ui.internal.command.ServerCommand;
+import org.jboss.ide.eclipse.as.core.ExtensionManager;
+import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
+import org.jboss.ide.eclipse.as.core.server.internal.ServerAttributeHelper;
+import
org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentPreferences;
+import org.jboss.ide.eclipse.as.ssh.Messages;
+import org.jboss.ide.eclipse.as.ssh.server.ISSHDeploymentConstants;
+import org.jboss.ide.eclipse.as.ssh.server.SSHServerBehaviourDelegate.SSHPublishMethod;
+import org.jboss.ide.eclipse.as.ui.editor.IDeploymentEditorTab;
+import org.jboss.ide.eclipse.as.ui.editor.ModuleDeploymentPage;
+
+public class SSHDeploymentModuleTab implements IDeploymentEditorTab {
+ private ModuleDeploymentPage page;
+ private DeploymentPreferences preferences;
+
+ public SSHDeploymentModuleTab() {
+ }
+
+ public String getTabName() {
+ return "SSH Deployment";
+ }
+
+ public void setDeploymentPage(ModuleDeploymentPage page) {
+ this.page = page;
+ }
+
+ public void setDeploymentPrefs(DeploymentPreferences prefs) {
+ this.preferences = prefs;
+ }
+
+ public Control createControl(Composite parent) {
+ helper = new ServerAttributeHelper(page.getServer().getOriginal(), page.getServer());
+
+ Composite random = new Composite(parent, SWT.NONE);
+ GridData randomData = new GridData(GridData.FILL_BOTH);
+ random.setLayoutData(randomData);
+ random.setLayout(new FormLayout());
+
+ Composite defaultComposite = createDefaultComposite(random);
+ FormData fd = new FormData();
+ fd.left = new FormAttachment(0, 5);
+ fd.top = new FormAttachment(0, 5);
+ fd.right = new FormAttachment(100, -5);
+ defaultComposite.setLayoutData(fd);
+ return random;
+ }
+
+ private Text userText, passText, deployText;
+ private ModifyListener userListener, passListener, deployListener;
+ private ServerAttributeHelper helper;
+ private Button zipDeployWTPProjects;
+ private SelectionListener zipListener;
+
+ protected Composite createDefaultComposite(Composite parent) {
+
+ FormToolkit toolkit = new FormToolkit(parent.getDisplay());
+
+ Section section = toolkit.createSection(parent,
+ ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED
+ | ExpandableComposite.TITLE_BAR);
+ section.setText(Messages.SSHDeploymentSectionTitle);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL
+ | GridData.VERTICAL_ALIGN_FILL));
+
+ Composite composite = toolkit.createComposite(section);
+
+ composite.setLayout(new FormLayout());
+
+ Label descriptionLabel = toolkit.createLabel(composite,
+ Messages.SSHDeploymentDescription);
+ FormData descriptionLabelData = new FormData();
+ descriptionLabelData.left = new FormAttachment(0, 5);
+ descriptionLabelData.top = new FormAttachment(0, 5);
+ descriptionLabel.setLayoutData(descriptionLabelData);
+
+ Control top = descriptionLabel;
+ Composite inner = toolkit.createComposite(composite);
+ inner.setLayout(new GridLayout(3, true));
+
+ FormData innerData = new FormData();
+ innerData.top = new FormAttachment(descriptionLabel, 5);
+ innerData.left = new FormAttachment(0, 5);
+ innerData.right = new FormAttachment(100, -5);
+ inner.setLayoutData(innerData);
+ top = inner;
+
+ GridData textData = new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1);
+ textData.widthHint = 300;
+
+ Label label = toolkit.createLabel(inner,
+ Messages.DeployRootFolder);
+ label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+ deployText = toolkit.createText(inner, getDeployDir(), SWT.BORDER);
+ deployListener = new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ page.execute(new SetDeployDirCommand());
+ }
+ };
+ deployText.addModifyListener(deployListener);
+ deployText.setEnabled(true);
+ deployText.setLayoutData(textData);
+
+ Label userLabel = toolkit.createLabel(inner,
+ Messages.UserLabel);
+ userLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+ userText = toolkit.createText(inner, getUser(), SWT.BORDER);
+ userListener = new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ page.execute(new SetUserCommand());
+ }
+ };
+ userText.addModifyListener(userListener);
+ userText.setEnabled(true);
+ userText.setLayoutData(textData);
+
+
+ Label passLabel = toolkit.createLabel(inner,
+ Messages.PassLabel);
+ passLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+ passText = toolkit.createText(inner, getPass(), SWT.BORDER);
+ passListener = new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ page.execute(new SetPasswordCommand());
+ }
+ };
+ passText.addModifyListener(deployListener);
+ passText.setEnabled(true);
+ passText.setLayoutData(textData);
+
+ zipDeployWTPProjects = toolkit.createButton(composite,
+ Messages.EditorZipDeployments, SWT.CHECK);
+ boolean zippedPublisherAvailable = isSSHZippedPublisherAvailable();
+ boolean value = getZipsSSHDeployments();
+ zipDeployWTPProjects.setEnabled(zippedPublisherAvailable);
+ zipDeployWTPProjects.setSelection(zippedPublisherAvailable && value);
+
+ FormData zipButtonData = new FormData();
+ zipButtonData.right = new FormAttachment(100, -5);
+ zipButtonData.left = new FormAttachment(0, 5);
+ zipButtonData.top = new FormAttachment(top, 5);
+ zipDeployWTPProjects.setLayoutData(zipButtonData);
+
+ zipListener = new SelectionListener() {
+ public void widgetSelected(SelectionEvent e) {
+ page.execute(new SetZipCommand());
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ widgetSelected(e);
+ }
+ };
+ zipDeployWTPProjects.addSelectionListener(zipListener);
+
+ toolkit.paintBordersFor(composite);
+ section.setClient(composite);
+ page.getSaveStatus();
+ return section;
+ }
+
+ protected boolean isSSHZippedPublisherAvailable() {
+ IJBossServerPublisher[] publishers =
+ ExtensionManager.getDefault().getZippedPublishers();
+ for( int i = 0; i < publishers.length; i++ ) {
+ if( publishers[i].accepts(SSHPublishMethod.SSH_PUBLISH_METHOD,
getServer().getServer(), null))
+ return true;
+ }
+ return false;
+ }
+
+ public class SetPropertyCommand extends ServerCommand {
+ protected String oldDir;
+ protected String newDir;
+ protected Text text;
+ protected ModifyListener listener;
+ protected String attribute;
+ public SetPropertyCommand(String label, Text text, ModifyListener listener, String
attribute) {
+ super(page.getServer(), label);
+ this.text = text;
+ this.newDir = text.getText();
+ this.listener = listener;
+ this.attribute = attribute;
+ this.oldDir = helper.getAttribute(attribute, ""); //$NON-NLS-1$
+ }
+ public void execute() {
+ helper.setAttribute(attribute, newDir);
+ page.getSaveStatus();
+ }
+ public void undo() {
+ text.removeModifyListener(listener);
+ helper.setAttribute(attribute, oldDir);
+ text.setText(oldDir);
+ text.addModifyListener(listener);
+ page.getSaveStatus();
+ }
+ }
+
+ public class SetDeployDirCommand extends SetPropertyCommand {
+ public SetDeployDirCommand() {
+ super(Messages.EditorSetDeployCommandLabel, deployText,
+ deployListener, ISSHDeploymentConstants.DEPLOY_DIRECTORY);
+ }
+ }
+
+ public class SetUserCommand extends SetPropertyCommand {
+ public SetUserCommand() {
+ super(Messages.EditorSetUserCommandLabel, userText,
+ userListener, ISSHDeploymentConstants.USERNAME);
+ }
+ }
+
+ public class SetPasswordCommand extends SetPropertyCommand {
+ public SetPasswordCommand() {
+ super(Messages.EditorSetPasswordCommandLabel, passText,
+ passListener, ISSHDeploymentConstants.PASSWORD);
+ }
+ }
+
+ public class SetZipCommand extends ServerCommand {
+ boolean oldVal;
+ boolean newVal;
+ public SetZipCommand() {
+ super(page.getServer(), Messages.EditorZipDeployments);
+ oldVal = helper.getAttribute(ISSHDeploymentConstants.ZIP_DEPLOYMENTS_PREF, false);
+ newVal = zipDeployWTPProjects.getSelection();
+ }
+ public void execute() {
+ helper.setAttribute(ISSHDeploymentConstants.ZIP_DEPLOYMENTS_PREF, newVal);
+ page.getSaveStatus();
+ }
+ public void undo() {
+ zipDeployWTPProjects.removeSelectionListener(zipListener);
+ zipDeployWTPProjects.setSelection(oldVal);
+ helper.setAttribute(ISSHDeploymentConstants.ZIP_DEPLOYMENTS_PREF, oldVal);
+ zipDeployWTPProjects.addSelectionListener(zipListener);
+ page.getSaveStatus();
+ }
+ }
+
+ private String getDeployDir() {
+ return helper.getAttribute(ISSHDeploymentConstants.DEPLOY_DIRECTORY,
"/home");
+ }
+
+ private String getUser() {
+ return helper.getAttribute(ISSHDeploymentConstants.USERNAME, "username");
+ }
+
+ private String getPass() {
+ return helper.getAttribute(ISSHDeploymentConstants.PASSWORD, "password");
+ }
+
+ private boolean getZipsSSHDeployments() {
+ return helper.getAttribute(ISSHDeploymentConstants.ZIP_DEPLOYMENTS_PREF, false);
+ }
+
+ private IDeployableServer getServer() {
+ return (IDeployableServer) page.getServer().loadAdapter(
+ IDeployableServer.class, new NullProgressMonitor());
+ }
+}