Adding the initial contribution for IBM WebSphere Server Plugin
diff --git a/plugins/org.eclipse.jst.server.websphere.core/.classpath b/plugins/org.eclipse.jst.server.websphere.core/.classpath
new file mode 100644
index 0000000..065ac06
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.websphere.core/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.jst.server.websphere.core/.cvsignore b/plugins/org.eclipse.jst.server.websphere.core/.cvsignore
new file mode 100644
index 0000000..ba077a4
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.websphere.core/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/plugins/org.eclipse.jst.server.websphere.core/.project b/plugins/org.eclipse.jst.server.websphere.core/.project
new file mode 100644
index 0000000..83cf217
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.websphere.core/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.jst.server.websphere.core</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>
diff --git a/plugins/org.eclipse.jst.server.websphere.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.websphere.core/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f35aa2c
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.websphere.core/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: WebSphere Generic Server Definition Core Plug-in
+Bundle-SymbolicName: org.eclipse.jst.server.websphere.core; singleton:=true
+Bundle-Version: 1.0.0
+Bundle-Activator: org.eclipse.jst.server.websphere.core.CorePlugin
+Bundle-Vendor: Eclipse.org
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources,
+ org.eclipse.debug.core,
+ org.eclipse.jdt.core,
+ org.eclipse.jdt.launching,
+ org.eclipse.wst.server.core,
+ org.eclipse.jst.server.core,
+ org.eclipse.jst.j2ee,
+ org.eclipse.jst.j2ee.core,
+ org.eclipse.jst.j2ee.web,
+ org.eclipse.jst.server.generic.core,
+ org.eclipse.jst.server.generic.ui,
+ org.eclipse.emf.ecore.xmi,
+ org.eclipse.wst.common.modulecore,
+ org.eclipse.core.runtime,
+ org.eclipse.core.resources
+Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jst.server.websphere.core/build.properties b/plugins/org.eclipse.jst.server.websphere.core/build.properties
new file mode 100644
index 0000000..19643be
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.websphere.core/build.properties
@@ -0,0 +1,9 @@
+bin.includes = META-INF/,\
+               serverdef/
+               .
+bin.excludes = bin/**,\
+               @dot/**,\
+               temp.folder/**
+src.includes = serverdef/
+source.. = src/
+output.. = bin/
diff --git a/plugins/org.eclipse.jst.server.websphere.core/icons/obj16/websphere.gif b/plugins/org.eclipse.jst.server.websphere.core/icons/obj16/websphere.gif
new file mode 100644
index 0000000..8935c97
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.websphere.core/icons/obj16/websphere.gif
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.websphere.core/plugin.properties b/plugins/org.eclipse.jst.server.websphere.core/plugin.properties
new file mode 100644
index 0000000..e514f85
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.websphere.core/plugin.properties
@@ -0,0 +1,9 @@
+pluginName= WebSphere Generic Server Definition Core Plug-in
+providerName=Eclipse.org
+pluginDescription=Provides server definiton for IBM WebSphere application server
+
+# ============ websphere ====================
+websphere.6.runtime.name=Generic IBM WebSphere 6.0.x
+websphere.6.runtime.description=IBM WebSphere 6.0.x runtime
+websphere.6.server.name=Generic IBM WebSphere 6.0.x
+websphere.6.server.description=IBM WebSphere 6.0.x server
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.websphere.core/plugin.xml b/plugins/org.eclipse.jst.server.websphere.core/plugin.xml
new file mode 100644
index 0000000..6f9d944
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.websphere.core/plugin.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+
+  <extension point="org.eclipse.wst.server.core.runtimeTypes">
+    <runtimeType
+       id="org.eclipse.jst.server.generic.runtime.websphere.6"
+       name="%websphere.6.runtime.name"
+       description="%websphere.6.runtime.description"
+       vendor="Generic"
+       version="6"
+       class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntime"
+       >
+      <moduleType
+         types="j2ee.web"
+         versions="1.2, 1.3, 1.4"/>
+      <moduleType
+         types="j2ee.ejb"
+         versions="1.2, 1.3, 1.4"/>
+      <moduleType
+         types="j2ee.ear"
+         versions="1.2, 1.3, 1.4"/>
+    </runtimeType>
+  </extension>
+
+   <extension point="org.eclipse.wst.server.core.serverTypes">
+
+     <serverType
+           runtime="true"
+           class="org.eclipse.jst.server.generic.core.internal.GenericServer"
+           id="org.eclipse.jst.servers.websphere.6"
+           initialState="stopped"
+           supportsRemoteHosts="false"
+           runtimeTypeId="org.eclipse.jst.server.generic.runtime.websphere.6"
+           description="%websphere.6.server.description"
+           launchConfigId="org.eclipse.jst.server.generic.core.launchConfigurationType"
+           behaviourClass="org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour"
+           name="%websphere.6.server.name"
+           hasConfiguration="false"
+           launchModes="run,debug">
+     </serverType>
+     
+     
+	</extension>
+
+<!-- UI Components-->
+    <extension
+       point="org.eclipse.wst.server.ui.wizardFragments">
+
+     <fragment
+        id="org.eclipse.jst.server.generic.runtime"
+        typeIds="org.eclipse.jst.server.generic.runtime.websphere.6"
+        class="org.eclipse.jst.server.generic.ui.internal.GenericServerRuntimeWizardFragment"/>           
+     <fragment
+        id="org.eclipse.jst.server.generic.server"
+        typeIds="org.eclipse.jst.servers.websphere.6"
+        class="org.eclipse.jst.server.generic.ui.internal.GenericServerWizardFragment"/>   
+        
+  </extension>
+  
+  <extension point="org.eclipse.wst.server.ui.serverImages">
+         
+     <image
+         id="org.eclipse.jst.server.generic.image"
+         icon="icons/obj16/websphere.gif"
+         typeIds="org.eclipse.jst.servers.websphere.6" />
+     <image
+         id="org.eclipse.jst.server.generic.image"
+         icon="icons/obj16/websphere.gif"
+         typeIds="org.eclipse.jst.server.generic.runtime.websphere.6"/>
+
+	</extension>
+  
+<!-- Server type definitions -->
+   <extension point="org.eclipse.jst.server.generic.core.serverdefinition">
+		<serverdefinition id="org.eclipse.jst.server.generic.runtime.websphere.6" definitionfile="/serverdef/websphere.6.serverdef">
+		</serverdefinition>
+   </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.jst.server.websphere.core/serverdef/scripts/websphere.6.x.xml b/plugins/org.eclipse.jst.server.websphere.core/serverdef/scripts/websphere.6.x.xml
new file mode 100644
index 0000000..56efa17
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.websphere.core/serverdef/scripts/websphere.6.x.xml
@@ -0,0 +1,57 @@
+<project name="deployextension"  default="deploy.j2ee.web"  basedir=".">
+
+	<property name="was.home" value="${wasRoot}"/>
+	
+	<path id="toolpath">
+		<pathelement path="${was.home}/lib/wsanttasks.jar" />
+	</path>
+	
+	<taskdef classpathref="toolpath" name="wsadmin" classname="com.ibm.websphere.ant.tasks.WsAdmin"/> 
+	
+
+	<target name="deploy.j2ee.web">
+		<jar destfile="${module.name}.war"> 
+			<zipfileset dir="${module.dir}">
+				<include name="**/*.*"/>
+				<exclude name="**/*.war"/>
+			</zipfileset>
+		</jar>
+		<wsadmin 
+			washome="${was.home}"
+		    command="$AdminApp install ${module.name}.war" 
+			failonerror="true" >  
+		</wsadmin>
+	</target>
+	
+	<target name="deploy.j2ee.ejb">
+		<jar destfile="${module.name}.jar"> 
+			<zipfileset dir="${module.dir}">
+	        	<include name="**/*.*"/>
+	       		<exclude name="**/*.java"/>
+			</zipfileset>
+		</jar>
+		<wsadmin 
+		    command="$AdminApp install ${module.name}.jar" 
+			failonerror="true" >  
+		</wsadmin>
+	</target>
+	
+	
+	
+	<target name="undeploy.j2ee.web">
+		<wsadmin 
+			washome="${was.home}"
+		    command="$AdminApp uninstall ${module.name}.war" 
+			failonerror="true" >  
+		</wsadmin>
+	</target>
+	<target name="undeploy.j2ee.ejb">
+		<wsadmin 
+			washome="${was.home}"
+		    command="$AdminApp uninstall ${module.name}.jar" 
+			failonerror="true" >  
+		</wsadmin>
+	</target>	
+
+
+</project>
diff --git a/plugins/org.eclipse.jst.server.websphere.core/serverdef/websphere.6.serverdef b/plugins/org.eclipse.jst.server.websphere.core/serverdef/websphere.6.serverdef
new file mode 100644
index 0000000..db9f2e1
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.websphere.core/serverdef/websphere.6.serverdef
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:ServerRuntime
+	xmlns:tns="http://eclipse.org/jst/server/generic/ServerTypeDefinition"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://eclipse.org/jst/server/generic/ServerTypeDefinition ServerTypeDefinitionSchema.xsd "
+	name="IBM WebSphere 6" version="v6.0">
+	<property id="wasRoot"
+		label="IBM WebSphere Installation Directory:"
+		type="directory"
+		context="runtime"
+		default="/your_server_root/WAS6.0" />
+
+	<property id="port"
+		label="Port:"
+		type="string"
+		context="server"
+		default="9080" />
+
+	<property id="wasProfile"
+		label="Server Profile Directory:"
+		type="directory"
+		context="server"
+		default="/your_server_root/WAS6.0/profiles/default" />
+
+	<property id="wasCell"
+		label="Cell:"
+		type="string"
+		context="server"
+		default="PEPENode01Cell" />
+
+	<property id="wasNode"
+		label="Node:"
+		type="string"
+		context="server"
+		default="PEPE1" />
+	<property id="wasServer"
+		label="Server:"
+		type="string"
+		context="server"
+		default="server1" />
+
+	<port>
+		<no>${port}</no>
+		<name>Http</name>
+		<protocol>http</protocol>
+	</port>
+
+	<module>
+		<type>j2ee.web</type>
+		<publishDir>${wasRoot}</publishDir>
+		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
+	</module>
+
+	<module>
+		<type>j2ee.ejb</type>
+		<publishDir>${wasRoot}</publishDir>
+		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
+	</module>
+
+
+	<project>
+		<classpathReference>was.project</classpathReference>
+	</project>
+	
+	<start>
+		<mainClass>com.ibm.ws.bootstrap.WSLauncher</mainClass>
+		<workingDirectory>${wasProfile}</workingDirectory>
+		<programArguments>com.ibm.ws.runtime.WsServer ${wasProfile}/config ${wasCell} ${wasNode} ${wasServer}</programArguments>
+		<vmParameters>-Dws.output.encoding=console -Dcom.ibm.CORBA.ConfigURL=file:/${wasProfile}/properties/sas.client.props  -Xbootclasspath/p:${wasRoot}/java/jre/lib/ext/ibmorb.jar;${wasRoot}/java/jre/lib/ext/ibmext.jar -Xms50m -Xmx256m -Dws.ext.dirs=${wasRoot}/java/lib;${wasProfile}/classes;${wasRoot}/classes;${wasRoot}/lib;${wasRoot}/installedChannels;${wasRoot}/lib/ext;${wasRoot}/web/help;${wasRoot}/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime -Dcom.ibm.itp.location=${wasRoot}/bin -Djava.util.logging.configureByServer=true -Dibm.websphere.preload.classes=true -Duser.install.root=${wasProfile} -Dwas.install.root=${wasRoot} -Djava.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager -Ddb2j.system.home=${wasRoot}/cloudscape -Dserver.root=${wasProfile} -Djava.security.auth.login.config=${wasProfile}/properties/wsjaas.conf -Djava.security.policy=${wasProfile}/properties/server.policy -Djava.library.path=${wasRoot}/java/jre/bin;${wasRoot}/bin </vmParameters>
+		<classpathReference>was</classpathReference>
+	</start>
+
+	<stop>
+		<mainClass>com.ibm.ws.bootstrap.WSLauncher</mainClass>
+		<workingDirectory>${wasRoot}</workingDirectory>
+		<programArguments>com.ibm.ws.management.tools.WsServerStop ${wasProfile}/config ${wasCell} ${wasNode} ${wasServer}</programArguments>
+		<vmParameters>-Duser.install.root=${wasProfile} -Dserver.root=${wasProfile} -Dws.ext.dirs=${wasRoot}/java/lib;${wasRoot}/classes;${wasRoot}/lib;${wasRoot}/installedChannels;${wasRoot}/lib/ext;${wasRoot}/web/help;${wasRoot}/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime -Djava.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager -Djava.util.logging.configureByServer=true -Dwas.install.root=${wasRoot}  -Dibm.websphere.preload.classes=true</vmParameters>
+		<classpathReference>was</classpathReference>
+	</stop>
+	
+	<publisher id="org.eclipse.jst.server.generic.antpublisher">
+		<publisherdata>
+			<dataname>build.file</dataname>
+			<datavalue>/serverdef/scripts/websphere.6.x.xml</datavalue>
+		</publisherdata>
+		<publisherdata>
+			<dataname>target.publish.j2ee.web</dataname>
+			<datavalue>deploy.j2ee.web</datavalue>
+		</publisherdata>
+		<publisherdata>
+			<dataname>target.publish.j2ee.ejb</dataname>
+			<datavalue>deploy.j2ee.ejb</datavalue>
+		</publisherdata>
+		<publisherdata>
+			<dataname>target.unpublish.j2ee.web</dataname>
+			<datavalue>undeploy.j2ee.web</datavalue>
+		</publisherdata>
+		<publisherdata>
+			<dataname>target.unpublish.j2ee.ejb</dataname>
+			<datavalue>undeploy.j2ee.ejb</datavalue>
+		</publisherdata>			
+	</publisher>
+
+	<classpath id="was" isLibrary="true">
+	    <archive path="${wasRoot}/properties" />
+	    <archive path="${wasRoot}/lib/bootstrap.jar" />
+        <archive path="${wasRoot}/lib/j2ee.jar" />
+        <archive path="${wasRoot}/lib/lmproxy.jar" />
+        <archive path="${wasRoot}/lib/urlprotocols.jar" />
+	</classpath>
+
+	<classpath id="was.project" isLibrary="false">
+		<archive path="${wasRoot}/lib/j2ee.jar" />
+	</classpath>
+	<jndiConnection>
+		<providerUrl>iiop://${serverAddress}:2001</providerUrl>
+		<initialContextFactory>org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory</initialContextFactory>
+		<jndiProperty>
+			<name></name>
+			<value></value>
+		</jndiProperty>
+	</jndiConnection>
+</tns:ServerRuntime>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/CorePlugin.java b/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/CorePlugin.java
new file mode 100644
index 0000000..ad61369
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/CorePlugin.java
@@ -0,0 +1,58 @@
+package org.eclipse.jst.server.websphere.core;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import org.eclipse.core.runtime.Plugin;
+
+/**
+ * The main plugin class to be used in the desktop.
+ */
+public class CorePlugin extends Plugin {
+	//The shared instance.
+	private static CorePlugin plugin;
+	//Resource bundle.
+	private ResourceBundle resourceBundle;
+	
+	/**
+	 * The constructor.
+	 */
+	public CorePlugin() {
+		super();
+		plugin = this;
+	}
+
+	
+	/**
+	 * Returns the shared instance.
+	 */
+	public static CorePlugin getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the string from the plugin's resource bundle,
+	 * or 'key' if not found.
+	 */
+	public static String getResourceString(String key) {
+		ResourceBundle bundle = CorePlugin.getDefault().getResourceBundle();
+		try {
+			return (bundle != null) ? bundle.getString(key) : key;
+		} catch (MissingResourceException e) {
+			return key;
+		}
+	}
+
+	/**
+	 * Returns the plugin's resource bundle,
+	 */
+	public ResourceBundle getResourceBundle() {
+		try {
+			if (resourceBundle == null)
+				resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.server.websphere.core.CorePluginResources");
+		} catch (MissingResourceException x) {
+			resourceBundle = null;
+		}
+		return resourceBundle;
+	}
+}