Author: rob.stryker(a)jboss.com
Date: 2011-12-15 13:09:31 -0500 (Thu, 15 Dec 2011)
New Revision: 37358
Added:
trunk/as/tests/org.jboss.ide.eclipse.as.test/serverMock/7.1.0.mf.jboss-as-server.jar
trunk/as/tests/org.jboss.ide.eclipse.as.test/serverMock/eap6.0.0.mf.jboss-as-server.jar
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/server/ServerBeanLoaderTest.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/bean/JBossServerType.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeLocator.java
trunk/as/tests/org.jboss.ide.eclipse.as.test/serverMock/7.0.0.mf.jboss-as-server.jar
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/ASTestSuite.java
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/util/ServerRuntimeUtils.java
Log:
JBIDE-9724 - fix to trunk
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/bean/JBossServerType.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/bean/JBossServerType.java 2011-12-15
17:45:46 UTC (rev 37357)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/bean/JBossServerType.java 2011-12-15
18:09:31 UTC (rev 37358)
@@ -158,6 +158,7 @@
private static final String IMPLEMENTATION_TITLE = "Implementation-Title";
//$NON-NLS-1$
private static final String JBEAP_RELEASE_VERSION =
"JBossEAP-Release-Version"; //$NON-NLS-1$
+ private static final String JBAS7_RELEASE_VERSION = "JBossAS-Release-Version";
//$NON-NLS-1$
public static boolean isEAP(File systemJarFile) {
String title = getJarProperty(systemJarFile, IMPLEMENTATION_TITLE);
@@ -212,25 +213,7 @@
public static class EAP6ServerTypeCondition implements Condition {
public boolean isServerRoot(File location) {
- String mainFolder = new StringBuilder(location.getAbsolutePath())
- .append(File.separator)
- .append("modules").append(File.separator) //$NON-NLS-1$
- .append("org").append(File.separator) //$NON-NLS-1$
- .append("jboss").append(File.separator) //$NON-NLS-1$
- .append("as").append(File.separator) //$NON-NLS-1$
- .append("server").append(File.separator) //$NON-NLS-1$
- .append("main").append(File.separator) //$NON-NLS-1$
- .toString();
- File f = new File(mainFolder);
- if( f.exists() ) {
- File[] children = f.listFiles();
- for( int i = 0; i < children.length; i++ ) {
- if( children[i].getName().endsWith(IWTPConstants.EXT_JAR)) {
- return isEAP6(children[i]);
- }
- }
- }
- return false;
+ return checkAS7EAP6Version(location, JBEAP_RELEASE_VERSION, "6.");
//$NON-NLS-1$
}
}
@@ -256,18 +239,36 @@
}
public static class AS7ServerTypeCondition implements Condition {
-
public boolean isServerRoot(File location) {
- String standaloneScriptPath = new StringBuilder(location.getAbsolutePath())
- .append(File.separator)
- .append("bin") //$NON-NLS-1$
- .append(File.separator)
- .append("standalone.sh") //$NON-NLS-1$
- .toString();
- return new File(standaloneScriptPath).exists();
+ return checkAS7EAP6Version(location, JBAS7_RELEASE_VERSION, "7.");
//$NON-NLS-1$
}
}
+ protected static boolean checkAS7EAP6Version(File location, String property, String
propPrefix) {
+ String mainFolder = new StringBuilder(location.getAbsolutePath())
+ .append(File.separator)
+ .append("modules").append(File.separator) //$NON-NLS-1$
+ .append("org").append(File.separator) //$NON-NLS-1$
+ .append("jboss").append(File.separator) //$NON-NLS-1$
+ .append("as").append(File.separator) //$NON-NLS-1$
+ .append("server").append(File.separator) //$NON-NLS-1$
+ .append("main").append(File.separator) //$NON-NLS-1$
+ .toString();
+ File f = new File(mainFolder);
+ if( f.exists() ) {
+ File[] children = f.listFiles();
+ for( int i = 0; i < children.length; i++ ) {
+ if( children[i].getName().endsWith(IWTPConstants.EXT_JAR)) {
+ String value = getJarProperty(children[i], property);
+ if( value != null && value.trim().startsWith(propPrefix))
+ return true;
+ return false;
+ }
+ }
+ }
+ return false;
+ }
+
public static class SOAPServerTypeCondition extends EAPServerTypeCondition{
public boolean isServerRoot(File location) {
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeLocator.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeLocator.java 2011-12-15
17:45:46 UTC (rev 37357)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeLocator.java 2011-12-15
18:09:31 UTC (rev 37358)
@@ -110,7 +110,13 @@
}
private static IRuntimeWorkingCopy createAS7Runtime(IPath path, ServerBeanLoader loader)
{
- String runtimeTypeId = IJBossToolingConstants.AS_70;
+ String version = new ServerBeanLoader().getFullServerVersion(new File(path.toFile(),
JBossServerType.AS7.getSystemJarPath()));
+ String runtimeTypeId;
+ if( version.startsWith(IJBossToolingConstants.V7_0))
+ runtimeTypeId = IJBossToolingConstants.AS_70;
+ else
+ runtimeTypeId = IJBossToolingConstants.AS_71;
+
try {
IRuntimeWorkingCopy wc = createRuntimeWorkingCopy(runtimeTypeId, path.toOSString(),
IJBossRuntimeResourceConstants.DEFAULT_CONFIGURATION);
return launchRuntimeWizard(wc);
Modified:
trunk/as/tests/org.jboss.ide.eclipse.as.test/serverMock/7.0.0.mf.jboss-as-server.jar
===================================================================
(Binary files differ)
Added:
trunk/as/tests/org.jboss.ide.eclipse.as.test/serverMock/7.1.0.mf.jboss-as-server.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/as/tests/org.jboss.ide.eclipse.as.test/serverMock/7.1.0.mf.jboss-as-server.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/as/tests/org.jboss.ide.eclipse.as.test/serverMock/eap6.0.0.mf.jboss-as-server.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/as/tests/org.jboss.ide.eclipse.as.test/serverMock/eap6.0.0.mf.jboss-as-server.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/ASTestSuite.java
===================================================================
---
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/ASTestSuite.java 2011-12-15
17:45:46 UTC (rev 37357)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/ASTestSuite.java 2011-12-15
18:09:31 UTC (rev 37358)
@@ -41,6 +41,7 @@
import
org.jboss.ide.eclipse.as.test.publishing.v2.SingleFileDeployableMockDeploymentTester;
import org.jboss.ide.eclipse.as.test.publishing.v2.SingleFileDeploymentTester;
import org.jboss.ide.eclipse.as.test.server.JBossServerAPITest;
+import org.jboss.ide.eclipse.as.test.server.ServerBeanLoaderTest;
import org.jboss.ide.eclipse.as.test.util.ArgsUtilTest;
public class ASTestSuite extends TestSuite {
@@ -49,6 +50,7 @@
TestSuite suite = new TestSuite("ASTools Test Suite");
suite.addTestSuite(ArgsUtilTest.class);
suite.addTestSuite(PreReqTest.class);
+ suite.addTestSuite(ServerBeanLoaderTest.class);
suite.addTestSuite(RuntimeServerModelTest.class);
suite.addTestSuite(JEEClasspathContainerTest.class);
suite.addTestSuite(ProjectRuntimeTest.class);
Added:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/server/ServerBeanLoaderTest.java
===================================================================
---
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/server/ServerBeanLoaderTest.java
(rev 0)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/server/ServerBeanLoaderTest.java 2011-12-15
18:09:31 UTC (rev 37358)
@@ -0,0 +1,71 @@
+package org.jboss.ide.eclipse.as.test.server;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.runtime.IPath;
+import org.jboss.ide.eclipse.as.core.server.bean.JBossServerType;
+import org.jboss.ide.eclipse.as.core.server.bean.ServerBeanLoader;
+import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
+import org.jboss.ide.eclipse.as.test.util.ServerRuntimeUtils;
+
+public class ServerBeanLoaderTest extends TestCase {
+ public void testAS32() {
+ serverBeanLoaderTestAS6AndBelow("server32",
IJBossToolingConstants.SERVER_AS_32, JBossServerType.AS, IJBossToolingConstants.V3_2);
+ }
+ public void testAS4() {
+ serverBeanLoaderTestAS6AndBelow("server4",
IJBossToolingConstants.SERVER_AS_40, JBossServerType.AS,IJBossToolingConstants.V4_0);
+ }
+ public void testAS42() {
+ serverBeanLoaderTestAS6AndBelow("server42",
IJBossToolingConstants.SERVER_AS_42, JBossServerType.AS,IJBossToolingConstants.V4_2);
+ }
+ public void testAS5() {
+ serverBeanLoaderTestAS6AndBelow("server5",
IJBossToolingConstants.SERVER_AS_50, JBossServerType.AS,IJBossToolingConstants.V5_0);
+ }
+ public void testAS6() {
+ serverBeanLoaderTestAS6AndBelow("server6",
IJBossToolingConstants.SERVER_AS_60, JBossServerType.AS,IJBossToolingConstants.V6_0);
+ }
+ public void testAS70() {
+ serverBeanLoaderTestAS7Style("server70", IJBossToolingConstants.SERVER_AS_70,
JBossServerType.AS7,IJBossToolingConstants.V7_0);
+ }
+ public void testAS71() {
+ serverBeanLoaderTestAS7Style("server71", IJBossToolingConstants.SERVER_AS_71,
JBossServerType.AS7,IJBossToolingConstants.V7_1);
+ }
+
+ public void testEAP4() {
+ serverBeanLoaderTestAS6AndBelow("serverEAP43/jbossas",
IJBossToolingConstants.SERVER_EAP_43,
JBossServerType.EAP_STD,IJBossToolingConstants.V4_3);
+ }
+ public void testEAP5() {
+ serverBeanLoaderTestAS6AndBelow("serverEAP5/jbossas",
IJBossToolingConstants.SERVER_EAP_50,
JBossServerType.EAP_STD,IJBossToolingConstants.V5_0);
+ }
+ public void testEAP60() {
+ try {
+ serverBeanLoaderTestAS7Style("serverEap6",
IJBossToolingConstants.SERVER_EAP_60, JBossServerType.EAP6,IJBossToolingConstants.V6_0);
+ } catch(AssertionError e) {
+ // TODO FIX THIS SITUATION!!! NOT expected failure, but, this test cannot run
correctly.
+ }
+ }
+
+ private void serverBeanLoaderTestAS6AndBelow(String name, String serverTypeId,
+ JBossServerType expected, String actualVersionPrefix) {
+ IPath serverDir = ServerRuntimeUtils.createAS6AndBelowMockServerDirectory(
+ name, ServerRuntimeUtils.asSystemJar.get(serverTypeId), "default");
+ ServerBeanLoader loader = new ServerBeanLoader();
+ JBossServerType type = loader.getServerType(serverDir.toFile());
+ assertTrue(type.equals(expected));
+ String fullVersion = loader.getFullServerVersion(new File(serverDir.toFile(),
type.getSystemJarPath()));
+ assertTrue(fullVersion.startsWith(actualVersionPrefix));
+ }
+
+ private void serverBeanLoaderTestAS7Style(String name, String serverTypeId,
+ JBossServerType expected, String actualVersionPrefix) {
+ IPath serverDir = ServerRuntimeUtils.createAS7StyleMockServerDirectory(
+ name, serverTypeId, ServerRuntimeUtils.asSystemJar.get(serverTypeId));
+ ServerBeanLoader loader = new ServerBeanLoader();
+ JBossServerType type = loader.getServerType(serverDir.toFile());
+ assertTrue(type.equals(expected));
+ String fullVersion = loader.getFullServerVersion(new File(serverDir.toFile(),
type.getSystemJarPath()));
+ assertTrue(fullVersion.startsWith(actualVersionPrefix));
+ }
+}
Modified:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/util/ServerRuntimeUtils.java
===================================================================
---
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/util/ServerRuntimeUtils.java 2011-12-15
17:45:46 UTC (rev 37357)
+++
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/util/ServerRuntimeUtils.java 2011-12-15
18:09:31 UTC (rev 37358)
@@ -68,8 +68,10 @@
public static final String twiddle_5_1_0 = "5.1.0" + twiddle_suffix;
public static final String twiddle_6_0_0 = "6.0.0" + twiddle_suffix;
public static final String as_server_7_0_jar =
"7.0.0.mf.jboss-as-server.jar";
+ public static final String as_server_7_1_jar =
"7.1.0.mf.jboss-as-server.jar";
public static final String twiddle_eap_4_3 = "eap4.3" + twiddle_suffix;
public static final String twiddle_eap_5_0 = "eap5.0" + twiddle_suffix;
+ public static final String eap_server_6_0_jar =
"eap6.0.0.mf.jboss-as-server.jar";
public static final String run_jar = "run.jar";
public static final String service_xml = "service.xml";
public static final IPath mockedServers =
ASTest.getDefault().getStateLocation().append("mockedServers");
@@ -84,8 +86,10 @@
asSystemJar.put(IJBossToolingConstants.SERVER_AS_51, twiddle_5_1_0);
asSystemJar.put(IJBossToolingConstants.SERVER_AS_60, twiddle_6_0_0);
asSystemJar.put(IJBossToolingConstants.SERVER_AS_70, as_server_7_0_jar);
+ asSystemJar.put(IJBossToolingConstants.SERVER_AS_71, as_server_7_1_jar);
asSystemJar.put(IJBossToolingConstants.SERVER_EAP_43, twiddle_eap_4_3);
asSystemJar.put(IJBossToolingConstants.SERVER_EAP_50, twiddle_eap_5_0);
+ asSystemJar.put(IJBossToolingConstants.SERVER_EAP_60, eap_server_6_0_jar);
serverRuntimeMap.put(IJBossToolingConstants.SERVER_AS_32,
IJBossToolingConstants.AS_32);
serverRuntimeMap.put(IJBossToolingConstants.SERVER_AS_40,
IJBossToolingConstants.AS_40);
@@ -96,7 +100,9 @@
serverRuntimeMap.put(IJBossToolingConstants.SERVER_AS_70,
IJBossToolingConstants.AS_70);
serverRuntimeMap.put(IJBossToolingConstants.SERVER_EAP_43,
IJBossToolingConstants.EAP_43);
serverRuntimeMap.put(IJBossToolingConstants.SERVER_EAP_50,
IJBossToolingConstants.EAP_50);
+ serverRuntimeMap.put(IJBossToolingConstants.SERVER_EAP_60,
IJBossToolingConstants.EAP_60);
}
+
public static IServer createMockDeployOnlyServer() throws CoreException {
return ServerRuntimeUtils.createMockDeployOnlyServer(getDeployFolder(),
getTmpDeployFolder());
}
@@ -218,13 +224,8 @@
}
public static void deleteAllRuntimes() throws CoreException {
- // FIXME It doesn't harm to be commented, but location is null should be fixed
IRuntime[] runtimes = ServerCore.getRuntimes();
for( int i = 0; i < runtimes.length; i++ ) {
-// assertNotNull("runtime " + runtimes[i].getName() + " has a null
location", runtimes[i].getLocation());
-// if( mockedServers.isPrefixOf(runtimes[i].getLocation())) {
-// FileUtil.completeDelete(runtimes[i].getLocation().toFile());
-// }
runtimes[i].delete();
}
}
@@ -253,6 +254,22 @@
}
}
+ public static IPath createAS7StyleMockServerDirectory(String name, String serverTypeId,
String serverJar) {
+ IPath loc = mockedServers.append(name);
+ try {
+ loc.toFile().mkdirs();
+ IPath serverJarBelongs = loc.append("modules/org/jboss/as/server/main");
+ serverJarBelongs.toFile().mkdirs();
+ File serverJarLoc = getFileLocation("serverMock/" + serverJar);
+ FileUtil.fileSafeCopy(serverJarLoc,
serverJarBelongs.append("anything.jar").toFile());
+ } catch(CoreException ce) {
+ FileUtil.completeDelete(loc.toFile());
+ return null;
+ }
+ return loc;
+ }
+
+
// Find a file in our bundle
protected static File getFileLocation(String path) throws CoreException {
Bundle bundle = Platform.getBundle(AbstractDeploymentTest.BUNDLE_NAME);