[258191] EE6 Archive support
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_InterestingName_WithDD_Defaults.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_InterestingName_WithDD_Defaults.jar
new file mode 100644
index 0000000..a6350a2
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_InterestingName_WithDD_Defaults.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_InterestingName_WithDD_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_InterestingName_WithDD_NoBuild.jar
new file mode 100644
index 0000000..6319172
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_InterestingName_WithDD_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_InterestingName_WithDD_Source.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_InterestingName_WithDD_Source.jar
new file mode 100644
index 0000000..8afc75c
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_InterestingName_WithDD_Source.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_InterestingName_WithDD_Source_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_InterestingName_WithDD_Source_NoBuild.jar
new file mode 100644
index 0000000..fbc1719
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_InterestingName_WithDD_Source_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_WithDD_Defaults.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_WithDD_Defaults.jar
new file mode 100644
index 0000000..fd2e0a9
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_WithDD_Defaults.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_WithDD_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_WithDD_NoBuild.jar
new file mode 100644
index 0000000..a4ec26d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_WithDD_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_WithDD_Source.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_WithDD_Source.jar
new file mode 100644
index 0000000..7cf87d2
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_WithDD_Source.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_WithDD_Source_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_WithDD_Source_NoBuild.jar
new file mode 100644
index 0000000..5eb844e
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_AddToEAR_WithDD_Source_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_NoDefaultClass_WithDD_Defaults.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_NoDefaultClass_WithDD_Defaults.jar
new file mode 100644
index 0000000..30abbed
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_NoDefaultClass_WithDD_Defaults.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_NoDefaultClass_WithDD_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_NoDefaultClass_WithDD_NoBuild.jar
new file mode 100644
index 0000000..9e98f9b
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_NoDefaultClass_WithDD_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_NoDefaultClass_WithDD_Source.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_NoDefaultClass_WithDD_Source.jar
new file mode 100644
index 0000000..8160341
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_NoDefaultClass_WithDD_Source.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_NoDefaultClass_WithDD_Source_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_NoDefaultClass_WithDD_Source_NoBuild.jar
new file mode 100644
index 0000000..4e10e37
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_NoDefaultClass_WithDD_Source_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_WithDD_Defaults.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_WithDD_Defaults.jar
new file mode 100644
index 0000000..cacb37c
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_WithDD_Defaults.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_WithDD_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_WithDD_NoBuild.jar
new file mode 100644
index 0000000..de17b04
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_WithDD_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_WithDD_Source.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_WithDD_Source.jar
new file mode 100644
index 0000000..fd4e308
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_WithDD_Source.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_WithDD_Source_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_WithDD_Source_NoBuild.jar
new file mode 100644
index 0000000..6849c8c
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/AppClientImportOperationTest/AC60_WithDD_Source_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientExportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientExportOperationTest.java
index d4b7b8b..23049ed 100644
--- a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientExportOperationTest.java
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientExportOperationTest.java
@@ -78,6 +78,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testACExport60_Defaults() throws Exception {
+    	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("jazzyApp", null, JavaEEFacetConstants.APP_CLIENT_6, true, false);
+    	OperationTestCase.runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+
     public void testACExport12_NoDefaultClass() throws Exception{
     	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("randomApp", null, JavaEEFacetConstants.APP_CLIENT_12, false, true);
     	OperationTestCase.runDataModel(dm);
@@ -99,14 +106,20 @@
     	runExportTests_All(dm);
     }
     
-    //TODO this should be added back with an extra step to include a main class manifest entry; otherwise
-    //this test will fail during the verification because the resulting archive is not valid
-//    public void testACExport50_NoDefaultClass() throws Exception {
-//    	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("amazingApp", null, JavaEEFacetConstants.APP_CLIENT_5, false, false);
-//    	OperationTestCase.runDataModel(dm);
-//    	
-//    	runExportTests_All(dm);
-//    }
+    public void testACExport50_NoDefaultClass() throws Exception {
+    	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("amazingApp", null, JavaEEFacetConstants.APP_CLIENT_5, false, false);
+    	OperationTestCase.runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+
+    public void testACExport60_NoDefaultClass() throws Exception {
+    	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("jazzyApp", null, JavaEEFacetConstants.APP_CLIENT_6, false, false);
+    	OperationTestCase.runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+
     
     public void testACExport12_AddToEAR() throws Exception {
     	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("fooAppToEar", "someEar", JavaEEFacetConstants.APP_CLIENT_12, true, true);
@@ -136,6 +149,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testACExport60_AddToEAR() throws Exception {
+    	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("fooAppToEar", "jelloEar", JavaEEFacetConstants.APP_CLIENT_6, true, false);
+    	OperationTestCase.runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+
     public void testACExport12_InterestingName() throws Exception{
     	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("kd3(2k_djfD3", null, JavaEEFacetConstants.APP_CLIENT_12, true, true);
     	OperationTestCase.runDataModel(dm);
@@ -164,6 +184,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testACExport60_InterestingName() throws Exception{
+    	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("EE6_a_1B2c()3D4", null, JavaEEFacetConstants.APP_CLIENT_6, true, false);
+    	OperationTestCase.runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+
     public void testACExport12_AddToEAR_InterestingName() throws Exception{
     	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("kd(32k_djfD)3", "hFdf(8G_Fij))3", JavaEEFacetConstants.APP_CLIENT_12, true, true);
     	OperationTestCase.runDataModel(dm);
@@ -191,6 +218,13 @@
     	
     	runExportTests_All(dm);
     }
+
+    public void testACExport60_AddToEAR_InterestingName() throws Exception{
+    	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("EE6_a1B_2c)3D4", "EE6_4D_3c2)B1a", JavaEEFacetConstants.APP_CLIENT_6, true, false);
+    	OperationTestCase.runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
     
     public void testACExport50_WithDD() throws Exception {
     	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("insaneApp", null, JavaEEFacetConstants.APP_CLIENT_5, true, true);
@@ -199,6 +233,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testACExport60_WithDD() throws Exception {
+    	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("insaneApp6", null, JavaEEFacetConstants.APP_CLIENT_6, true, true);
+    	OperationTestCase.runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+
     public void testACExport50_NoDefaultClass_WithDD() throws Exception {
     	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("insaneApp", null, JavaEEFacetConstants.APP_CLIENT_5, false, true);
     	OperationTestCase.runDataModel(dm);
@@ -206,6 +247,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testACExport60_NoDefaultClass_WithDD() throws Exception {
+    	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("insaneApp6", null, JavaEEFacetConstants.APP_CLIENT_6, false, true);
+    	OperationTestCase.runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+
     public void testACExport50_AddToEAR_WithDD() throws Exception {
     	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("appToEARwithDD", "bigEAR", JavaEEFacetConstants.APP_CLIENT_5, true, true);
     	OperationTestCase.runDataModel(dm);
@@ -213,6 +261,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testACExport60_AddToEAR_WithDD() throws Exception {
+    	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("appToEARwithDD6", "bigEAR6", JavaEEFacetConstants.APP_CLIENT_6, true, true);
+    	OperationTestCase.runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+
     public void testACExport50_AddToEAR_InterestingName_WithDD() throws Exception {
     	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("D875)_DFj", "7D_3cF2)BaQ", JavaEEFacetConstants.APP_CLIENT_5, true, true);
     	OperationTestCase.runDataModel(dm);
@@ -220,6 +275,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testACExport60_AddToEAR_InterestingName_WithDD() throws Exception {
+    	IDataModel dm = AppClientProjectCreationOperationTest.getAppClientCreationDataModel("EE6_D875)_DFj", "EE6_7D_3cF2)BaQ", JavaEEFacetConstants.APP_CLIENT_6, true, true);
+    	OperationTestCase.runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+
     @Override
     protected String getModuleExtension() {
     	return ".jar";
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientImportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientImportOperationTest.java
index cb3be82..82ef5d9 100644
--- a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientImportOperationTest.java
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientImportOperationTest.java
@@ -54,6 +54,12 @@
     	runImportTests_All("AC50_Defaults");
     }
     
+    //TODO -- annotations to scan?
+    //EE6TODO 
+//    public void testACImport60_Defaults() throws Exception {
+//    	runImportTests_All("AC60_Defaults");
+//    }
+    
     public void testACImport12_NoDefaultClass() throws Exception{
     	runImportTests_All("AC12_NoDefaultClass");
     }
@@ -66,10 +72,14 @@
     	runImportTests_All("AC14_NoDefaultClass");
     }
 
-    //TODO this test should be added back, but we need to not fail becaues the versions don't match
-    //The versions currently fail to match because the actual archive type is not an application client.
-//    public void testACImport50_NoDefaultClass() throws Exception {
-//    	runImportTests_All("AC50_NoDefaultClass");
+    public void testACImport50_NoDefaultClass() throws Exception {
+    	runImportTests_All("AC50_NoDefaultClass");
+    }
+    
+    //TODO -- annotations to scan?
+    //EE6TODO 
+//    public void testACImport60_NoDefaultClass() throws Exception {
+//    	runImportTests_All("AC60_NoDefaultClass");
 //    }
     
     public void testACImport12_AddToEAR() throws Exception {
@@ -87,6 +97,12 @@
     public void testACImport50_AddToEAR() throws Exception {
     	runImportTests_All("AC50_AddToEAR");
     }
+
+    //TODO -- annotations to scan?
+    //EE6TODO 
+//    public void testACImport60_AddToEAR() throws Exception {
+//    	runImportTests_All("AC60_AddToEAR");
+//    }
     
     public void testACImport12_InterestingName() throws Exception{
     	runImportTests_All("AC12_InterestingName");
@@ -103,7 +119,13 @@
     public void testACImport50_InterestingName() throws Exception{
     	runImportTests_All("AC50_InterestingName");
     }
-    
+
+    //TODO -- annotations to scan?
+    //EE6TODO 
+//    public void testACImport60_InterestingName() throws Exception{
+//    	runImportTests_All("AC60_InterestingName");
+//    }
+
     public void testACImport12_AddToEAR_InterestingName() throws Exception{
     	runImportTests_All("AC12_AddToEAR_InterestingName");
     }
@@ -119,23 +141,44 @@
     public void testACImport50_AddToEAR_InterestingName() throws Exception{
     	runImportTests_All("AC50_AddToEAR_InterestingName");
     }
+
+    //TODO -- annotations to scan?
+    //EE6TODO 
+//    public void testACImport60_AddToEAR_InterestingName() throws Exception{
+//    	runImportTests_All("AC60_AddToEAR_InterestingName");
+//    }
     
     public void testACImport50_WithDD() throws Exception {
     	runImportTests_All("AC50_WithDD");
     }
-    
+
+    public void testACImport60_WithDD() throws Exception {
+    	runImportTests_All("AC60_WithDD");
+    }
+
     public void testACImport50_NoDefaultClass_WithDD() throws Exception {
     	runImportTests_All("AC50_NoDefaultClass_WithDD");
     }
-    
+
+    public void testACImport60_NoDefaultClass_WithDD() throws Exception {
+    	runImportTests_All("AC60_NoDefaultClass_WithDD");
+    }
+
     public void testACImport50_AddToEAR_WithDD() throws Exception {
     	runImportTests_All("AC50_AddToEAR_WithDD");
     }
+
+    public void testACImport60_AddToEAR_WithDD() throws Exception {
+    	runImportTests_All("AC60_AddToEAR_WithDD");
+    }
     
     public void testACImport50_AddToEAR_InterestingName_WithDD() throws Exception {
     	runImportTests_All("AC50_AddToEAR_InterestingName_WithDD");
     }
     
+    public void testACImport60_AddToEAR_InterestingName_WithDD() throws Exception {
+    	runImportTests_All("AC60_AddToEAR_InterestingName_WithDD");
+    }
     @Override
     protected String getModuleExtension() {
     	return ".jar";