environment variable support
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java
index 8d4f25e..d8a4484 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java
@@ -14,6 +14,7 @@
 
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
@@ -154,7 +155,11 @@
 		workingCopy.setAttribute(ExternalLaunchConfigurationDelegate.DEBUG_PORT, 
 					resolver.resolveProperties(serverDef.getStart().getDebugPort()));
 		// just use the commandline for now
-		workingCopy.setAttribute(ExternalLaunchConfigurationDelegate.EXECUTABLE_NAME, external); 
+		workingCopy.setAttribute(ExternalLaunchConfigurationDelegate.EXECUTABLE_NAME, external);
+        Map environVars = getEnvironmentVariables(getServerDefinition().getStart());
+        if(!environVars.isEmpty()){
+        	workingCopy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES,environVars);
+        }
 	}
 
 	/*
@@ -212,6 +217,10 @@
 		String external = resolver.resolveProperties(getExternalForOS(serverDef.getStop().getExternal()));
 		wc.setAttribute(ExternalLaunchConfigurationDelegate.COMMANDLINE, external);
 		// just use commandline for now
+        Map environVars = getEnvironmentVariables(getServerDefinition().getStop());
+        if(!environVars.isEmpty()){
+        	wc.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES,environVars);
+        }
 		wc.setAttribute(ExternalLaunchConfigurationDelegate.EXECUTABLE_NAME, external); 	
 		wc.setAttribute(Server.ATTR_SERVER_ID, getServer().getId());
 	}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerBehaviour.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerBehaviour.java
index 56990aa..bafd948 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerBehaviour.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerBehaviour.java
@@ -31,8 +31,11 @@
 package org.eclipse.jst.server.generic.core.internal;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
+
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
@@ -54,7 +57,9 @@
 import org.eclipse.jdt.launching.IVMInstall;
 import org.eclipse.jdt.launching.JavaRuntime;
 import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
+import org.eclipse.jst.server.generic.servertype.definition.ArgumentPair;
 import org.eclipse.jst.server.generic.servertype.definition.Classpath;
+import org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration;
 import org.eclipse.jst.server.generic.servertype.definition.Module;
 import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
 import org.eclipse.wst.server.core.IModule;
@@ -232,15 +237,20 @@
 
 		setupLaunchClasspath(wc, vmInstall, getStopClasspath());
 
+        Map environVars = getEnvironmentVariables(getServerDefinition().getStop());
+        if(!environVars.isEmpty()){
+        	wc.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES,environVars);
+        }
+        
 		wc.setAttribute(
 				IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
 				getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getWorkingDirectory()));
 		wc.setAttribute(
 				IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
-				getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getProgramArguments()));
+				getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getProgramArgumentsAsString()));
 		wc.setAttribute(
 				IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
-				getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getVmParameters()));				
+				getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getVmParametersAsString()));				
 	}
 
     public String getStartClassName() {
@@ -323,11 +333,22 @@
     }
 
     private String getProgramArguments() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getProgramArguments());
+    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getProgramArgumentsAsString());
     }
 
+    protected Map getEnvironmentVariables(LaunchConfiguration config){
+        List variables = config.getEnvironmentVariable();
+        Map varsMap = new HashMap(variables.size());
+        Iterator iterator= variables.iterator();
+        while(iterator.hasNext()){
+        	ArgumentPair pair = (ArgumentPair)iterator.next();
+        	varsMap.put(pair.getName(),getServerDefinition().getResolver().resolveProperties(pair.getValue()));
+        }
+        return varsMap;
+    }
+    
     private String getVmArguments() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getVmParameters());
+    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getVmParametersAsString());
     }
 
     public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) throws CoreException {
@@ -352,6 +373,12 @@
                 IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
                 getWorkingDirectory());
         
+
+        Map environVars = getEnvironmentVariables(getServerDefinition().getStart());
+        if(!environVars.isEmpty()){
+        	workingCopy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES,environVars);
+        }
+        
         String existingProgArgs  = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String)null);
         String serverProgArgs =  getProgramArguments();
         if(existingProgArgs==null || existingProgArgs.indexOf(serverProgArgs)<0) {
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchableAdapterDelegate.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchableAdapterDelegate.java
index 9c5e998..283865e 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchableAdapterDelegate.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchableAdapterDelegate.java
@@ -42,7 +42,7 @@
 import org.eclipse.jst.server.core.JndiLaunchable;
 import org.eclipse.jst.server.core.JndiObject;
 import org.eclipse.jst.server.core.Servlet;
-import org.eclipse.jst.server.generic.servertype.definition.JndiProperty;
+import org.eclipse.jst.server.generic.servertype.definition.ArgumentPair;
 import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
 /**
  * Launchable adapter delegate for generic servers.
@@ -73,9 +73,8 @@
         props.put("java.naming.provider.url",definition.getJndiConnection().getProviderUrl());
         List jps = definition.getJndiConnection().getJndiProperty();
         Iterator propsIt =jps.iterator();
-        while(propsIt.hasNext())
-        {
-            JndiProperty prop = (JndiProperty)propsIt.next();
+        while(propsIt.hasNext()){
+            ArgumentPair prop = (ArgumentPair)propsIt.next();
             props.put(prop.getName(),prop.getValue());
         }
         
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/ServerTypePackage.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/ServerTypePackage.java
index f87ca62..672fa6a 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/ServerTypePackage.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/ServerTypePackage.java
@@ -2,7 +2,7 @@
  * <copyright>
  * </copyright>
  *
- * $Id: ServerTypePackage.java,v 1.5 2005/07/31 06:47:35 gercan Exp $
+ * $Id: ServerTypePackage.java,v 1.6 2005/08/30 21:47:29 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition;
 
@@ -24,9 +24,10 @@
  * </ul>
  * <!-- end-user-doc -->
  * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypeFactory
+ * @model kind="package"
  * @generated
  */
-public interface ServerTypePackage extends EPackage{
+public interface ServerTypePackage extends EPackage {
 	/**
 	 * The package name.
 	 * <!-- begin-user-doc -->
@@ -88,6 +89,43 @@
 	int ARCHIVE_TYPE_FEATURE_COUNT = 1;
 
 	/**
+	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArgumentPairImpl <em>Argument Pair</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArgumentPairImpl
+	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getArgumentPair()
+	 * @generated
+	 */
+	int ARGUMENT_PAIR = 1;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARGUMENT_PAIR__NAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARGUMENT_PAIR__VALUE = 1;
+
+	/**
+	 * The number of structural features of the the '<em>Argument Pair</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARGUMENT_PAIR_FEATURE_COUNT = 2;
+
+	/**
 	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ClasspathImpl <em>Classpath</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -95,7 +133,7 @@
 	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getClasspath()
 	 * @generated
 	 */
-	int CLASSPATH = 1;
+	int CLASSPATH = 2;
 
 	/**
 	 * The feature id for the '<em><b>Group</b></em>' attribute list.
@@ -141,7 +179,7 @@
 	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getExternal()
 	 * @generated
 	 */
-	int EXTERNAL = 2;
+	int EXTERNAL = 3;
 
 	/**
 	 * The feature id for the '<em><b>Value</b></em>' attribute.
@@ -178,7 +216,7 @@
 	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getJndiConnection()
 	 * @generated
 	 */
-	int JNDI_CONNECTION = 3;
+	int JNDI_CONNECTION = 4;
 
 	/**
 	 * The feature id for the '<em><b>Provider Url</b></em>' attribute.
@@ -226,43 +264,6 @@
 	int JNDI_CONNECTION_FEATURE_COUNT = 4;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiPropertyImpl <em>Jndi Property</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiPropertyImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getJndiProperty()
-	 * @generated
-	 */
-	int JNDI_PROPERTY = 4;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JNDI_PROPERTY__NAME = 0;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JNDI_PROPERTY__VALUE = 1;
-
-	/**
-	 * The number of structural features of the the '<em>Jndi Property</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JNDI_PROPERTY_FEATURE_COUNT = 2;
-
-	/**
 	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl <em>Launch Configuration</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -273,22 +274,49 @@
 	int LAUNCH_CONFIGURATION = 5;
 
 	/**
+	 * The feature id for the '<em><b>Group</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAUNCH_CONFIGURATION__GROUP = 0;
+
+	/**
+	 * The feature id for the '<em><b>Environment Variable</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Group1</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAUNCH_CONFIGURATION__GROUP1 = 2;
+
+	/**
+	 * The feature id for the '<em><b>Program Arguments</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS = 3;
+
+	/**
 	 * The feature id for the '<em><b>Working Directory</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LAUNCH_CONFIGURATION__WORKING_DIRECTORY = 0;
-
-	/**
-	 * The feature id for the '<em><b>Program Arguments</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS = 1;
+	int LAUNCH_CONFIGURATION__WORKING_DIRECTORY = 4;
 
 	/**
 	 * The feature id for the '<em><b>Main Class</b></em>' attribute.
@@ -297,16 +325,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAUNCH_CONFIGURATION__MAIN_CLASS = 2;
+	int LAUNCH_CONFIGURATION__MAIN_CLASS = 5;
 
 	/**
-	 * The feature id for the '<em><b>Vm Parameters</b></em>' attribute.
+	 * The feature id for the '<em><b>Group2</b></em>' attribute list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LAUNCH_CONFIGURATION__VM_PARAMETERS = 3;
+	int LAUNCH_CONFIGURATION__GROUP2 = 6;
+
+	/**
+	 * The feature id for the '<em><b>Vm Parameters</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAUNCH_CONFIGURATION__VM_PARAMETERS = 7;
 
 	/**
 	 * The feature id for the '<em><b>Classpath Reference</b></em>' attribute.
@@ -315,7 +352,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE = 4;
+	int LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE = 8;
 
 	/**
 	 * The feature id for the '<em><b>Debug Port</b></em>' attribute.
@@ -324,16 +361,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAUNCH_CONFIGURATION__DEBUG_PORT = 5;
+	int LAUNCH_CONFIGURATION__DEBUG_PORT = 9;
 
 	/**
-	 * The feature id for the '<em><b>Group</b></em>' attribute list.
+	 * The feature id for the '<em><b>Group3</b></em>' attribute list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LAUNCH_CONFIGURATION__GROUP = 6;
+	int LAUNCH_CONFIGURATION__GROUP3 = 10;
 
 	/**
 	 * The feature id for the '<em><b>External</b></em>' containment reference list.
@@ -342,16 +379,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAUNCH_CONFIGURATION__EXTERNAL = 7;
-
-	/**
-	 * The feature id for the '<em><b>Launch Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__LAUNCH_TYPE = 8;
+	int LAUNCH_CONFIGURATION__EXTERNAL = 11;
 
 	/**
 	 * The number of structural features of the the '<em>Launch Configuration</em>' class.
@@ -360,7 +388,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAUNCH_CONFIGURATION_FEATURE_COUNT = 9;
+	int LAUNCH_CONFIGURATION_FEATURE_COUNT = 12;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ModuleImpl <em>Module</em>}' class.
@@ -815,6 +843,38 @@
 	EAttribute getArchiveType_Path();
 
 	/**
+	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair <em>Argument Pair</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Argument Pair</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ArgumentPair
+	 * @generated
+	 */
+	EClass getArgumentPair();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getName()
+	 * @see #getArgumentPair()
+	 * @generated
+	 */
+	EAttribute getArgumentPair_Name();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getValue <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getValue()
+	 * @see #getArgumentPair()
+	 * @generated
+	 */
+	EAttribute getArgumentPair_Value();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath <em>Classpath</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -944,38 +1004,6 @@
 	EAttribute getJndiConnection_InitialContextFactory();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty <em>Jndi Property</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Jndi Property</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.JndiProperty
-	 * @generated
-	 */
-	EClass getJndiProperty();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getName()
-	 * @see #getJndiProperty()
-	 * @generated
-	 */
-	EAttribute getJndiProperty_Name();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getValue <em>Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Value</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getValue()
-	 * @see #getJndiProperty()
-	 * @generated
-	 */
-	EAttribute getJndiProperty_Value();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration <em>Launch Configuration</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -986,6 +1014,50 @@
 	EClass getLaunchConfiguration();
 
 	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup <em>Group</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Group</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup()
+	 * @see #getLaunchConfiguration()
+	 * @generated
+	 */
+	EAttribute getLaunchConfiguration_Group();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getEnvironmentVariable <em>Environment Variable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Environment Variable</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getEnvironmentVariable()
+	 * @see #getLaunchConfiguration()
+	 * @generated
+	 */
+	EReference getLaunchConfiguration_EnvironmentVariable();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup1 <em>Group1</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Group1</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup1()
+	 * @see #getLaunchConfiguration()
+	 * @generated
+	 */
+	EAttribute getLaunchConfiguration_Group1();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments <em>Program Arguments</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Program Arguments</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments()
+	 * @see #getLaunchConfiguration()
+	 * @generated
+	 */
+	EAttribute getLaunchConfiguration_ProgramArguments();
+
+	/**
 	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getWorkingDirectory <em>Working Directory</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -997,17 +1069,6 @@
 	EAttribute getLaunchConfiguration_WorkingDirectory();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments <em>Program Arguments</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Program Arguments</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_ProgramArguments();
-
-	/**
 	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getMainClass <em>Main Class</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1019,10 +1080,21 @@
 	EAttribute getLaunchConfiguration_MainClass();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getVmParameters <em>Vm Parameters</em>}'.
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup2 <em>Group2</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Vm Parameters</em>'.
+	 * @return the meta object for the attribute list '<em>Group2</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup2()
+	 * @see #getLaunchConfiguration()
+	 * @generated
+	 */
+	EAttribute getLaunchConfiguration_Group2();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getVmParameters <em>Vm Parameters</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Vm Parameters</em>'.
 	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getVmParameters()
 	 * @see #getLaunchConfiguration()
 	 * @generated
@@ -1041,28 +1113,6 @@
 	EAttribute getLaunchConfiguration_ClasspathReference();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getExternal <em>External</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>External</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getExternal()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EReference getLaunchConfiguration_External();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getLaunchType <em>Launch Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Launch Type</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getLaunchType()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_LaunchType();
-
-	/**
 	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getDebugPort <em>Debug Port</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1074,15 +1124,26 @@
 	EAttribute getLaunchConfiguration_DebugPort();
 
 	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup <em>Group</em>}'.
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup3 <em>Group3</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup()
+	 * @return the meta object for the attribute list '<em>Group3</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup3()
 	 * @see #getLaunchConfiguration()
 	 * @generated
 	 */
-	EAttribute getLaunchConfiguration_Group();
+	EAttribute getLaunchConfiguration_Group3();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getExternal <em>External</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>External</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getExternal()
+	 * @see #getLaunchConfiguration()
+	 * @generated
+	 */
+	EReference getLaunchConfiguration_External();
 
 	/**
 	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Module <em>Module</em>}'.
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArchiveTypeImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArchiveTypeImpl.java
index 53e009f..af28e43 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArchiveTypeImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArchiveTypeImpl.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: ArchiveTypeImpl.java,v 1.3 2005/06/13 21:01:36 gercan Exp $
+ * $Id: ArchiveTypeImpl.java,v 1.4 2005/08/30 21:45:19 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -44,6 +44,8 @@
 import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
 
 
+
+
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Archive Type</b></em>'.
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiPropertyImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArgumentPairImpl.java
similarity index 61%
rename from plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiPropertyImpl.java
rename to plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArgumentPairImpl.java
index cbdcf7b..2ae450b 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiPropertyImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArgumentPairImpl.java
@@ -2,7 +2,7 @@
  * <copyright>
  * </copyright>
  *
- * $Id: JndiPropertyImpl.java,v 1.3 2005/06/13 21:01:36 gercan Exp $
+ * $Id: ArgumentPairImpl.java,v 1.1 2005/08/30 21:45:19 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -15,134 +15,134 @@
 import org.eclipse.emf.ecore.impl.EObjectImpl;
 
 import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.JndiProperty;
+import org.eclipse.jst.server.generic.servertype.definition.ArgumentPair;
 
 
 /**
  * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Jndi Property</b></em>'.
+ * An implementation of the model object '<em><b>Argument Pair</b></em>'.
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
  * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiPropertyImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiPropertyImpl#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArgumentPairImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArgumentPairImpl#getValue <em>Value</em>}</li>
  * </ul>
  * </p>
  *
  * @generated
  */
-public class JndiPropertyImpl extends EObjectImpl implements JndiProperty {
+public class ArgumentPairImpl extends EObjectImpl implements ArgumentPair {
 	/**
 	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @see #getName()
 	 * @generated
 	 * @ordered
 	 */
-    protected static final String NAME_EDEFAULT = null;
+	protected static final String NAME_EDEFAULT = null;
 
 	/**
 	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @see #getName()
 	 * @generated
 	 * @ordered
 	 */
-    protected String name = NAME_EDEFAULT;
+	protected String name = NAME_EDEFAULT;
 
 	/**
 	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @see #getValue()
 	 * @generated
 	 * @ordered
 	 */
-    protected static final String VALUE_EDEFAULT = null;
+	protected static final String VALUE_EDEFAULT = null;
 
 	/**
 	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @see #getValue()
 	 * @generated
 	 * @ordered
 	 */
-    protected String value = VALUE_EDEFAULT;
+	protected String value = VALUE_EDEFAULT;
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-    protected JndiPropertyImpl() {
+	protected ArgumentPairImpl() {
 		super();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-    protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getJndiProperty();
+	protected EClass eStaticClass() {
+		return ServerTypePackage.eINSTANCE.getArgumentPair();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-    public String getName() {
+	public String getName() {
 		return name;
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-    public void setName(String newName) {
+	public void setName(String newName) {
 		String oldName = name;
 		name = newName;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.JNDI_PROPERTY__NAME, oldName, name));
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.ARGUMENT_PAIR__NAME, oldName, name));
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-    public String getValue() {
+	public String getValue() {
 		return value;
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-    public void setValue(String newValue) {
+	public void setValue(String newValue) {
 		String oldValue = value;
 		value = newValue;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.JNDI_PROPERTY__VALUE, oldValue, value));
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.ARGUMENT_PAIR__VALUE, oldValue, value));
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-    public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
 		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.JNDI_PROPERTY__NAME:
+			case ServerTypePackage.ARGUMENT_PAIR__NAME:
 				return getName();
-			case ServerTypePackage.JNDI_PROPERTY__VALUE:
+			case ServerTypePackage.ARGUMENT_PAIR__VALUE:
 				return getValue();
 		}
 		return eDynamicGet(eFeature, resolve);
@@ -150,15 +150,15 @@
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-    public void eSet(EStructuralFeature eFeature, Object newValue) {
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
 		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.JNDI_PROPERTY__NAME:
+			case ServerTypePackage.ARGUMENT_PAIR__NAME:
 				setName((String)newValue);
 				return;
-			case ServerTypePackage.JNDI_PROPERTY__VALUE:
+			case ServerTypePackage.ARGUMENT_PAIR__VALUE:
 				setValue((String)newValue);
 				return;
 		}
@@ -167,15 +167,15 @@
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-    public void eUnset(EStructuralFeature eFeature) {
+	public void eUnset(EStructuralFeature eFeature) {
 		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.JNDI_PROPERTY__NAME:
+			case ServerTypePackage.ARGUMENT_PAIR__NAME:
 				setName(NAME_EDEFAULT);
 				return;
-			case ServerTypePackage.JNDI_PROPERTY__VALUE:
+			case ServerTypePackage.ARGUMENT_PAIR__VALUE:
 				setValue(VALUE_EDEFAULT);
 				return;
 		}
@@ -184,14 +184,14 @@
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-    public boolean eIsSet(EStructuralFeature eFeature) {
+	public boolean eIsSet(EStructuralFeature eFeature) {
 		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.JNDI_PROPERTY__NAME:
+			case ServerTypePackage.ARGUMENT_PAIR__NAME:
 				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case ServerTypePackage.JNDI_PROPERTY__VALUE:
+			case ServerTypePackage.ARGUMENT_PAIR__VALUE:
 				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
 		}
 		return eDynamicIsSet(eFeature);
@@ -199,10 +199,10 @@
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-    public String toString() {
+	public String toString() {
 		if (eIsProxy()) return super.toString();
 
 		StringBuffer result = new StringBuffer(super.toString());
@@ -214,4 +214,4 @@
 		return result.toString();
 	}
 
-} //JndiPropertyImpl
+} //ArgumentPairImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ClasspathImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ClasspathImpl.java
index 856e38f..c5d9f50 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ClasspathImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ClasspathImpl.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: ClasspathImpl.java,v 1.5 2005/06/13 21:01:36 gercan Exp $
+ * $Id: ClasspathImpl.java,v 1.6 2005/08/30 21:45:19 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -50,6 +50,8 @@
 import org.eclipse.jst.server.generic.servertype.definition.Classpath;
 
 
+
+
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Classpath</b></em>'.
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ExternalImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ExternalImpl.java
index 3d6c156..fc0b789 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ExternalImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ExternalImpl.java
@@ -2,7 +2,7 @@
  * <copyright>
  * </copyright>
  *
- * $Id: ExternalImpl.java,v 1.1 2005/06/15 05:40:01 gercan Exp $
+ * $Id: ExternalImpl.java,v 1.2 2005/08/30 21:45:19 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -17,6 +17,8 @@
 import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
 import org.eclipse.jst.server.generic.servertype.definition.External;
 
+
+
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>External</b></em>'.
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiConnectionImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiConnectionImpl.java
index ddbdb7c..0090969 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiConnectionImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiConnectionImpl.java
@@ -2,7 +2,7 @@
  * <copyright>
  * </copyright>
  *
- * $Id: JndiConnectionImpl.java,v 1.3 2005/06/13 21:01:36 gercan Exp $
+ * $Id: JndiConnectionImpl.java,v 1.4 2005/08/30 21:45:18 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -27,6 +27,8 @@
 import org.eclipse.jst.server.generic.servertype.definition.JndiConnection;
 
 
+
+
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Jndi Connection</b></em>'.
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/LaunchConfigurationImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/LaunchConfigurationImpl.java
index 19ce1d9..57c37ce 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/LaunchConfigurationImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/LaunchConfigurationImpl.java
@@ -28,11 +28,12 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: LaunchConfigurationImpl.java,v 1.6 2005/06/14 20:45:45 gercan Exp $
+ * $Id: LaunchConfigurationImpl.java,v 1.7 2005/08/30 21:45:19 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
 import java.util.Collection;
+import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.emf.common.notify.Notification;
@@ -55,6 +56,8 @@
 import org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration;
 
 
+
+
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Launch Configuration</b></em>'.
@@ -62,15 +65,18 @@
  * <p>
  * The following features are implemented:
  * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getWorkingDirectory <em>Working Directory</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getGroup <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getEnvironmentVariable <em>Environment Variable</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getGroup1 <em>Group1</em>}</li>
  *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getProgramArguments <em>Program Arguments</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getWorkingDirectory <em>Working Directory</em>}</li>
  *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getMainClass <em>Main Class</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getGroup2 <em>Group2</em>}</li>
  *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getVmParameters <em>Vm Parameters</em>}</li>
  *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getClasspathReference <em>Classpath Reference</em>}</li>
  *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getDebugPort <em>Debug Port</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getGroup <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getGroup3 <em>Group3</em>}</li>
  *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getExternal <em>External</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getLaunchType <em>Launch Type</em>}</li>
  * </ul>
  * </p>
  *
@@ -78,6 +84,26 @@
  */
 public class LaunchConfigurationImpl extends EObjectImpl implements LaunchConfiguration {
 	/**
+	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroup()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap group = null;
+
+	/**
+	 * The cached value of the '{@link #getGroup1() <em>Group1</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroup1()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap group1 = null;
+
+	/**
 	 * The default value of the '{@link #getWorkingDirectory() <em>Working Directory</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -98,26 +124,6 @@
 	protected String workingDirectory = WORKING_DIRECTORY_EDEFAULT;
 
 	/**
-	 * The default value of the '{@link #getProgramArguments() <em>Program Arguments</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getProgramArguments()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String PROGRAM_ARGUMENTS_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getProgramArguments() <em>Program Arguments</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getProgramArguments()
-	 * @generated
-	 * @ordered
-	 */
-	protected String programArguments = PROGRAM_ARGUMENTS_EDEFAULT;
-
-	/**
 	 * The default value of the '{@link #getMainClass() <em>Main Class</em>}' attribute.
 	 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
@@ -138,24 +144,14 @@
     protected String mainClass = MAIN_CLASS_EDEFAULT;
 
 	/**
-	 * The default value of the '{@link #getVmParameters() <em>Vm Parameters</em>}' attribute.
+	 * The cached value of the '{@link #getGroup2() <em>Group2</em>}' attribute list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #getVmParameters()
+	 * @see #getGroup2()
 	 * @generated
 	 * @ordered
 	 */
-	protected static final String VM_PARAMETERS_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getVmParameters() <em>Vm Parameters</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getVmParameters()
-	 * @generated
-	 * @ordered
-	 */
-	protected String vmParameters = VM_PARAMETERS_EDEFAULT;
+	protected FeatureMap group2 = null;
 
 	/**
 	 * The default value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
@@ -198,34 +194,14 @@
 	protected String debugPort = DEBUG_PORT_EDEFAULT;
 
 	/**
-	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
+	 * The cached value of the '{@link #getGroup3() <em>Group3</em>}' attribute list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #getGroup()
+	 * @see #getGroup3()
 	 * @generated
 	 * @ordered
 	 */
-	protected FeatureMap group = null;
-
-	/**
-	 * The default value of the '{@link #getLaunchType() <em>Launch Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLaunchType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String LAUNCH_TYPE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getLaunchType() <em>Launch Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLaunchType()
-	 * @generated
-	 * @ordered
-	 */
-	protected String launchType = LAUNCH_TYPE_EDEFAULT;
+	protected FeatureMap group3 = null;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -271,6 +247,18 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public FeatureMap getGroup2() {
+		if (group2 == null) {
+			group2 = new BasicFeatureMap(this, ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2);
+		}
+		return group2;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public String getWorkingDirectory() {
 		return workingDirectory;
 	}
@@ -292,8 +280,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public String getProgramArguments() {
-		return programArguments;
+	public List getProgramArguments() {
+		return ((FeatureMap)getGroup1()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_ProgramArguments());
 	}
 
 	/**
@@ -317,32 +305,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public void setProgramArguments(String newProgramArguments) {
-		String oldProgramArguments = programArguments;
-		programArguments = newProgramArguments;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS, oldProgramArguments, programArguments));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getVmParameters() {
-		return vmParameters;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setVmParameters(String newVmParameters) {
-		String oldVmParameters = vmParameters;
-		vmParameters = newVmParameters;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS, oldVmParameters, vmParameters));
+	public List getVmParameters() {
+		return ((FeatureMap)getGroup2()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_VmParameters());
 	}
 
 	/**
@@ -372,28 +336,7 @@
 	 * @generated
 	 */
 	public List getExternal() {
-		return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_External());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getLaunchType() {
-		return launchType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setLaunchType(String newLaunchType) {
-		String oldLaunchType = launchType;
-		launchType = newLaunchType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__LAUNCH_TYPE, oldLaunchType, launchType));
+		return ((FeatureMap)getGroup3()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_External());
 	}
 
 	/**
@@ -406,6 +349,14 @@
 			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
 				case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
 					return ((InternalEList)getGroup()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
+					return ((InternalEList)getEnvironmentVariable()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
+					return ((InternalEList)getGroup1()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
+					return ((InternalEList)getGroup2()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
+					return ((InternalEList)getGroup3()).basicRemove(otherEnd, msgs);
 				case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
 					return ((InternalEList)getExternal()).basicRemove(otherEnd, msgs);
 				default:
@@ -441,6 +392,18 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public FeatureMap getGroup3() {
+		if (group3 == null) {
+			group3 = new BasicFeatureMap(this, ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3);
+		}
+		return group3;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public FeatureMap getGroup() {
 		if (group == null) {
 			group = new BasicFeatureMap(this, ServerTypePackage.LAUNCH_CONFIGURATION__GROUP);
@@ -453,26 +416,53 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public List getEnvironmentVariable() {
+		return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_EnvironmentVariable());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureMap getGroup1() {
+		if (group1 == null) {
+			group1 = new BasicFeatureMap(this, ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1);
+		}
+		return group1;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
 		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
-				return getWorkingDirectory();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
+				return getGroup();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
+				return getEnvironmentVariable();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
+				return getGroup1();
 			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
 				return getProgramArguments();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
+				return getWorkingDirectory();
 			case ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS:
 				return getMainClass();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
+				return getGroup2();
 			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
 				return getVmParameters();
 			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
 				return getClasspathReference();
 			case ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT:
 				return getDebugPort();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
-				return getGroup();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
+				return getGroup3();
 			case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
 				return getExternal();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__LAUNCH_TYPE:
-				return getLaunchType();
 		}
 		return eDynamicGet(eFeature, resolve);
 	}
@@ -484,17 +474,35 @@
 	 */
 	public void eSet(EStructuralFeature eFeature, Object newValue) {
 		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
-				setWorkingDirectory((String)newValue);
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
+				getGroup().clear();
+				getGroup().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
+				getEnvironmentVariable().clear();
+				getEnvironmentVariable().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
+				getGroup1().clear();
+				getGroup1().addAll((Collection)newValue);
 				return;
 			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
-				setProgramArguments((String)newValue);
+				getProgramArguments().clear();
+				getProgramArguments().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
+				setWorkingDirectory((String)newValue);
 				return;
 			case ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS:
 				setMainClass((String)newValue);
 				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
+				getGroup2().clear();
+				getGroup2().addAll((Collection)newValue);
+				return;
 			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
-				setVmParameters((String)newValue);
+				getVmParameters().clear();
+				getVmParameters().addAll((Collection)newValue);
 				return;
 			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
 				setClasspathReference((String)newValue);
@@ -502,17 +510,14 @@
 			case ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT:
 				setDebugPort((String)newValue);
 				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
-				getGroup().clear();
-				getGroup().addAll((Collection)newValue);
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
+				getGroup3().clear();
+				getGroup3().addAll((Collection)newValue);
 				return;
 			case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
 				getExternal().clear();
 				getExternal().addAll((Collection)newValue);
 				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__LAUNCH_TYPE:
-				setLaunchType((String)newValue);
-				return;
 		}
 		eDynamicSet(eFeature, newValue);
 	}
@@ -524,17 +529,29 @@
 	 */
 	public void eUnset(EStructuralFeature eFeature) {
 		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
-				setWorkingDirectory(WORKING_DIRECTORY_EDEFAULT);
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
+				getGroup().clear();
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
+				getEnvironmentVariable().clear();
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
+				getGroup1().clear();
 				return;
 			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
-				setProgramArguments(PROGRAM_ARGUMENTS_EDEFAULT);
+				getProgramArguments().clear();
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
+				setWorkingDirectory(WORKING_DIRECTORY_EDEFAULT);
 				return;
 			case ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS:
 				setMainClass(MAIN_CLASS_EDEFAULT);
 				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
+				getGroup2().clear();
+				return;
 			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
-				setVmParameters(VM_PARAMETERS_EDEFAULT);
+				getVmParameters().clear();
 				return;
 			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
 				setClasspathReference(CLASSPATH_REFERENCE_EDEFAULT);
@@ -542,15 +559,12 @@
 			case ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT:
 				setDebugPort(DEBUG_PORT_EDEFAULT);
 				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
-				getGroup().clear();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
+				getGroup3().clear();
 				return;
 			case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
 				getExternal().clear();
 				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__LAUNCH_TYPE:
-				setLaunchType(LAUNCH_TYPE_EDEFAULT);
-				return;
 		}
 		eDynamicUnset(eFeature);
 	}
@@ -562,24 +576,30 @@
 	 */
 	public boolean eIsSet(EStructuralFeature eFeature) {
 		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
+				return group != null && !group.isEmpty();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
+				return !getEnvironmentVariable().isEmpty();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
+				return group1 != null && !group1.isEmpty();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
+				return !getProgramArguments().isEmpty();
 			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
 				return WORKING_DIRECTORY_EDEFAULT == null ? workingDirectory != null : !WORKING_DIRECTORY_EDEFAULT.equals(workingDirectory);
-			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
-				return PROGRAM_ARGUMENTS_EDEFAULT == null ? programArguments != null : !PROGRAM_ARGUMENTS_EDEFAULT.equals(programArguments);
 			case ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS:
 				return MAIN_CLASS_EDEFAULT == null ? mainClass != null : !MAIN_CLASS_EDEFAULT.equals(mainClass);
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
+				return group2 != null && !group2.isEmpty();
 			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
-				return VM_PARAMETERS_EDEFAULT == null ? vmParameters != null : !VM_PARAMETERS_EDEFAULT.equals(vmParameters);
+				return !getVmParameters().isEmpty();
 			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
 				return CLASSPATH_REFERENCE_EDEFAULT == null ? classpathReference != null : !CLASSPATH_REFERENCE_EDEFAULT.equals(classpathReference);
 			case ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT:
 				return DEBUG_PORT_EDEFAULT == null ? debugPort != null : !DEBUG_PORT_EDEFAULT.equals(debugPort);
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
-				return group != null && !group.isEmpty();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
+				return group3 != null && !group3.isEmpty();
 			case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
 				return !getExternal().isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__LAUNCH_TYPE:
-				return LAUNCH_TYPE_EDEFAULT == null ? launchType != null : !LAUNCH_TYPE_EDEFAULT.equals(launchType);
 		}
 		return eDynamicIsSet(eFeature);
 	}
@@ -593,24 +613,48 @@
 		if (eIsProxy()) return super.toString();
 
 		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (workingDirectory: ");
+		result.append(" (group: ");
+		result.append(group);
+		result.append(", group1: ");
+		result.append(group1);
+		result.append(", workingDirectory: ");
 		result.append(workingDirectory);
-		result.append(", programArguments: ");
-		result.append(programArguments);
 		result.append(", mainClass: ");
 		result.append(mainClass);
-		result.append(", vmParameters: ");
-		result.append(vmParameters);
+		result.append(", group2: ");
+		result.append(group2);
 		result.append(", classpathReference: ");
 		result.append(classpathReference);
 		result.append(", debugPort: ");
 		result.append(debugPort);
-		result.append(", group: ");
-		result.append(group);
-		result.append(", launchType: ");
-		result.append(launchType);
+		result.append(", group3: ");
+		result.append(group3);
 		result.append(')');
 		return result.toString();
 	}
 
+	/**
+	 * @generated NOT
+	 */
+	public String getProgramArgumentsAsString() {
+		return concatList(getProgramArguments());
+	}
+	
+	/**
+	 * @generated NOT
+	 */
+	public String getVmParametersAsString() {
+		return concatList(getVmParameters());
+	}
+	
+	private String concatList(List list){
+		StringBuffer concatString = new StringBuffer();
+		Iterator iterator = list.iterator();
+		while(iterator.hasNext()){
+			concatString.append(iterator.next());
+			concatString.append(" ");
+		}
+		return concatString.toString();
+	}
+	
 } //LaunchConfigurationImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ModuleImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ModuleImpl.java
index 0eaa834..0a794ef 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ModuleImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ModuleImpl.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: ModuleImpl.java,v 1.3 2005/06/13 21:01:36 gercan Exp $
+ * $Id: ModuleImpl.java,v 1.4 2005/08/30 21:45:19 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -44,6 +44,8 @@
 import org.eclipse.jst.server.generic.servertype.definition.Module;
 
 
+
+
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Module</b></em>'.
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PortImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PortImpl.java
index c15d968..df4ff4a 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PortImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PortImpl.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: PortImpl.java,v 1.3 2005/06/13 21:01:36 gercan Exp $
+ * $Id: PortImpl.java,v 1.4 2005/08/30 21:45:19 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -44,6 +44,8 @@
 import org.eclipse.jst.server.generic.servertype.definition.Port;
 
 
+
+
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Port</b></em>'.
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ProjectImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ProjectImpl.java
index bc3ce1c..e168f3f 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ProjectImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ProjectImpl.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: ProjectImpl.java,v 1.3 2005/06/13 21:01:36 gercan Exp $
+ * $Id: ProjectImpl.java,v 1.4 2005/08/30 21:45:19 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -44,6 +44,8 @@
 import org.eclipse.jst.server.generic.servertype.definition.Project;
 
 
+
+
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Project</b></em>'.
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PropertyImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PropertyImpl.java
index f22beea..7608fde 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PropertyImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PropertyImpl.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: PropertyImpl.java,v 1.4 2005/06/13 21:01:36 gercan Exp $
+ * $Id: PropertyImpl.java,v 1.5 2005/08/30 21:45:19 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -44,6 +44,8 @@
 import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
 import org.eclipse.jst.server.generic.servertype.definition.Property;
 
+
+
 import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
 import org.osgi.framework.Bundle;
 
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherDataImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherDataImpl.java
index 336e95a..cf4284c 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherDataImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherDataImpl.java
@@ -2,7 +2,7 @@
  * <copyright>
  * </copyright>
  *
- * $Id: PublisherDataImpl.java,v 1.3 2005/06/13 21:01:36 gercan Exp $
+ * $Id: PublisherDataImpl.java,v 1.4 2005/08/30 21:45:19 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -18,6 +18,8 @@
 import org.eclipse.jst.server.generic.servertype.definition.PublisherData;
 
 
+
+
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Publisher Data</b></em>'.
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherImpl.java
index 1d23fc4..81439a7 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherImpl.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: PublisherImpl.java,v 1.5 2005/06/13 21:01:36 gercan Exp $
+ * $Id: PublisherImpl.java,v 1.6 2005/08/30 21:45:17 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -48,6 +48,8 @@
 import org.eclipse.jst.server.generic.servertype.definition.Publisher;
 
 
+
+
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Publisher</b></em>'.
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerRuntimeImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerRuntimeImpl.java
index 979c42a..1498bf9 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerRuntimeImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerRuntimeImpl.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: ServerRuntimeImpl.java,v 1.5 2005/06/13 21:01:36 gercan Exp $
+ * $Id: ServerRuntimeImpl.java,v 1.6 2005/08/30 21:45:19 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -57,6 +57,8 @@
 import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
 
 
+
+
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Server Runtime</b></em>'.
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypeFactoryImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypeFactoryImpl.java
index 3004e96..5fed412 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypeFactoryImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypeFactoryImpl.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: ServerTypeFactoryImpl.java,v 1.6 2005/06/15 05:40:01 gercan Exp $
+ * $Id: ServerTypeFactoryImpl.java,v 1.7 2005/08/30 21:45:19 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -65,10 +65,10 @@
 	public EObject create(EClass eClass) {
 		switch (eClass.getClassifierID()) {
 			case ServerTypePackage.ARCHIVE_TYPE: return createArchiveType();
+			case ServerTypePackage.ARGUMENT_PAIR: return createArgumentPair();
 			case ServerTypePackage.CLASSPATH: return createClasspath();
 			case ServerTypePackage.EXTERNAL: return createExternal();
 			case ServerTypePackage.JNDI_CONNECTION: return createJndiConnection();
-			case ServerTypePackage.JNDI_PROPERTY: return createJndiProperty();
 			case ServerTypePackage.LAUNCH_CONFIGURATION: return createLaunchConfiguration();
 			case ServerTypePackage.MODULE: return createModule();
 			case ServerTypePackage.PORT: return createPort();
@@ -97,6 +97,16 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public ArgumentPair createArgumentPair() {
+		ArgumentPairImpl argumentPair = new ArgumentPairImpl();
+		return argumentPair;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public Classpath createClasspath() {
 		ClasspathImpl classpath = new ClasspathImpl();
 		return classpath;
@@ -124,16 +134,6 @@
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public JndiProperty createJndiProperty() {
-		JndiPropertyImpl jndiProperty = new JndiPropertyImpl();
-		return jndiProperty;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypePackageImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypePackageImpl.java
index de9a1e8..baf18b7 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypePackageImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypePackageImpl.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: ServerTypePackageImpl.java,v 1.6 2005/06/15 05:40:01 gercan Exp $
+ * $Id: ServerTypePackageImpl.java,v 1.7 2005/08/30 21:45:18 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
 
@@ -45,10 +45,10 @@
 
 import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
 import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
+import org.eclipse.jst.server.generic.servertype.definition.ArgumentPair;
 import org.eclipse.jst.server.generic.servertype.definition.Classpath;
 import org.eclipse.jst.server.generic.servertype.definition.External;
 import org.eclipse.jst.server.generic.servertype.definition.JndiConnection;
-import org.eclipse.jst.server.generic.servertype.definition.JndiProperty;
 import org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration;
 import org.eclipse.jst.server.generic.servertype.definition.Module;
 import org.eclipse.jst.server.generic.servertype.definition.Port;
@@ -60,6 +60,8 @@
 import org.eclipse.jst.server.generic.servertype.definition.ServerTypeFactory;
 
 
+
+
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model <b>Package</b>.
@@ -79,6 +81,13 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	private EClass argumentPairEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	private EClass classpathEClass = null;
 
 	/**
@@ -97,13 +106,6 @@
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    private EClass jndiPropertyEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
@@ -252,6 +254,33 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EClass getArgumentPair() {
+		return argumentPairEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getArgumentPair_Name() {
+		return (EAttribute)argumentPairEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getArgumentPair_Value() {
+		return (EAttribute)argumentPairEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getClasspath() {
 		return classpathEClass;
 	}
@@ -357,33 +386,6 @@
 
 	/**
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EClass getJndiProperty() {
-		return jndiPropertyEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getJndiProperty_Name() {
-		return (EAttribute)jndiPropertyEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getJndiProperty_Value() {
-		return (EAttribute)jndiPropertyEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
@@ -397,69 +399,6 @@
 	 * @generated
 	 */
     public EAttribute getLaunchConfiguration_MainClass() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_WorkingDirectory() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_ProgramArguments() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_VmParameters() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_ClasspathReference() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getLaunchConfiguration_External() {
-		return (EReference)launchConfigurationEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_LaunchType() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(8);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_DebugPort() {
 		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(5);
 	}
 
@@ -468,7 +407,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getLaunchConfiguration_Group() {
+	public EAttribute getLaunchConfiguration_Group2() {
 		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(6);
 	}
 
@@ -477,6 +416,96 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EAttribute getLaunchConfiguration_WorkingDirectory() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLaunchConfiguration_ProgramArguments() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLaunchConfiguration_VmParameters() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLaunchConfiguration_ClasspathReference() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLaunchConfiguration_External() {
+		return (EReference)launchConfigurationEClass.getEStructuralFeatures().get(11);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLaunchConfiguration_DebugPort() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLaunchConfiguration_Group3() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(10);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLaunchConfiguration_Group() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLaunchConfiguration_EnvironmentVariable() {
+		return (EReference)launchConfigurationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLaunchConfiguration_Group1() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getModule() {
 		return moduleEClass;
 	}
@@ -863,6 +892,10 @@
 		archiveTypeEClass = createEClass(ARCHIVE_TYPE);
 		createEAttribute(archiveTypeEClass, ARCHIVE_TYPE__PATH);
 
+		argumentPairEClass = createEClass(ARGUMENT_PAIR);
+		createEAttribute(argumentPairEClass, ARGUMENT_PAIR__NAME);
+		createEAttribute(argumentPairEClass, ARGUMENT_PAIR__VALUE);
+
 		classpathEClass = createEClass(CLASSPATH);
 		createEAttribute(classpathEClass, CLASSPATH__GROUP);
 		createEReference(classpathEClass, CLASSPATH__ARCHIVE);
@@ -878,20 +911,19 @@
 		createEReference(jndiConnectionEClass, JNDI_CONNECTION__JNDI_PROPERTY);
 		createEAttribute(jndiConnectionEClass, JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY);
 
-		jndiPropertyEClass = createEClass(JNDI_PROPERTY);
-		createEAttribute(jndiPropertyEClass, JNDI_PROPERTY__NAME);
-		createEAttribute(jndiPropertyEClass, JNDI_PROPERTY__VALUE);
-
 		launchConfigurationEClass = createEClass(LAUNCH_CONFIGURATION);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__WORKING_DIRECTORY);
+		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP);
+		createEReference(launchConfigurationEClass, LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE);
+		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP1);
 		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS);
+		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__WORKING_DIRECTORY);
 		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__MAIN_CLASS);
+		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP2);
 		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__VM_PARAMETERS);
 		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE);
 		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__DEBUG_PORT);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP);
+		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP3);
 		createEReference(launchConfigurationEClass, LAUNCH_CONFIGURATION__EXTERNAL);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__LAUNCH_TYPE);
 
 		moduleEClass = createEClass(MODULE);
 		createEAttribute(moduleEClass, MODULE__TYPE);
@@ -973,6 +1005,10 @@
 		initEClass(archiveTypeEClass, ArchiveType.class, "ArchiveType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getArchiveType_Path(), theXMLTypePackage.getString(), "path", null, 0, 1, ArchiveType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+		initEClass(argumentPairEClass, ArgumentPair.class, "ArgumentPair", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getArgumentPair_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ArgumentPair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getArgumentPair_Value(), theXMLTypePackage.getString(), "value", null, 1, 1, ArgumentPair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
 		initEClass(classpathEClass, Classpath.class, "Classpath", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getClasspath_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, Classpath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getClasspath_Archive(), this.getArchiveType(), null, "archive", null, 1, -1, Classpath.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
@@ -985,23 +1021,22 @@
 		initEClass(jndiConnectionEClass, JndiConnection.class, "JndiConnection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getJndiConnection_ProviderUrl(), theXMLTypePackage.getString(), "providerUrl", null, 1, 1, JndiConnection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getJndiConnection_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, JndiConnection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getJndiConnection_JndiProperty(), this.getJndiProperty(), null, "jndiProperty", null, 0, -1, JndiConnection.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEReference(getJndiConnection_JndiProperty(), this.getArgumentPair(), null, "jndiProperty", null, 0, -1, JndiConnection.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
 		initEAttribute(getJndiConnection_InitialContextFactory(), theXMLTypePackage.getString(), "initialContextFactory", null, 1, 1, JndiConnection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(jndiPropertyEClass, JndiProperty.class, "JndiProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getJndiProperty_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, JndiProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getJndiProperty_Value(), theXMLTypePackage.getString(), "value", null, 1, 1, JndiProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
 		initEClass(launchConfigurationEClass, LaunchConfiguration.class, "LaunchConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getLaunchConfiguration_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getLaunchConfiguration_EnvironmentVariable(), this.getArgumentPair(), null, "environmentVariable", null, 0, -1, LaunchConfiguration.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLaunchConfiguration_Group1(), ecorePackage.getEFeatureMapEntry(), "group1", null, 0, -1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLaunchConfiguration_ProgramArguments(), theXMLTypePackage.getString(), "programArguments", null, 0, -1, LaunchConfiguration.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
 		initEAttribute(getLaunchConfiguration_WorkingDirectory(), theXMLTypePackage.getString(), "workingDirectory", null, 1, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_ProgramArguments(), theXMLTypePackage.getString(), "programArguments", null, 1, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getLaunchConfiguration_MainClass(), theXMLTypePackage.getString(), "mainClass", null, 0, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_VmParameters(), theXMLTypePackage.getString(), "vmParameters", null, 0, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLaunchConfiguration_Group2(), ecorePackage.getEFeatureMapEntry(), "group2", null, 0, -1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLaunchConfiguration_VmParameters(), theXMLTypePackage.getString(), "vmParameters", null, 0, -1, LaunchConfiguration.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
 		initEAttribute(getLaunchConfiguration_ClasspathReference(), theXMLTypePackage.getString(), "classpathReference", null, 0, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getLaunchConfiguration_DebugPort(), theXMLTypePackage.getString(), "debugPort", null, 0, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLaunchConfiguration_Group3(), ecorePackage.getEFeatureMapEntry(), "group3", null, 0, -1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getLaunchConfiguration_External(), this.getExternal(), null, "external", null, 0, -1, LaunchConfiguration.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_LaunchType(), theXMLTypePackage.getString(), "launchType", null, 0, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(moduleEClass, Module.class, "Module", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getModule_Type(), theXMLTypePackage.getString(), "type", null, 1, 1, Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1081,6 +1116,27 @@
 			 "name", "path"
 		   });		
 		addAnnotation
+		  (argumentPairEClass, 
+		   source, 
+		   new String[] {
+			 "name", "ArgumentPair",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getArgumentPair_Name(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "name"
+		   });		
+		addAnnotation
+		  (getArgumentPair_Value(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "value"
+		   });		
+		addAnnotation
 		  (classpathEClass, 
 		   source, 
 		   new String[] {
@@ -1167,27 +1223,6 @@
 			 "name", "initialContextFactory"
 		   });		
 		addAnnotation
-		  (jndiPropertyEClass, 
-		   source, 
-		   new String[] {
-			 "name", "jndiProperty",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getJndiProperty_Name(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "name"
-		   });		
-		addAnnotation
-		  (getJndiProperty_Value(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "value"
-		   });		
-		addAnnotation
 		  (launchConfigurationEClass, 
 		   source, 
 		   new String[] {
@@ -1195,6 +1230,36 @@
 			 "kind", "elementOnly"
 		   });		
 		addAnnotation
+		  (getLaunchConfiguration_Group(), 
+		   source, 
+		   new String[] {
+			 "kind", "group",
+			 "name", "group:0"
+		   });		
+		addAnnotation
+		  (getLaunchConfiguration_EnvironmentVariable(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "environmentVariable",
+			 "group", "#group:0"
+		   });		
+		addAnnotation
+		  (getLaunchConfiguration_Group1(), 
+		   source, 
+		   new String[] {
+			 "kind", "group",
+			 "name", "group:2"
+		   });		
+		addAnnotation
+		  (getLaunchConfiguration_ProgramArguments(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "programArguments",
+			 "group", "#group:2"
+		   });		
+		addAnnotation
 		  (getLaunchConfiguration_WorkingDirectory(), 
 		   source, 
 		   new String[] {
@@ -1202,13 +1267,6 @@
 			 "name", "workingDirectory"
 		   });		
 		addAnnotation
-		  (getLaunchConfiguration_ProgramArguments(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "programArguments"
-		   });		
-		addAnnotation
 		  (getLaunchConfiguration_MainClass(), 
 		   source, 
 		   new String[] {
@@ -1216,11 +1274,19 @@
 			 "name", "mainClass"
 		   });		
 		addAnnotation
+		  (getLaunchConfiguration_Group2(), 
+		   source, 
+		   new String[] {
+			 "kind", "group",
+			 "name", "group:6"
+		   });		
+		addAnnotation
 		  (getLaunchConfiguration_VmParameters(), 
 		   source, 
 		   new String[] {
 			 "kind", "element",
-			 "name", "vmParameters"
+			 "name", "vmParameters",
+			 "group", "#group:6"
 		   });		
 		addAnnotation
 		  (getLaunchConfiguration_ClasspathReference(), 
@@ -1237,11 +1303,11 @@
 			 "name", "debugPort"
 		   });		
 		addAnnotation
-		  (getLaunchConfiguration_Group(), 
+		  (getLaunchConfiguration_Group3(), 
 		   source, 
 		   new String[] {
 			 "kind", "group",
-			 "name", "group:6"
+			 "name", "group:10"
 		   });		
 		addAnnotation
 		  (getLaunchConfiguration_External(), 
@@ -1249,14 +1315,7 @@
 		   new String[] {
 			 "kind", "element",
 			 "name", "external",
-			 "group", "#group:6"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_LaunchType(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "launchType"
+			 "group", "#group:10"
 		   });		
 		addAnnotation
 		  (moduleEClass, 
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeAdapterFactory.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeAdapterFactory.java
index 571aad4..3163606 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeAdapterFactory.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeAdapterFactory.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: ServerTypeAdapterFactory.java,v 1.6 2005/06/15 05:40:01 gercan Exp $
+ * $Id: ServerTypeAdapterFactory.java,v 1.7 2005/08/30 21:45:51 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.util;
 
@@ -100,6 +100,9 @@
 			public Object caseArchiveType(ArchiveType object) {
 				return createArchiveTypeAdapter();
 			}
+			public Object caseArgumentPair(ArgumentPair object) {
+				return createArgumentPairAdapter();
+			}
 			public Object caseClasspath(Classpath object) {
 				return createClasspathAdapter();
 			}
@@ -109,9 +112,6 @@
 			public Object caseJndiConnection(JndiConnection object) {
 				return createJndiConnectionAdapter();
 			}
-			public Object caseJndiProperty(JndiProperty object) {
-				return createJndiPropertyAdapter();
-			}
 			public Object caseLaunchConfiguration(LaunchConfiguration object) {
 				return createLaunchConfigurationAdapter();
 			}
@@ -169,6 +169,20 @@
 	}
 
 	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair <em>Argument Pair</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ArgumentPair
+	 * @generated
+	 */
+	public Adapter createArgumentPairAdapter() {
+		return null;
+	}
+
+	/**
 	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath <em>Classpath</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
@@ -211,20 +225,6 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty <em>Jndi Property</em>}'.
-	 * <!-- begin-user-doc -->
-     * This default implementation returns null so that we can easily ignore cases;
-     * it's useful to ignore a case when inheritance will catch all the cases anyway.
-     * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.JndiProperty
-	 * @generated
-	 */
-    public Adapter createJndiPropertyAdapter() {
-		return null;
-	}
-
-	/**
 	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration <em>Launch Configuration</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceFactoryImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceFactoryImpl.java
index 73ae6ec..8e03eb4 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceFactoryImpl.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceFactoryImpl.java
@@ -28,18 +28,13 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: ServerTypeResourceFactoryImpl.java,v 1.2 2005/06/13 21:01:36 gercan Exp $
+ * $Id: ServerTypeResourceFactoryImpl.java,v 1.3 2005/08/30 21:45:51 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.util;
 
 import org.eclipse.emf.common.util.URI;
-
 import org.eclipse.emf.ecore.resource.Resource;
-
 import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
-
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-
 import org.eclipse.emf.ecore.xmi.XMLResource;
 
 /**
@@ -51,13 +46,6 @@
  */
 public class ServerTypeResourceFactoryImpl extends ResourceFactoryImpl {
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ExtendedMetaData extendedMetaData;
-
-	/**
 	 * Creates an instance of the resource factory.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -65,7 +53,6 @@
 	 */
 	public ServerTypeResourceFactoryImpl() {
 		super();
-		extendedMetaData = ExtendedMetaData.INSTANCE;
 	}
 
 	/**
@@ -76,8 +63,8 @@
 	 */
 	public Resource createResource(URI uri) {
 		XMLResource result = new ServerTypeResourceImpl(uri);
-		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
-		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
 
 		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
 		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeSwitch.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeSwitch.java
index c959120..8f2ebed 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeSwitch.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeSwitch.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: ServerTypeSwitch.java,v 1.6 2005/06/15 05:40:01 gercan Exp $
+ * $Id: ServerTypeSwitch.java,v 1.7 2005/08/30 21:45:51 gercan Exp $
  */
 package org.eclipse.jst.server.generic.internal.servertype.definition.util;
 
@@ -120,6 +120,12 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
+			case ServerTypePackage.ARGUMENT_PAIR: {
+				ArgumentPair argumentPair = (ArgumentPair)theEObject;
+				Object result = caseArgumentPair(argumentPair);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
 			case ServerTypePackage.CLASSPATH: {
 				Classpath classpath = (Classpath)theEObject;
 				Object result = caseClasspath(classpath);
@@ -138,12 +144,6 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case ServerTypePackage.JNDI_PROPERTY: {
-				JndiProperty jndiProperty = (JndiProperty)theEObject;
-				Object result = caseJndiProperty(jndiProperty);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			case ServerTypePackage.LAUNCH_CONFIGURATION: {
 				LaunchConfiguration launchConfiguration = (LaunchConfiguration)theEObject;
 				Object result = caseLaunchConfiguration(launchConfiguration);
@@ -212,6 +212,21 @@
 	}
 
 	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Argument Pair</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Argument Pair</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseArgumentPair(ArgumentPair object) {
+		return null;
+	}
+
+	/**
 	 * Returns the result of interpretting the object as an instance of '<em>Classpath</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
@@ -257,21 +272,6 @@
 	}
 
 	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Jndi Property</em>'.
-	 * <!-- begin-user-doc -->
-     * This implementation returns null;
-     * returning a non-null result will terminate the switch.
-     * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Jndi Property</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-    public Object caseJndiProperty(JndiProperty object) {
-		return null;
-	}
-
-	/**
 	 * Returns the result of interpretting the object as an instance of '<em>Launch Configuration</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiProperty.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArgumentPair.java
similarity index 60%
rename from plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiProperty.java
rename to plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArgumentPair.java
index a9bc3b8..bfc1ba1 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiProperty.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArgumentPair.java
@@ -2,7 +2,7 @@
  * <copyright>
  * </copyright>
  *
- * $Id: JndiProperty.java,v 1.5 2005/06/14 20:45:45 gercan Exp $
+ * $Id: ArgumentPair.java,v 1.1 2005/08/30 21:43:24 gercan Exp $
  */
 package org.eclipse.jst.server.generic.servertype.definition;
 
@@ -10,41 +10,41 @@
 
 /**
  * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Jndi Property</b></em>'.
+ * A representation of the model object '<em><b>Argument Pair</b></em>'.
  * <!-- end-user-doc -->
  *
  * <p>
  * The following features are supported:
  * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getValue <em>Value</em>}</li>
  * </ul>
  * </p>
  *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getJndiProperty()
- * @model extendedMetaData="name='jndiProperty' kind='elementOnly'"
+ * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getArgumentPair()
+ * @model extendedMetaData="name='ArgumentPair' kind='elementOnly'"
  * @generated
  */
-public interface JndiProperty extends EObject{
+public interface ArgumentPair extends EObject{
 	/**
 	 * Returns the value of the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Name</em>' attribute isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Name</em>' attribute.
 	 * @see #setName(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getJndiProperty_Name()
+	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getArgumentPair_Name()
 	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
 	 *        extendedMetaData="kind='element' name='name'"
 	 * @generated
 	 */
-    String getName();
+	String getName();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getName <em>Name</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getName <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Name</em>' attribute.
@@ -56,28 +56,22 @@
 	/**
 	 * Returns the value of the '<em><b>Value</b></em>' attribute.
 	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Value</em>' attribute.
 	 * @see #setValue(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getJndiProperty_Value()
+	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getArgumentPair_Value()
 	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
 	 *        extendedMetaData="kind='element' name='value'"
 	 * @generated
 	 */
-    String getValue();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getValue <em>Value</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Value</em>' attribute.
-     * @see #getValue()
-     * @generated
-     */
-//    void setValue(String value);
+	String getValue();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getValue <em>Value</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getValue <em>Value</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Value</em>' attribute.
@@ -86,4 +80,4 @@
 	 */
 	void setValue(String value);
 
-} // JndiProperty
+} // ArgumentPair
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/External.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/External.java
index 780729d..15b70fa 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/External.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/External.java
@@ -2,7 +2,7 @@
  * <copyright>
  * </copyright>
  *
- * $Id: External.java,v 1.1 2005/06/15 05:40:01 gercan Exp $
+ * $Id: External.java,v 1.2 2005/08/30 21:43:24 gercan Exp $
  */
 package org.eclipse.jst.server.generic.servertype.definition;
 
@@ -25,7 +25,7 @@
  * @model extendedMetaData="name='External' kind='simple'"
  * @generated
  */
-public interface External extends EObject {
+public interface External extends EObject{
 	/**
 	 * Returns the value of the '<em><b>Value</b></em>' attribute.
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiConnection.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiConnection.java
index 200e846..31837e8 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiConnection.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiConnection.java
@@ -2,7 +2,7 @@
  * <copyright>
  * </copyright>
  *
- * $Id: JndiConnection.java,v 1.5 2005/06/14 20:45:45 gercan Exp $
+ * $Id: JndiConnection.java,v 1.6 2005/08/30 21:43:24 gercan Exp $
  */
 package org.eclipse.jst.server.generic.servertype.definition;
 
@@ -78,7 +78,7 @@
 
 	/**
 	 * Returns the value of the '<em><b>Jndi Property</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty}.
+	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair}.
 	 * <!-- begin-user-doc -->
      * <p>
      * If the meaning of the '<em>Jndi Property</em>' containment reference list isn't clear,
@@ -87,7 +87,7 @@
      * <!-- end-user-doc -->
 	 * @return the value of the '<em>Jndi Property</em>' containment reference list.
 	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getJndiConnection_JndiProperty()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.JndiProperty" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @model type="org.eclipse.jst.server.generic.servertype.definition.ArgumentPair" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
 	 *        extendedMetaData="kind='element' name='jndiProperty' group='#group:1'"
 	 * @generated
 	 */
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/LaunchConfiguration.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/LaunchConfiguration.java
index 0b683e6..95924d3 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/LaunchConfiguration.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/LaunchConfiguration.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: LaunchConfiguration.java,v 1.9 2005/06/15 05:40:01 gercan Exp $
+ * $Id: LaunchConfiguration.java,v 1.10 2005/08/30 21:43:24 gercan Exp $
  */
 package org.eclipse.jst.server.generic.servertype.definition;
 
@@ -46,15 +46,18 @@
  * <p>
  * The following features are supported:
  * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getWorkingDirectory <em>Working Directory</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getEnvironmentVariable <em>Environment Variable</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup1 <em>Group1</em>}</li>
  *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments <em>Program Arguments</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getWorkingDirectory <em>Working Directory</em>}</li>
  *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getMainClass <em>Main Class</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup2 <em>Group2</em>}</li>
  *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getVmParameters <em>Vm Parameters</em>}</li>
  *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClasspathReference <em>Classpath Reference</em>}</li>
  *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getDebugPort <em>Debug Port</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup3 <em>Group3</em>}</li>
  *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getExternal <em>External</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getLaunchType <em>Launch Type</em>}</li>
  * </ul>
  * </p>
  *
@@ -91,6 +94,23 @@
 	void setMainClass(String value);
 
 	/**
+	 * Returns the value of the '<em><b>Group2</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Group2</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Group2</em>' attribute list.
+	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_Group2()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 *        extendedMetaData="kind='group' name='group:6'"
+	 * @generated
+	 */
+	FeatureMap getGroup2();
+
+	/**
 	 * Returns the value of the '<em><b>Working Directory</b></em>' attribute.
 	 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
@@ -114,50 +134,44 @@
 	void setWorkingDirectory(String value);
 
 	/**
-	 * Returns the value of the '<em><b>Program Arguments</b></em>' attribute.
+	 * Returns the value of the '<em><b>Program Arguments</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Program Arguments</em>' attribute.
-	 * @see #setProgramArguments(String)
+	 * @return the value of the '<em>Program Arguments</em>' attribute list.
 	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_ProgramArguments()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='programArguments'"
+	 * @model type="java.lang.String" unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" transient="true" volatile="true" derived="true"
+	 *        extendedMetaData="kind='element' name='programArguments' group='#group:2'"
 	 * @generated
 	 */
-	String getProgramArguments();
+	List getProgramArguments();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments <em>Program Arguments</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Program Arguments</em>' attribute.
-	 * @see #getProgramArguments()
-	 * @generated
+	 * Returns a concatenated String of all Program Arguments
+	 * @generated NOT
+	 * @return
 	 */
-	void setProgramArguments(String value);
+	String getProgramArgumentsAsString();
+	
+	/**
+	 * Returns a concatenated String of all Vm parameters.
+	 * @generated NOT
+	 * @return
+	 */
+	String getVmParametersAsString();
 
 	/**
-	 * Returns the value of the '<em><b>Vm Parameters</b></em>' attribute.
+	 * Returns the value of the '<em><b>Vm Parameters</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Vm Parameters</em>' attribute.
-	 * @see #setVmParameters(String)
+	 * @return the value of the '<em>Vm Parameters</em>' attribute list.
 	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_VmParameters()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='element' name='vmParameters'"
+	 * @model type="java.lang.String" unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" transient="true" volatile="true" derived="true"
+	 *        extendedMetaData="kind='element' name='vmParameters' group='#group:6'"
 	 * @generated
 	 */
-	String getVmParameters();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getVmParameters <em>Vm Parameters</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Vm Parameters</em>' attribute.
-	 * @see #getVmParameters()
-	 * @generated
-	 */
-	void setVmParameters(String value);
+	List getVmParameters();
 
 	/**
 	 * Returns the value of the '<em><b>Classpath Reference</b></em>' attribute.
@@ -204,39 +218,12 @@
 	 * @return the value of the '<em>External</em>' containment reference list.
 	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_External()
 	 * @model type="org.eclipse.jst.server.generic.servertype.definition.External" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='external' group='#group:6'"
+	 *        extendedMetaData="kind='element' name='external' group='#group:10'"
 	 * @generated
 	 */
 	List getExternal();
 
 	/**
-	 * Returns the value of the '<em><b>Launch Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Launch Type</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Launch Type</em>' attribute.
-	 * @see #setLaunchType(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_LaunchType()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='attribute' name='launchType'"
-	 * @generated
-	 */
-	String getLaunchType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getLaunchType <em>Launch Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Launch Type</em>' attribute.
-	 * @see #getLaunchType()
-	 * @generated
-	 */
-	void setLaunchType(String value);
-
-	/**
 	 * Returns the value of the '<em><b>Debug Port</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <p>
@@ -264,6 +251,23 @@
 	void setDebugPort(String value);
 
 	/**
+	 * Returns the value of the '<em><b>Group3</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Group3</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Group3</em>' attribute list.
+	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_Group3()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 *        extendedMetaData="kind='group' name='group:10'"
+	 * @generated
+	 */
+	FeatureMap getGroup3();
+
+	/**
 	 * Returns the value of the '<em><b>Group</b></em>' attribute list.
 	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
 	 * <!-- begin-user-doc -->
@@ -275,9 +279,43 @@
 	 * @return the value of the '<em>Group</em>' attribute list.
 	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_Group()
 	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:6'"
+	 *        extendedMetaData="kind='group' name='group:0'"
 	 * @generated
 	 */
 	FeatureMap getGroup();
 
+	/**
+	 * Returns the value of the '<em><b>Environment Variable</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Environment Variable</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Environment Variable</em>' containment reference list.
+	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_EnvironmentVariable()
+	 * @model type="org.eclipse.jst.server.generic.servertype.definition.ArgumentPair" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 *        extendedMetaData="kind='element' name='environmentVariable' group='#group:0'"
+	 * @generated
+	 */
+	List getEnvironmentVariable();
+
+	/**
+	 * Returns the value of the '<em><b>Group1</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Group1</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Group1</em>' attribute list.
+	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_Group1()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 *        extendedMetaData="kind='group' name='group:2'"
+	 * @generated
+	 */
+	FeatureMap getGroup1();
+
 } // LaunchConfiguration
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypeFactory.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypeFactory.java
index 41f2c47..e137cf6 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypeFactory.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypeFactory.java
@@ -28,7 +28,7 @@
  ***************************************************************************
  * </copyright>
  *
- * $Id: ServerTypeFactory.java,v 1.8 2005/06/15 05:40:01 gercan Exp $
+ * $Id: ServerTypeFactory.java,v 1.9 2005/08/30 21:43:24 gercan Exp $
  */
 package org.eclipse.jst.server.generic.servertype.definition;
 
@@ -62,6 +62,15 @@
 	ArchiveType createArchiveType();
 
 	/**
+	 * Returns a new object of class '<em>Argument Pair</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Argument Pair</em>'.
+	 * @generated
+	 */
+	ArgumentPair createArgumentPair();
+
+	/**
 	 * Returns a new object of class '<em>Classpath</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -89,15 +98,6 @@
     JndiConnection createJndiConnection();
 
 	/**
-	 * Returns a new object of class '<em>Jndi Property</em>'.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Jndi Property</em>'.
-	 * @generated
-	 */
-    JndiProperty createJndiProperty();
-
-	/**
 	 * Returns a new object of class '<em>Launch Configuration</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd b/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd
index 4f4d825..87fa96e 100644
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd
+++ b/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd
@@ -59,23 +59,31 @@
 
 	<complexType name="LaunchConfiguration">
 		<sequence>
-			<element name="workingDirectory" type="string"/>
-			<element name="programArguments" type="string"/>
+			<sequence minOccurs="0" maxOccurs="unbounded">
+				<element name="environmentVariable"
+					type="jst:ArgumentPair">
+				</element>
+			</sequence>
+			<sequence minOccurs="0" maxOccurs="unbounded">
+				<element name="programArguments" type="string" />
+			</sequence>
+			<element name="workingDirectory" type="string" />
 			<choice>
-			<sequence>
-			<element name="mainClass" type="string"/>
-			<element name="vmParameters" type="string"/>
-			<element name="classpathReference" type="string"/>
-        </sequence>
-			<sequence>
-			<element name="debugPort" type="string"/>
-			<sequence maxOccurs="unbounded" minOccurs="1">
-				<element name="external" type="jst:External"></element>
-			</sequence>
-			</sequence>
+				<sequence>
+					<element name="mainClass" type="string" />
+					<sequence minOccurs="0" maxOccurs="unbounded">
+						<element name="vmParameters" type="string" />
+					</sequence>
+					<element name="classpathReference" type="string" />
+				</sequence>
+				<sequence>
+					<element name="debugPort" type="string" />
+					<sequence maxOccurs="unbounded" minOccurs="1">
+						<element name="external" type="jst:External"></element>
+					</sequence>
+				</sequence>
 			</choice>
 		</sequence>
-		<attribute name="launchType" type="string" use="optional"/>
 	</complexType>
 
 	<complexType name="Port">
@@ -121,13 +129,13 @@
     	<sequence>
     		<element name="providerUrl" type="string"/>
     		<sequence maxOccurs="unbounded" minOccurs="0">
-    			<element name="jndiProperty" type="jst:jndiProperty"/>
+    			<element name="jndiProperty" type="jst:ArgumentPair"/>
     		</sequence>
     		<element name="initialContextFactory" type="string"/>
     	</sequence>
     </complexType>
 
-    <complexType name="jndiProperty">
+    <complexType name="ArgumentPair">
     	<all maxOccurs="1" minOccurs="1">
     		<element name="name" type="string"/>
     		<element name="value" type="string"/>
diff --git a/plugins/org.eclipse.jst.server.generic.core/xsd/org.eclipse.jst.server.generic.servertype.ecore b/plugins/org.eclipse.jst.server.generic.core/xsd/org.eclipse.jst.server.generic.servertype.ecore
index 89c4f49..21b385f 100644
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/org.eclipse.jst.server.generic.servertype.ecore
+++ b/plugins/org.eclipse.jst.server.generic.core/xsd/org.eclipse.jst.server.generic.servertype.ecore
@@ -15,6 +15,26 @@
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ArgumentPair">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="ArgumentPair"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="name"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="value"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Classpath">
     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       <details key="name" value="Classpath"/>
@@ -81,7 +101,7 @@
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="jndiProperty" upperBound="-1"
-        eType="#//JndiProperty" volatile="true" transient="true" derived="true" containment="true"
+        eType="#//ArgumentPair" volatile="true" transient="true" derived="true" containment="true"
         resolveProxies="false">
       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details key="kind" value="element"/>
@@ -97,31 +117,43 @@
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="JndiProperty">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="jndiProperty"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="name"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="value"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="LaunchConfiguration">
     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       <details key="name" value="LaunchConfiguration"/>
       <details key="kind" value="elementOnly"/>
     </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="group"/>
+        <details key="name" value="group:0"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="environmentVariable" upperBound="-1"
+        eType="#//ArgumentPair" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="environmentVariable"/>
+        <details key="group" value="#group:0"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group1" unique="false"
+        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="group"/>
+        <details key="name" value="group:2"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="programArguments" unique="false"
+        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+        volatile="true" transient="true" derived="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="programArguments"/>
+        <details key="group" value="#group:2"/>
+      </eAnnotations>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="workingDirectory" unique="false"
         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
@@ -129,13 +161,6 @@
         <details key="name" value="workingDirectory"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="programArguments" unique="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="programArguments"/>
-      </eAnnotations>
-    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="mainClass" unique="false"
         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
@@ -143,11 +168,20 @@
         <details key="name" value="mainClass"/>
       </eAnnotations>
     </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group2" unique="false"
+        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="group"/>
+        <details key="name" value="group:6"/>
+      </eAnnotations>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="vmParameters" unique="false"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+        volatile="true" transient="true" derived="true">
       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details key="kind" value="element"/>
         <details key="name" value="vmParameters"/>
+        <details key="group" value="#group:6"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="classpathReference" unique="false"
@@ -164,11 +198,11 @@
         <details key="name" value="debugPort"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group3" unique="false"
+        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details key="kind" value="group"/>
-        <details key="name" value="group:6"/>
+        <details key="name" value="group:10"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="external" upperBound="-1"
@@ -177,14 +211,7 @@
       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details key="kind" value="element"/>
         <details key="name" value="external"/>
-        <details key="group" value="#group:6"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="launchType" unique="false"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="attribute"/>
-        <details key="name" value="launchType"/>
+        <details key="group" value="#group:10"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
diff --git a/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.genmodel b/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.genmodel
index 21f6814..74670bb 100644
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.genmodel
+++ b/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.genmodel
@@ -13,6 +13,10 @@
     <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//ArchiveType">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ArchiveType/path"/>
     </genClasses>
+    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//ArgumentPair">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ArgumentPair/name"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ArgumentPair/value"/>
+    </genClasses>
     <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Classpath">
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Classpath/group"/>
       <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//Classpath/archive"/>
@@ -28,20 +32,19 @@
       <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//JndiConnection/jndiProperty"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//JndiConnection/initialContextFactory"/>
     </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//JndiProperty">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//JndiProperty/name"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//JndiProperty/value"/>
-    </genClasses>
     <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/workingDirectory"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group"/>
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/environmentVariable"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group1"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/programArguments"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/workingDirectory"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/mainClass"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group2"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/vmParameters"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/classpathReference"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/debugPort"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group3"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/external"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/launchType"/>
     </genClasses>
     <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Module">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Module/type"/>