diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_Defaults_WithDD_Defaults.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_Defaults_WithDD_Defaults.jar
new file mode 100644
index 0000000..183137e
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_Defaults_WithDD_Defaults.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_Defaults_WithDD_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_Defaults_WithDD_NoBuild.jar
new file mode 100644
index 0000000..99e278a
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_Defaults_WithDD_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_Defaults_WithDD_Source.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_Defaults_WithDD_Source.jar
new file mode 100644
index 0000000..3fdead6
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_Defaults_WithDD_Source.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_Defaults_WithDD_Source_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_Defaults_WithDD_Source_NoBuild.jar
new file mode 100644
index 0000000..aa208aa
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_Defaults_WithDD_Source_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD_Defaults.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD_Defaults.jar
new file mode 100644
index 0000000..17d5b5c
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD_Defaults.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD_NoBuild.jar
new file mode 100644
index 0000000..0422489
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD_Source.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD_Source.jar
new file mode 100644
index 0000000..274aaf5
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD_Source.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD_Source_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD_Source_NoBuild.jar
new file mode 100644
index 0000000..9fd3d2c
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD_Source_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_WithDD_Defaults.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_WithDD_Defaults.jar
new file mode 100644
index 0000000..af93e19
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_WithDD_Defaults.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_WithDD_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_WithDD_NoBuild.jar
new file mode 100644
index 0000000..8342436
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_WithDD_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_WithDD_Source.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_WithDD_Source.jar
new file mode 100644
index 0000000..a88a79e
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_WithDD_Source.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_WithDD_Source_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_WithDD_Source_NoBuild.jar
new file mode 100644
index 0000000..d19297e
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientName_WithDD_Source_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientSourceFolder_WithDD_Defaults.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientSourceFolder_WithDD_Defaults.jar
new file mode 100644
index 0000000..c9f8808
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientSourceFolder_WithDD_Defaults.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientSourceFolder_WithDD_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientSourceFolder_WithDD_NoBuild.jar
new file mode 100644
index 0000000..46f09c5
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientSourceFolder_WithDD_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientSourceFolder_WithDD_Source.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientSourceFolder_WithDD_Source.jar
new file mode 100644
index 0000000..2346692
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientSourceFolder_WithDD_Source.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientSourceFolder_WithDD_Source_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientSourceFolder_WithDD_Source_NoBuild.jar
new file mode 100644
index 0000000..da365c3
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_DiffClientSourceFolder_WithDD_Source_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_NoClient_WithDD_Defaults.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_NoClient_WithDD_Defaults.jar
new file mode 100644
index 0000000..ffcaa28
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_NoClient_WithDD_Defaults.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_NoClient_WithDD_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_NoClient_WithDD_NoBuild.jar
new file mode 100644
index 0000000..5f7dde6
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_NoClient_WithDD_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_NoClient_WithDD_Source.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_NoClient_WithDD_Source.jar
new file mode 100644
index 0000000..26cb865
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_NoClient_WithDD_Source.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_NoClient_WithDD_Source_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_NoClient_WithDD_Source_NoBuild.jar
new file mode 100644
index 0000000..38db407
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_AddToEAR_NoClient_WithDD_Source_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_Defaults_WithDD_Defaults.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_Defaults_WithDD_Defaults.jar
new file mode 100644
index 0000000..dd0647d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_Defaults_WithDD_Defaults.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_Defaults_WithDD_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_Defaults_WithDD_NoBuild.jar
new file mode 100644
index 0000000..2592c8b
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_Defaults_WithDD_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_Defaults_WithDD_Source.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_Defaults_WithDD_Source.jar
new file mode 100644
index 0000000..731966f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_Defaults_WithDD_Source.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_Defaults_WithDD_Source_NoBuild.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_Defaults_WithDD_Source_NoBuild.jar
new file mode 100644
index 0000000..2e2d5c3
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/JEEImportOperationTests/EJBImportOperationTest/EJB31_Defaults_WithDD_Source_NoBuild.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBExportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBExportOperationTest.java
index a08db22..478e19a 100644
--- a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBExportOperationTest.java
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBExportOperationTest.java
@@ -269,6 +269,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testEJBExport31_Defaults_WithDD() throws Exception {
+    	IDataModel dm = EJBProjectCreationOperationTest.getEJBDataModel("EE6tigerEJB", null, null, null, JavaEEFacetConstants.EJB_31, true);
+    	runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+    
     public void testEJBExport30_AddToEAR_Defaults_WithDD() throws Exception {
     	IDataModel dm = EJBProjectCreationOperationTest.getEJBDataModel("pandaEJB", null, null, "roundEAR", JavaEEFacetConstants.EJB_3, true);
     	runDataModel(dm);
@@ -276,6 +283,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testEJBExport31_AddToEAR_Defaults_WithDD() throws Exception {
+    	IDataModel dm = EJBProjectCreationOperationTest.getEJBDataModel("EE6pandaEJB", null, null, "EE6roundEAR", JavaEEFacetConstants.EJB_31, true);
+    	runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+    
     public void testEJBExport30_AddToEAR_NoClient_WithDD() throws Exception {
     	IDataModel dm = EJBProjectCreationOperationTest.getEJBDataModel("netoEJB", null, null, "myEAR", JavaEEFacetConstants.EJB_3, false, true);
     	runDataModel(dm);
@@ -283,6 +297,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testEJBExport31_AddToEAR_NoClient_WithDD() throws Exception {
+    	IDataModel dm = EJBProjectCreationOperationTest.getEJBDataModel("EE6netoEJB", null, null, "EE6myEAR", JavaEEFacetConstants.EJB_31, false, true);
+    	runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+
     public void testEJBExport30_AddToEAR_ChangedEJBClientName_WithDD() throws Exception {
     	IDataModel dm = EJBProjectCreationOperationTest.getEJBDataModel("snakeEJB", "client", null, "groundEAR", JavaEEFacetConstants.EJB_3, true);
     	runDataModel(dm);
@@ -290,6 +311,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testEJBExport31_AddToEAR_ChangedEJBClientName_WithDD() throws Exception {
+    	IDataModel dm = EJBProjectCreationOperationTest.getEJBDataModel("EE6snakeEJB", "EE6client", null, "EE6groundEAR", JavaEEFacetConstants.EJB_31, true);
+    	runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+
     public void testEJBExport30_AddToEAR_ChangedClientSourceFolder_WithDD() throws Exception {
     	IDataModel dm = EJBProjectCreationOperationTest.getEJBDataModel("lionEJB", null, "barSrc", "pinEAR", JavaEEFacetConstants.EJB_3, true);
     	runDataModel(dm);
@@ -297,6 +325,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testEJBExport31_AddToEAR_ChangedClientSourceFolder_WithDD() throws Exception {
+    	IDataModel dm = EJBProjectCreationOperationTest.getEJBDataModel("EE6lionEJB", null, "EE6barSrc", "EE6pinEAR", JavaEEFacetConstants.EJB_31, true);
+    	runDataModel(dm);
+    	
+    	runExportTests_All(dm);
+    }
+    
     public void testEJBExport30_AddToEAR_ChangedEJBClientName_ChangedClientSourceFolder_WithDD() throws Exception {
     	IDataModel dm = EJBProjectCreationOperationTest.getEJBDataModel("monkeyEJB", "fooFooClient", "fooSrc", "outsideEAR", JavaEEFacetConstants.EJB_3, true);
     	runDataModel(dm);
@@ -304,6 +339,13 @@
     	runExportTests_All(dm);
     }
     
+    public void testEJBExport31_AddToEAR_ChangedEJBClientName_ChangedClientSourceFolder_WithDD() throws Exception {
+    	IDataModel dm = EJBProjectCreationOperationTest.getEJBDataModel("EE6monkeyEJB", "EE6fooFooClient", "EE6fooSrc", "EE6outsideEAR", JavaEEFacetConstants.EJB_31, true);
+    	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/ejb/operations/EJBImportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBImportOperationTest.java
index 60ed4ca..9fc46dc 100644
--- a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBImportOperationTest.java
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBImportOperationTest.java
@@ -64,7 +64,11 @@
     public void testEJBImport30_Defaults() throws Exception {
 		runImportTests_All("EJB30_Defaults");
     }
-    
+    //TODO -- annotations to scan?
+    //EE6TODO 
+//    public void testEJBImport31_Defaults() throws Exception {
+//		runImportTests_All("EJB31_Defaults");
+//    }
     
     public void testEJBImport11_AddToEAR_Defaults() throws Exception {
 		runImportTests_All("EJB11_AddToEAR_Defaults");
@@ -82,6 +86,9 @@
 		runImportTests_All("EJB30_AddToEAR_Defaults");
     }
     
+    public void testEJBImport31_AddToEAR_Defaults() throws Exception {
+		runImportTests_All("EJB30_AddToEAR_Defaults");
+    }
     
     public void testEJBImport11_AddToEAR_NoClient() throws Exception {
 		runImportTests_All("EJB11_AddToEAR_NoClient");
@@ -99,6 +106,11 @@
 		runImportTests_All("EJB30_AddToEAR_NoClient");
     }
     
+    //TODO -- annotations to scan?
+    //EE6TODO 
+//    public void testEJBImport31_AddToEAR_NoClient() throws Exception {
+//		runImportTests_All("EJB31_AddToEAR_NoClient");
+//    }
     
     public void testEJBImport11_AddToEAR_DiffClientName() throws Exception {
 		runImportTests_All("EJB11_AddToEAR_DiffClientName");
@@ -116,6 +128,11 @@
 		runImportTests_All("EJB30_AddToEAR_DiffClientName");
     }
     
+    //TODO -- annotations to scan?
+    //EE6TODO 
+//    public void testEJBImport31_AddToEAR_DifClientName() throws Exception {
+//		runImportTests_All("EJB31_AddToEAR_DiffClientName");
+//    }
     
     public void testEJBImport11_AddToEAR_DiffClientSourceFolder() throws Exception {
 		runImportTests_All("EJB11_AddToEAR_DiffClientSourceFolder");
@@ -133,6 +150,11 @@
 		runImportTests_All("EJB30_AddToEAR_DiffClientSourceFolder");
     }
     
+    //TODO -- annotations to scan?
+    //EE6TODO 
+//    public void testEJBImport31_AddToEAR_DiffClientSourceFolder() throws Exception {
+//		runImportTests_All("EJB31_AddToEAR_DiffClientSourceFolder");
+//    }
     
     public void testEJBImport11_AddToEAR_DiffClientName_DiffClientSourceFolder() throws Exception {
 		runImportTests_All("EJB11_AddToEAR_DiffClientName_DiffClientSourceFolder");
@@ -149,33 +171,60 @@
     public void testEJBImport30_AddToEAR_DiffClientName_DiffClientSourceFolder() throws Exception {
 		runImportTests_All("EJB30_AddToEAR_DiffClientName_DiffClientSourceFolder");
     }
-    
-    
+
+    //TODO -- annotations to scan?
+    //EE6TODO 
+//    public void testEJBImport31_AddToEAR_DiffClientName_DiffClientSourceFolder() throws Exception {
+//		runImportTests_All("EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder");
+//    }
     
     public void testEJBImport30_Defaults_WithDD() throws Exception {
 		runImportTests_All("EJB30_Defaults_WithDD");
     }
     
+    public void testEJBImport31_Defaults_WithDD() throws Exception {
+		runImportTests_All("EJB31_Defaults_WithDD");
+    }
+    
     public void testEJBImport30_AddToEAR_Defaults_WithDD() throws Exception {
 		runImportTests_All("EJB30_AddToEAR_Defaults_WithDD");
     }
     
+    public void testEJBImport31_AddToEAR_Defaults_WithDD() throws Exception {
+		runImportTests_All("EJB31_AddToEAR_Defaults_WithDD");
+    }
+    
     public void testEJBImport30_AddToEAR_NoClient_WithDD() throws Exception {
 		runImportTests_All("EJB30_AddToEAR_NoClient_WithDD");
     }
     
+    public void testEJBImport31_AddToEAR_NoClient_WithDD() throws Exception {
+		runImportTests_All("EJB31_AddToEAR_NoClient_WithDD");
+    }
+    
     public void testEJBImport30_AddToEAR_DiffClientName_WithDD() throws Exception {
 		runImportTests_All("EJB30_AddToEAR_DiffClientName_WithDD");
     }
     
+    public void testEJBImport31_AddToEAR_DiffClientName_WithDD() throws Exception {
+		runImportTests_All("EJB31_AddToEAR_DiffClientName_WithDD");
+    }
+    
     public void testEJBImport30_AddToEAR_DiffClientSourceFolder_WithDD() throws Exception {
 		runImportTests_All("EJB30_AddToEAR_DiffClientSourceFolder_WithDD");
     }
     
+    public void testEJBImport31_AddToEAR_DiffClientSourceFolder_WithDD() throws Exception {
+		runImportTests_All("EJB31_AddToEAR_DiffClientSourceFolder_WithDD");
+    }
+    
     public void testEJBImport30_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD() throws Exception {
 		runImportTests_All("EJB30_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD");
     }
 	
+    public void testEJBImport31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD() throws Exception {
+		runImportTests_All("EJB31_AddToEAR_DiffClientName_DiffClientSourceFolder_WithDD");
+    }
     
 	@Override
 	protected IDataModel getImportDataModel(String filePath, String projectName, IDataModel creationModel, boolean closeArchiveOnDispose) {
