### Eclipse Workspace Patch 1.0
#P org.jboss.ide.eclipse.as.ui
Index: jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeWizardFragment.java
===================================================================
--- jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeWizardFragment.java	(revision 13265)
+++ jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeWizardFragment.java	(working copy)
@@ -121,7 +121,7 @@
 		IRuntime rt = (IRuntime) getTaskModel().getObject(
 				TaskModel.TASK_RUNTIME);
 		String id = rt.getRuntimeType().getId();
-		String imageKey = "";
+		String imageKey = JBossServerUISharedImages.WIZBAN_JBOSS42_LOGO;
 		if (id.equals("org.jboss.ide.eclipse.as.runtime.32"))
 			imageKey = JBossServerUISharedImages.WIZBAN_JBOSS32_LOGO;
 		else if (id.equals("org.jboss.ide.eclipse.as.runtime.40"))
@@ -446,9 +446,6 @@
 	protected boolean isHomeValid() {
 		if( homeDir == null  || !(new File(homeDir).exists())) return false;
 		String version = new ServerBeanLoader().getFullServerVersion(new File(homeDir, JBossServerType.AS.getSystemJarPath()));
-		if (version.startsWith("4.3.0")) {
-			version="4.2";
-		}
 		IRuntime rt = (IRuntime) getTaskModel().getObject(
 				TaskModel.TASK_RUNTIME);
 		String v = rt.getRuntimeType().getVersion();
Index: plugin.xml
===================================================================
--- plugin.xml	(revision 13265)
+++ plugin.xml	(working copy)
@@ -9,8 +9,14 @@
          point="org.eclipse.wst.server.ui.serverImages">
       <image
             icon="icons/jboss.gif"
-            typeIds="org.jboss.ide.eclipse.as.32"
+            typeIds="org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.eap.43"
+            id="org.jboss.ide.eclipse.as.ui.jbossIcon"/>
+      <image
+            icon="icons/jboss.gif"
+            typeIds="org.jboss.ide.eclipse.as.runtime.32,org.jboss.ide.eclipse.as.runtime.40,org.jboss.ide.eclipse.as.runtime.42,org.jboss.ide.eclipse.as.runtime.50,org.jboss.ide.eclipse.as.runtime.eap.43"
             id="org.jboss.ide.eclipse.as.ui.jbossIcon"/>
+
+<!--
       <image
             icon="icons/jboss.gif"
             typeIds="org.jboss.ide.eclipse.as.40"
@@ -41,6 +47,12 @@
             id="org.jboss.ide.eclipse.as.ui.jbossIcon"/>
       <image
             icon="icons/jboss.gif"
+            typeIds="org.jboss.ide.eclipse.as.runtime.eap.43"
+            id="org.jboss.ide.eclipse.as.ui.jbossIcon"/>
+-->
+
+      <image
+            icon="icons/jboss.gif"
             typeIds="org.jboss.ide.eclipse.as.systemCopyServer"
             id="org.jboss.ide.eclipse.as.ui.jbossIcon"/>
       <image
@@ -53,12 +65,12 @@
          point="org.eclipse.wst.server.ui.wizardFragments">
       <fragment
             class="org.jboss.ide.eclipse.as.ui.wizards.JBossRuntimeWizardFragment"
-            typeIds="org.jboss.ide.eclipse.as.runtime.32,org.jboss.ide.eclipse.as.runtime.40,org.jboss.ide.eclipse.as.runtime.42,org.jboss.ide.eclipse.as.runtime.50"
+            typeIds="org.jboss.ide.eclipse.as.runtime.32,org.jboss.ide.eclipse.as.runtime.40,org.jboss.ide.eclipse.as.runtime.42,org.jboss.ide.eclipse.as.runtime.50,org.jboss.ide.eclipse.as.runtime.eap.43"
         	id="org.jboss.ide.eclipse.as.ui.jboss32RuntimeWizardFragmentragment"/>
       <fragment
             class="org.jboss.ide.eclipse.as.ui.wizards.JBossServerWizardFragment"
             id="org.jboss.ide.eclipse.as.ui.jbossServerWizardFragment"
-            typeIds="org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50"/>
+            typeIds="org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.eap.43"/>
       <fragment
              class="org.jboss.ide.eclipse.as.ui.wizards.StrippedServerWizardFragment"
              id="org.jboss.ide.eclipse.as.ui.strippedServerWizardFragment"
@@ -152,25 +164,25 @@
             id="org.jboss.ide.eclipse.as.ui.editor.deployServer.deployDir"
             insertionId="org.eclipse.wst.server.editor.overview.left"
             order="10"
-            typeIds="org.jboss.ide.eclipse.as.systemCopyServer, org.jboss.ide.eclipse.as.32, org.jboss.ide.eclipse.as.40, org.jboss.ide.eclipse.as.42, org.jboss.ide.eclipse.as.50"/>
+            typeIds="org.jboss.ide.eclipse.as.systemCopyServer, org.jboss.ide.eclipse.as.32, org.jboss.ide.eclipse.as.40, org.jboss.ide.eclipse.as.42, org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.eap.43"/>
       <section
             class="org.jboss.ide.eclipse.as.ui.editor.PollerSection"
             id="org.jboss.ide.eclipse.as.ui.editor.pollerSection"
             insertionId="org.eclipse.wst.server.editor.overview.right"
             order="10"
-            typeIds="org.jboss.ide.eclipse.as.32, org.jboss.ide.eclipse.as.40, org.jboss.ide.eclipse.as.42, org.jboss.ide.eclipse.as.50"/>
+            typeIds="org.jboss.ide.eclipse.as.32, org.jboss.ide.eclipse.as.40, org.jboss.ide.eclipse.as.42, org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.eap.43"/>
       <section
             class="org.jboss.ide.eclipse.as.ui.editor.PortSection"
             id="org.jboss.ide.eclipse.as.ui.editor.portSection"
             insertionId="org.eclipse.wst.server.editor.overview.right"
             order="11"
-            typeIds="org.jboss.ide.eclipse.as.32, org.jboss.ide.eclipse.as.40, org.jboss.ide.eclipse.as.42, org.jboss.ide.eclipse.as.50"/>
+            typeIds="org.jboss.ide.eclipse.as.32, org.jboss.ide.eclipse.as.40, org.jboss.ide.eclipse.as.42, org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.eap.43"/>
       <section
             class="org.jboss.ide.eclipse.as.ui.editor.ServerPasswordSection"
             id="org.jboss.ide.eclipse.as.ui.editor.passwordSection"
             insertionId="org.eclipse.wst.server.editor.overview.left"
             order="10"
-            typeIds="org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50"/>
+            typeIds="org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.eap.43"/>
    </extension>
 
 
Index: jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossServerWizardFragment.java
===================================================================
--- jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossServerWizardFragment.java	(revision 13265)
+++ jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossServerWizardFragment.java	(working copy)
@@ -21,12 +21,9 @@
 package org.jboss.ide.eclipse.as.ui.wizards;
 
 
-import java.io.File;
-
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
 import org.eclipse.jface.dialogs.IMessageProvider;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.swt.SWT;
@@ -49,7 +46,6 @@
 import org.eclipse.wst.server.ui.wizard.IWizardHandle;
 import org.eclipse.wst.server.ui.wizard.WizardFragment;
 import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
-import org.jboss.ide.eclipse.as.core.server.IJBossServerConstants;
 import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
 import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
 import org.jboss.ide.eclipse.as.ui.JBossServerUISharedImages;
@@ -98,6 +94,7 @@
 		else if( id.equals("org.jboss.ide.eclipse.as.runtime.40")) imageKey = JBossServerUISharedImages.WIZBAN_JBOSS40_LOGO;
 		else if( id.equals("org.jboss.ide.eclipse.as.runtime.42")) imageKey = JBossServerUISharedImages.WIZBAN_JBOSS42_LOGO;
 		else if( id.equals("org.jboss.ide.eclipse.as.runtime.50")) imageKey = JBossServerUISharedImages.WIZBAN_JBOSS50_LOGO;
+		else if( id.equals("org.jboss.ide.eclipse.as.runtime.eap.43")) imageKey = JBossServerUISharedImages.WIZBAN_JBOSS42_LOGO; // TODO until we have a proper image
 		return JBossServerUISharedImages.getImageDescriptor(imageKey);
 	}
 	
@@ -250,32 +247,16 @@
 
 	public void performFinish(IProgressMonitor monitor) throws CoreException {
 		IServerWorkingCopy serverWC = (IServerWorkingCopy) getTaskModel().getObject(TaskModel.TASK_SERVER);
-		handleDefaults(serverWC);
+		name = name == null ? getDefaultNameText() : name;
+		JBossServer jbs = (JBossServer)serverWC.loadAdapter(JBossServer.class, new NullProgressMonitor());
+		jbs.setUsername("admin");
+		jbs.setPassword("admin");
+		jbs.setDeployLocationType(isAS5() ? IDeployableServer.DEPLOY_SERVER : IDeployableServer.DEPLOY_METADATA);
 		serverWC.setRuntime((IRuntime)getTaskModel().getObject(TaskModel.TASK_RUNTIME));
 		serverWC.setName(name);
 		serverWC.setServerConfiguration(null); // no inside jboss folder
 	}
 	
-	protected void handleDefaults(IServerWorkingCopy wc) {
-		name = name == null ? getDefaultNameText() : name;
-		String deployVal = IJBossServerConstants.PLUGIN_LOCATION.append(name).
-			append(IJBossServerConstants.DEPLOY).makeAbsolute().toString();
-		String deployTmpFolderVal = IJBossServerConstants.PLUGIN_LOCATION.append(name).
-			append(IJBossServerConstants.TEMP_DEPLOY).makeAbsolute().toString();
-		
-		JBossServer jbs = (JBossServer)wc.loadAdapter(JBossServer.class, new NullProgressMonitor());
-		jbs.setUsername("admin");
-		jbs.setPassword("admin");
-		
-		boolean as5 = isAS5();
-		String as5TmpDeployFolderVal = new Path(IJBossServerConstants.SERVER).append(getRuntime().getJBossConfiguration()).append(IJBossServerConstants.JBOSSTOOLS_TMP).makeRelative().toString();
-		jbs.setDeployLocationType(as5 ? IDeployableServer.DEPLOY_SERVER : IDeployableServer.DEPLOY_METADATA);
-		jbs.setDeployFolder(deployVal);
-		jbs.setTempDeployFolder(as5 ? as5TmpDeployFolderVal : deployTmpFolderVal);
-		new File(deployVal).mkdirs();
-		new File(deployTmpFolderVal).mkdirs();
-	}
-
 	private IJBossServerRuntime getRuntime() {
 		IRuntime r = (IRuntime) getTaskModel()
 				.getObject(TaskModel.TASK_RUNTIME);
#P org.jboss.ide.eclipse.as.core
Index: jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java
===================================================================
--- jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java	(revision 13265)
+++ jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java	(working copy)
@@ -255,15 +255,16 @@
 	private static final String FILE_SUFFIX = "_FILE";
 	static {
 		rtToPortsFile = new HashMap<String, IPath>();
-		rtToPortsFile.put("3.2", new Path("properties").append("jboss.32.default.ports.properties"));
-		rtToPortsFile.put("4.0", new Path("properties").append("jboss.40.default.ports.properties"));
-		rtToPortsFile.put("4.2", new Path("properties").append("jboss.42.default.ports.properties"));
-		rtToPortsFile.put("5.0", new Path("properties").append("jboss.50.default.ports.properties"));
+		rtToPortsFile.put("org.jboss.ide.eclipse.as.runtime.32", new Path("properties").append("jboss.32.default.ports.properties"));
+		rtToPortsFile.put("org.jboss.ide.eclipse.as.runtime.40", new Path("properties").append("jboss.40.default.ports.properties"));
+		rtToPortsFile.put("org.jboss.ide.eclipse.as.runtime.42", new Path("properties").append("jboss.42.default.ports.properties"));
+		rtToPortsFile.put("org.jboss.ide.eclipse.as.runtime.50", new Path("properties").append("jboss.50.default.ports.properties"));
+		rtToPortsFile.put("org.jboss.ide.eclipse.as.runtime.eap.43", new Path("properties").append("jboss.eap.43.default.ports.properties"));
 	}
 
 	public void loadDefaults(IServer server, String configFolder) {
 		ArrayList<XPathCategory> retVal = new ArrayList<XPathCategory>();
-		Path p = (Path)rtToPortsFile.get(server.getRuntime().getRuntimeType().getVersion());
+		Path p = (Path)rtToPortsFile.get(server.getRuntime().getRuntimeType().getId());
 		if( p == null ) return;
 		URL url = FileLocator.find(JBossServerCorePlugin.getDefault().getBundle(), p, null);
 		if( url == null ) return;
Index: plugin.xml
===================================================================
--- plugin.xml	(revision 13265)
+++ plugin.xml	(working copy)
@@ -76,6 +76,23 @@
             stopTimeout="450000"
             supportsRemoteHosts="false"/>
 
+      <serverType
+            behaviourClass="org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior"
+            class="org.jboss.ide.eclipse.as.core.server.internal.JBossServer"
+            description="%jboss.eap.version.43.description"
+            hasConfiguration="false"
+            id="org.jboss.ide.eclipse.as.eap.43"
+            initialState="stopped"
+            launchConfigId="org.jboss.ide.eclipse.as.core.server.startupConfiguration"
+            launchModes="run,debug,profile"
+            name="%jboss.eap.version.43.name"
+            runtime="true"
+            runtimeTypeId="org.jboss.ide.eclipse.as.runtime.eap.43"
+            startBeforePublish="false"
+            startTimeout="450000"
+            stopTimeout="450000"
+            supportsRemoteHosts="false"/>
+
 
       <serverType
             behaviourClass="org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior"
@@ -102,7 +119,7 @@
             vendor="%providerName"
             class="org.jboss.ide.eclipse.as.core.server.internal.LocalJBossServerRuntime"
             description="%jboss.version.32.description"
-            name="JBoss 3.2 Runtime"
+            name="%jboss.version.32.runtime.name"
             id="org.jboss.ide.eclipse.as.runtime.32"
             version="3.2">
           <moduleType
@@ -125,7 +142,7 @@
              vendor="%providerName"
              class="org.jboss.ide.eclipse.as.core.server.internal.LocalJBossServerRuntime"
              description="%jboss.version.40.description"
-             name="JBoss 4.0 Runtime"
+             name="%jboss.version.40.runtime.name"
              id="org.jboss.ide.eclipse.as.runtime.40"
              version="4.0">
           <moduleType
@@ -158,7 +175,7 @@
              vendor="%providerName"
              class="org.jboss.ide.eclipse.as.core.server.internal.LocalJBossServerRuntime"
              description="%jboss.version.42.description"
-             name="JBoss 4.2 Runtime"
+             name="%jboss.version.42.runtime.name"
              id="org.jboss.ide.eclipse.as.runtime.42"
              version="4.2">
           <moduleType
@@ -191,7 +208,7 @@
              vendor="%providerName"
              class="org.jboss.ide.eclipse.as.core.server.internal.LocalJBossServerRuntime"
              description="%jboss.version.50.description"
-             name="JBoss 5.0 Runtime"
+             name="%jboss.version.50.runtime.name"
              id="org.jboss.ide.eclipse.as.runtime.50"
              version="5.0">
           <moduleType
@@ -221,13 +238,47 @@
           </moduleType>
       </runtimeType>
 
+      <runtimeType
+             vendor="%enterpriseProviderName"
+             class="org.jboss.ide.eclipse.as.core.server.internal.LocalJBossServerRuntime"
+             description="%jboss.eap.version.43.description"
+             name="%jboss.eap.version.43.runtime.name"
+             id="org.jboss.ide.eclipse.as.runtime.eap.43"
+             version="4.3">
+          <moduleType
+                types="jst.web"
+                versions="2.2, 2.3, 2.4, 2.5"/>
+          <moduleType
+                types="jst.ejb"
+                versions="1.0, 1.1, 2.0, 2.1, 3.0"/>
+          <moduleType
+                types="jst.ear"
+                versions="1.2, 1.3, 1.4, 5.0"/>
+          <moduleType
+	         types="jst.connector"
+	         versions="1.0, 1.5"/>
+	      <moduleType
+	         types="jst.utility"
+	         versions="1.0"/>
+          <moduleType
+                types="jboss.package"
+                versions="1.0"/>
+          <moduleType
+               types="jboss.singlefile"
+               versions="1.0"/>
+          <moduleType
+                types="jst.jboss.esb"
+                versions="4.2,4.3,4.4,5.0">
+          </moduleType>
+      </runtimeType>
+
 
 
       <runtimeType
             class="org.jboss.ide.eclipse.as.core.server.internal.DeployableServerRuntime"
-            description="A runtime provided to allow a deploy-only server the ability to deploy certain project types."
+            description="%deploy.runtime.description"
             id="org.jboss.ide.eclipse.as.runtime.stripped"
-            name="JBoss Deploy-Only Runtime"
+            name="%deploy.runtime.name"
             vendor="%providerName"
             version="1.0">
           <moduleType
@@ -389,6 +440,12 @@
             runtimeTypeId="org.jboss.ide.eclipse.as.runtime.stripped"
             runtime-component="org.jboss.ide.eclipse.as.runtime.stripped.component"
             version="1.0"/>
+
+
+      <runtimeFacetMapping
+            runtimeTypeId="org.jboss.ide.eclipse.as.runtime.eap.43"
+            runtime-component="org.jboss.ide.eclipse.as.runtime.component"
+            version="4.3"/>
    </extension>
 
 
@@ -428,8 +485,9 @@
       <runtime-component-version
             type="org.jboss.ide.eclipse.as.runtime.component"
             version="5.0"/>
-
-
+      <runtime-component-version
+            type="org.jboss.ide.eclipse.as.runtime.component"
+            version="4.3"/>
 
 
       <supported>
@@ -483,6 +541,25 @@
        <facet id="jst.ear" version="1.2,1.3,1.4,5.0"/>
        <facet id="jst.appclient" version="1.2,1.3,1.4,5.0"/>
      </supported>
+
+
+
+
+      <supported>
+        <runtime-component
+         	id="org.jboss.ide.eclipse.as.runtime.component"
+         	version="4.3"/>
+       <facet id="jst.web"  version="2.2,2.3,2.4,2.5"/>
+       <facet id="jst.java" version="1.3,1.4,5.0,6.0"/>
+       <facet id="jst.utility" version="1.0"/>
+       <facet id="jst.connector" version="1.0,1.5"/>
+       <facet id="jst.ejb" version="2.0,2.1,3.0"/>
+       <facet id="jst.ear" version="1.2,1.3,1.4,5.0"/>
+       <facet id="jst.appclient" version="1.2,1.3,1.4,5.0"/>
+     </supported>
+
+
+
    </extension>
 
 
Index: jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerListener.java
===================================================================
--- jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerListener.java	(revision 13265)
+++ jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerListener.java	(working copy)
@@ -37,18 +37,26 @@
 		// create metadata area
 		File location = IJBossServerConstants.PLUGIN_LOCATION.append(server.getId().replace(' ', '_')).toFile();
 		location.mkdirs();
-		new File(location, IJBossServerConstants.DEPLOY).mkdir();
-		new File(location, IJBossServerConstants.TEMP_DEPLOY).mkdir();
 		
 		// create temp deploy folder
-		IRuntime rt = server.getRuntime();
-		IJBossServerRuntime jbsrt = (IJBossServerRuntime)rt.loadAdapter(IJBossServerRuntime.class, new NullProgressMonitor());
-		String config = jbsrt.getJBossConfiguration();
-		String newTemp = new Path(IJBossServerConstants.SERVER).append(config)
-			.append(IJBossServerConstants.TMP)
-			.append(IJBossServerConstants.JBOSSTOOLS_TMP).makeRelative().toString();
-		new File(newTemp).mkdirs();
-
+		IDeployableServer ds = (IDeployableServer)server.loadAdapter(IDeployableServer.class, null);
+		if( ds != null ) {
+			File d1 = new File(location, IJBossServerConstants.DEPLOY);
+			File d2 = new File(location, IJBossServerConstants.TEMP_DEPLOY);
+			d1.mkdirs();
+			d2.mkdirs();
+			if( !new File(ds.getDeployFolder()).equals(d1)) 
+				new File(ds.getDeployFolder()).mkdirs();
+			if( !new File(ds.getTempDeployFolder()).equals(d2))
+				new File(ds.getTempDeployFolder()).mkdirs();
+			IRuntime rt = server.getRuntime();
+			IJBossServerRuntime jbsrt = (IJBossServerRuntime)rt.loadAdapter(IJBossServerRuntime.class, new NullProgressMonitor());
+			String config = jbsrt.getJBossConfiguration();
+			String newTemp = new Path(IJBossServerConstants.SERVER).append(config)
+				.append(IJBossServerConstants.TMP)
+				.append(IJBossServerConstants.JBOSSTOOLS_TMP).makeRelative().toString();
+			new File(newTemp).mkdirs();
+		}
 	}
 
 	public void serverRemoved(IServer server) {
Index: jbosscore/org/jboss/ide/eclipse/as/core/extensions/events/ServerLogger.java
===================================================================
--- jbosscore/org/jboss/ide/eclipse/as/core/extensions/events/ServerLogger.java	(revision 13265)
+++ jbosscore/org/jboss/ide/eclipse/as/core/extensions/events/ServerLogger.java	(working copy)
@@ -78,7 +78,7 @@
 	
 	public static File getServerLogFile(IServer server) {
 		File f = server == null ? PLUGIN_LOCATION.toFile() : 
-			PLUGIN_LOCATION.append(server.getId()).append(LOG).toFile();
+			PLUGIN_LOCATION.append(server.getId().replace(' ', '_')).append(LOG).toFile();
 		if( !f.getParentFile().exists() ) 
 			f.getParentFile().mkdirs();
 		return f;
Index: plugin.properties
===================================================================
--- plugin.properties	(revision 13265)
+++ plugin.properties	(working copy)
@@ -1,22 +1,31 @@
 pluginName=JBoss WTP Server Tools Core Plugin
-providerName=JBoss, a division of Red Hat
+providerName=JBoss.org
+enterpriseProviderName=JBoss, a division of Red Hat
 
 # Version Delegates
 jboss.version.32.name=JBoss AS 3.2
-jboss.version.32.version=JBoss 3.2
 jboss.version.32.description=JBoss Application Server 3.2
+jboss.version.32.runtime.name=JBoss 3.2 Runtime
 
 jboss.version.40.name=JBoss AS 4.0
-jboss.version.40.version=JBoss 4.0
 jboss.version.40.description=JBoss Application Server 4.0
+jboss.version.40.runtime.name=JBoss 4.0 Runtime
 
 jboss.version.42.name=JBoss AS 4.2
-jboss.version.42.version=JBoss 4.2
 jboss.version.42.description=JBoss Application Server 4.2
+jboss.version.42.runtime.name=JBoss 4.2 Runtime
 
 jboss.version.50.name=JBoss AS 5.0
-jboss.version.50.version=JBoss 5.0
 jboss.version.50.description=JBoss Application Server 5.0
+jboss.version.50.runtime.name=JBoss 5.0 Runtime
+
+jboss.eap.version.43.name=JBoss EAP 4.3
+jboss.eap.version.43.description=JBoss EAP Server 4.3
+jboss.eap.version.43.runtime.name=JBoss EAP 4.3 Runtime
+
+deploy.runtime.name=JBoss Deploy-Only Runtime
+deploy.runtime.description=A runtime provided to allow a deploy-only server the ability to deploy certain project types.
+
 
 # service names
 jboss.ejb.deployer=JBoss Enterprise JavaBeans (EJB-JAR) Deployer
Index: properties/jboss.eap.43.default.ports.properties
===================================================================
--- properties/jboss.eap.43.default.ports.properties	(revision 0)
+++ properties/jboss.eap.43.default.ports.properties	(revision 0)
@@ -0,0 +1,20 @@
+# As much as possible, try to create file patterns that match
+# as few files as possible. Each matching file *WILL* be scanned 
+# and cached, regardless of if there's a match. 
+
+JNDI=//server/mbean[@name='jboss:service=Naming']/attribute[@name='Port']
+JNDI_FILE=**/jboss-service.xml
+JBoss_Web=//Server/Service[@name='jboss.web']/Connector[count(@sslProtocol) = 0 and (count(@protocol) = 0 or @protocol = 'HTTP/1.1')]
+JBoss_Web_ATTRIBUTE=port
+JBoss_Web_FILE=**/*server.xml
+JNDI_RMI=//server/mbean[@name='jboss:service=Naming']/attribute[@name='RmiPort']
+JNDI_RMI_FILE=**/jboss-service.xml
+Web_Services=//server/mbean[@name='jboss:service=WebService']/attribute[@name='Port']
+JRMP_Invoker=//server/mbean[@name='jboss:service=invoker,type=jrmp']/attribute[@name='RMIObjectPort']
+Pooled_Invoker=//server/mbean[@name='jboss:service=invoker,type=pooled']/attribute[@name='ServerBindPort']
+#HA_JNDI_STUB=//server/mbean[@name='jboss:service=HAJNDI']/attribute[@name='Port']
+#HA_JNDI_RMI=//server/mbean[@name='jboss:service=HAJNDI']/attribute[@name='RmiPort']
+#JRMPA_RMI_OBJECT=//server/mbean[@name='jboss:service=invoker,type=jrmpha']/attribute[@name='RMIObjectPort']
+#CLUSTER_UDP_MCAST=//server/mbean[@name='jboss:service=${jboss.partition.name:DefaultPartition}']/attribute[@name='PartitionConfig']/Config/UDP
+#CLUSTER_UDP_MCAST_ATTRIBUTE=mcast_port
+#Hypersonic=//server/mbean[@name='jboss:service=Hypersonic']/attribute[@name='Port']
#P org.jboss.ide.eclipse.as.classpath.core
Index: src/org/jboss/ide/eclipse/as/classpath/core/runtime/ClientAllRuntimeClasspathProvider.java
===================================================================
--- src/org/jboss/ide/eclipse/as/classpath/core/runtime/ClientAllRuntimeClasspathProvider.java	(revision 13265)
+++ src/org/jboss/ide/eclipse/as/classpath/core/runtime/ClientAllRuntimeClasspathProvider.java	(working copy)
@@ -64,15 +64,12 @@
 		
 		IPath loc = runtime.getLocation();
 		String config = jbsrt.getJBossConfiguration();
-		String version = runtime.getRuntimeType().getVersion();
-		if( "3.2".equals(version))
-			return get32(loc, config);
-		if( "4.0".equals(version))
-			return get40(loc,config);
-		if("4.2".equals(version))
-			return get42(loc,config);
-		if("5.0".equals(version))
-			return get50(loc,config);
+		String rtID  = runtime.getRuntimeType().getId();
+		if("org.jboss.ide.eclipse.as.runtime.32".equals(rtID)) return get32(loc, config);
+		if("org.jboss.ide.eclipse.as.runtime.40".equals(rtID)) return get40(loc,config);
+		if("org.jboss.ide.eclipse.as.runtime.42".equals(rtID)) return get42(loc,config);
+		if("org.jboss.ide.eclipse.as.runtime.50".equals(rtID)) return get50(loc,config);
+		if("org.jboss.ide.eclipse.as.runtime.eap.43".equals(rtID)) return getEAP43(loc,config);
 		return null;
 	}
 	
@@ -99,18 +96,13 @@
 	}
 
 	protected IClasspathEntry[] get42(IPath location, String config) {
-		ArrayList<IClasspathEntry> list = new ArrayList<IClasspathEntry>();
-		IPath configPath = location.append("server").append(config);
-		IPath deployPath = configPath.append("deploy");
-		addEntries(location.append("client"), list);
-		addEntries(location.append("lib"), list);
-		addEntries(configPath.append("lib"), list);
-		addEntries(deployPath.append("jboss-web.deployer").append("jsf-libs"), list);
-		addEntries(deployPath.append("jboss-aop-jdk50.deployer"), list);
-		addEntries(deployPath.append("ejb3.deployer"), list);
-		return list.toArray(new IClasspathEntry[list.size()]);
+		return get40(location, config);
 	}
 
+	protected IClasspathEntry[] getEAP43(IPath location, String config) {
+		return get40(location, config);
+	}
+	
 	protected IClasspathEntry[] get50(IPath location, String config) {
 		ArrayList<IClasspathEntry> list = new ArrayList<IClasspathEntry>();
 		IPath configPath = location.append("server").append(config);
Index: plugin.xml
===================================================================
--- plugin.xml	(revision 13265)
+++ plugin.xml	(working copy)
@@ -39,6 +39,15 @@
       <factory class="org.jboss.ide.eclipse.as.classpath.core.runtime.ProjectRuntimeClasspathProvider$Factory"/>
       <type class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
 	</adapter>
+	
+     <adapter>
+      <runtime-component
+            id="org.jboss.ide.eclipse.as.runtime.component" version="4.3"/>
+      <factory class="org.jboss.ide.eclipse.as.classpath.core.runtime.ProjectRuntimeClasspathProvider$Factory"/>
+      <type class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
+	</adapter>
+	
+	
    </extension>
    
    <extension
@@ -53,7 +62,7 @@
    <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders">
      <runtimeClasspathProvider
         id="org.jboss.ide.eclipse.as.core.server.runtime.runtimeTarget"
-        runtimeTypeIds="org.jboss.ide.eclipse.as.runtime.32, org.jboss.ide.eclipse.as.runtime.40, org.jboss.ide.eclipse.as.runtime.42,org.jboss.ide.eclipse.as.runtime.50"
+        runtimeTypeIds="org.jboss.ide.eclipse.as.runtime.32, org.jboss.ide.eclipse.as.runtime.40, org.jboss.ide.eclipse.as.runtime.42,org.jboss.ide.eclipse.as.runtime.50,org.jboss.ide.eclipse.as.runtime.eap.43"
         class="org.jboss.ide.eclipse.as.classpath.core.runtime.ClientAllRuntimeClasspathProvider"/>
    </extension>
    <extension
