Tests: start towards fixing
o.e.o.otdt.tests.otmodel.anonymousinnerclass.rolelevel.internal.AllTests

- includes fixing a TODO re detecting role-local types as roles
diff --git a/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/core/OTModelManager.java b/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/core/OTModelManager.java
index cc38e14..33cbd8a 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/core/OTModelManager.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/core/OTModelManager.java
@@ -103,72 +103,52 @@
 	{
 		IJavaElement parent = elem.getParent();
 		IOTType result = null; 
-				
-		switch (parent.getElementType())
-		{
-		    case IJavaElement.COMPILATION_UNIT:
-		    case IJavaElement.CLASS_FILE:
-		    	if(isRoleFile)
-				{   //  could also be a teeam, which is handled inside the constructor
-		    		if (elem.isBinary())
-		    		{
-			        	MAPPING.addOTElement( result = new BinaryRoleType(elem, 
-								parent, 
-								typeDeclFlags, 
-								baseClassName,
-								baseClassAnchor));
-		    		}
-		    		else
-		    		{
-			        	MAPPING.addOTElement( result = new RoleFileType(elem, 
-								parent, 
-								typeDeclFlags, 
-								baseClassName,
-								baseClassAnchor));
-		    		}
-				} 
-		    	else if (TypeHelper.isTeam(typeDeclFlags))
-				{
-					MAPPING.addOTElement( result = new OTType(IOTJavaElement.TEAM, elem, null, typeDeclFlags) );
-				}
-				break;
-		    case IJavaElement.TYPE:
-				IType   encType   = (IType)parent;
-				IOTType otmParent = MAPPING.getOTElement(encType); 
-					
-				result = maybeAddRoleType(elem, otmParent, typeDeclFlags, baseClassName, baseClassAnchor);			
-	    		break;
-	    	//do nothing if anonymous type
-	    	case IJavaElement.METHOD:	    		
-	    		break;
-	    	case IJavaElement.INITIALIZER:
-	    		break;
-	    	case IJavaElement.FIELD:
-				break;
-//TODO (jwl) Wether anonymous types are roles or not will be discoverable with 
-//	    	 a future implementation (probably with the help of a newer version of the compiler)
-	    		
-//		    	case IJavaElement.METHOD:
-//	    	    IMethod encMethod   = (IMethod)parent;
-//	    	    otmParent = MAPPING.getOTElement(encMethod.getDeclaringType());
-//	    	    
-//	    	    addRoleType(elem, otmParent, typeDeclFlags, baseClassName);
-//	    	    break;
-//		    case IJavaElement.INITIALIZER:
-//	    	    IInitializer encInitializer   = (IInitializer)parent;
-//	    	    otmParent = MAPPING.getOTElement(encInitializer.getDeclaringType());
-//	    	    
-//	    	    addRoleType(elem, otmParent, typeDeclFlags, baseClassName);
-//	    	    break;
-//	    	case IJavaElement.FIELD:
-//	    	    IField encField   = (IField)parent;
-//	    	    otmParent = MAPPING.getOTElement(encField.getDeclaringType());
-//	    	    
-//	    	    addRoleType(elem, otmParent, typeDeclFlags, baseClassName);
-//	    	    break;
-		    default:
-		    	new Throwable("Warning: unexpected parent for OT element: " + parent).printStackTrace(); //$NON-NLS-1$
-		    	break;
+
+		while (parent != null) {
+			switch (parent.getElementType())
+			{
+			    case IJavaElement.COMPILATION_UNIT:
+			    case IJavaElement.CLASS_FILE:
+			    	if(isRoleFile)
+					{   //  could also be a teeam, which is handled inside the constructor
+			    		if (elem.isBinary())
+			    		{
+				        	MAPPING.addOTElement( result = new BinaryRoleType(elem, 
+									parent, 
+									typeDeclFlags, 
+									baseClassName,
+									baseClassAnchor));
+			    		}
+			    		else
+			    		{
+				        	MAPPING.addOTElement( result = new RoleFileType(elem, 
+									parent, 
+									typeDeclFlags, 
+									baseClassName,
+									baseClassAnchor));
+			    		}
+					} 
+			    	else if (TypeHelper.isTeam(typeDeclFlags))
+					{
+						MAPPING.addOTElement( result = new OTType(IOTJavaElement.TEAM, elem, null, typeDeclFlags) );
+					}
+					return result;
+			    case IJavaElement.TYPE:
+					IType   encType   = (IType)parent;
+					IOTType otmParent = MAPPING.getOTElement(encType); 
+						
+					return maybeAddRoleType(elem, otmParent, typeDeclFlags, baseClassName, baseClassAnchor);			
+		    	case IJavaElement.METHOD:
+		    		break;
+		    	case IJavaElement.INITIALIZER:
+		    		break;
+		    	case IJavaElement.FIELD:
+					break;
+			    default:
+			    	new Throwable("Warning: unexpected parent for OT element: " + parent).printStackTrace(); //$NON-NLS-1$
+			    	return result;
+			}
+			parent = parent.getParent();
 		}
 		return result;
 	}
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/model/org/eclipse/objectteams/otdt/tests/otmodel/anonymousinnerclass/rolelevel/internal/Test3a.java b/testplugins/org.eclipse.objectteams.otdt.tests/model/org/eclipse/objectteams/otdt/tests/otmodel/anonymousinnerclass/rolelevel/internal/Test3a.java
index a208ecb..cefbf8d 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/model/org/eclipse/objectteams/otdt/tests/otmodel/anonymousinnerclass/rolelevel/internal/Test3a.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/model/org/eclipse/objectteams/otdt/tests/otmodel/anonymousinnerclass/rolelevel/internal/Test3a.java
@@ -44,7 +44,7 @@
 public class Test3a extends AttributeAssignmentTest
 {
 
-    private final String ANONYMOUS_MAPPING_NAME = "roleMethod() <- baseMethod()";
+    private final String ANONYMOUS_MAPPING_NAME = "roleMethod <- baseMethod";
     private final String SUPERROLE_NAME = "Role1"; 
     private final String MAPPED_ROLEMETHOD_NAME = "roleMethod";
     private final String BASE_PKG = SRC_FOLDER + "." + "basepkg";
@@ -188,7 +188,7 @@
         IMethodMapping[] mappings = role.getMethodMappings();
         assertNotNull(mappings);
         assertTrue(mappings.length == 1);
-        assertEquals(mappings[0].getElementName(), ANONYMOUS_MAPPING_NAME);
+        assertEquals(ANONYMOUS_MAPPING_NAME, mappings[0].getElementName());
         
         assertTrue(mappings[0] instanceof ICallinMapping);
         ICallinMapping callinMapping = (ICallinMapping) mappings[0];
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test1_SampleTeam.java b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test1_SampleTeam.java
index dc97dd0..b0c994a 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test1_SampleTeam.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test1_SampleTeam.java
@@ -1,6 +1,7 @@
+package rolelevelinternal.teampkg;
+
 import rolelevelinternal.ordinarypkg.OrdinaryClass;
 
-package rolelevelinternal.teampkg;
 
 /**
  * $Id: Test1_SampleTeam.java 5955 2005-06-21 16:04:55Z haebor $
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test2_SampleTeam.java b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test2_SampleTeam.java
index eb14a9e..b80881e 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test2_SampleTeam.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test2_SampleTeam.java
@@ -1,7 +1,7 @@
-import rolelevelinternal.ordinarypkg.OrdinaryClass;
-
 package rolelevelinternal.teampkg;
 
+import rolelevelinternal.ordinarypkg.OrdinaryClass;
+
 /**
  * $Id: Test2_SampleTeam.java 5955 2005-06-21 16:04:55Z haebor $
  * 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test3a_SampleTeam.java b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test3a_SampleTeam.java
index 18ba855..b6c3382 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test3a_SampleTeam.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test3a_SampleTeam.java
@@ -1,7 +1,7 @@
-import rolelevelinternal.basepkg.SampleBase;
-
 package rolelevelinternal.teampkg;
 
+import rolelevelinternal.basepkg.SampleBase;
+
 /**
  * $Id: Test3a_SampleTeam.java 5955 2005-06-21 16:04:55Z haebor $
  * 
@@ -12,7 +12,7 @@
  */
 public team class Test3a_SampleTeam
 {
-    public class Role1 playedBy SampleBase \n"
+    public class Role1 playedBy SampleBase
     {
 	    public void roleMethod() {}
 	}
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test3b_SampleTeam.java b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test3b_SampleTeam.java
index b0a9983..9fdf0ec 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test3b_SampleTeam.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test3b_SampleTeam.java
@@ -1,7 +1,7 @@
-import rolelevelinternal.basepkg.SampleBase;
-
 package rolelevelinternal.teampkg;
 
+import rolelevelinternal.basepkg.SampleBase;
+
 /**
  * $Id: Test3b_SampleTeam.java 5955 2005-06-21 16:04:55Z haebor $
  * 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test4_SampleTeam.java b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test4_SampleTeam.java
index cab4796..c016383 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test4_SampleTeam.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test4_SampleTeam.java
@@ -1,7 +1,7 @@
-import rolelevelinternal.basepkg.SampleBase;
-
 package rolelevelinternal.teampkg;
 
+import rolelevelinternal.basepkg.SampleBase;
+
 /**
  * $Id: Test4_SampleTeam.java 5955 2005-06-21 16:04:55Z haebor $
  * 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test78_TeamA.java b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test78_TeamA.java
index f54ca17..4ad0cd0 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test78_TeamA.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test78_TeamA.java
@@ -1,7 +1,7 @@
-import rolelevelinternal.basepkg.SampleBase;
-
 package rolelevelinternal.teampkg;
 
+import rolelevelinternal.basepkg.SampleBase;
+
 /**
  * $Id: Test78_TeamA.java 5955 2005-06-21 16:04:55Z haebor $
  */
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test7_TeamB.java b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test7_TeamB.java
index d0193ab..d272c24 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test7_TeamB.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test7_TeamB.java
@@ -1,7 +1,7 @@
-import rolelevelinternal.basepkg.SampleBase;
-
 package rolelevelinternal.teampkg;
 
+import rolelevelinternal.basepkg.SampleBase;
+
 /**
  * $Id: Test7_TeamB.java 5955 2005-06-21 16:04:55Z haebor $
  * 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test8_TeamB.java b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test8_TeamB.java
index 6ad37cb..77a25f5 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test8_TeamB.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/rolelevelinternal/rolelevelinternal/teampkg/Test8_TeamB.java
@@ -1,7 +1,7 @@
-import rolelevelinternal.basepkg.SampleBase;
-
 package rolelevelinternal.teampkg;
 
+import rolelevelinternal.basepkg.SampleBase;
+
 /**
  * $Id: Test8_TeamB.java 5955 2005-06-21 16:04:55Z haebor $
  *