Merged with tools changes
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/oxm/OxmXmlBindings.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/oxm/OxmXmlBindings.java
index 2e2e356..e59c75c 100644
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/oxm/OxmXmlBindings.java
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/oxm/OxmXmlBindings.java
@@ -9,7 +9,7 @@
  *******************************************************************************/

 package org.eclipse.jpt.jaxb.eclipselink.core.context.oxm;
 
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;

+import org.eclipse.jpt.common.utility.iterable.ListIterable;

 import org.eclipse.jpt.jaxb.core.context.JaxbContextNode;

 import org.eclipse.jpt.jaxb.eclipselink.core.context.ELXmlAccessOrderHolder;

 import org.eclipse.jpt.jaxb.eclipselink.core.context.ELXmlAccessTypeHolder;

diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmJavaTypeImpl.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmJavaTypeImpl.java
index 1339f51..abe2d76 100644
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmJavaTypeImpl.java
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmJavaTypeImpl.java
@@ -9,7 +9,7 @@
  *******************************************************************************/

 package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.oxm;
 

-import org.eclipse.jpt.common.utility.internal.ClassName;

+import org.eclipse.jpt.common.utility.internal.TypeDeclarationTools;

 import org.eclipse.jpt.jaxb.core.internal.context.AbstractJaxbContextNode;

 import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmJavaType;

 import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmXmlBindings;

@@ -82,6 +82,6 @@
 	}

 	

 	public String getSimpleName() {

-		return ClassName.getSimpleName(this.qualifiedName);

+		return TypeDeclarationTools.simpleName(this.qualifiedName);

 	}

 }
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmXmlBindingsImpl.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmXmlBindingsImpl.java
index d6a88f3..57959d4 100644
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmXmlBindingsImpl.java
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmXmlBindingsImpl.java
@@ -10,10 +10,12 @@
 package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.oxm;
 
 import org.eclipse.jpt.common.core.utility.TextRange;

+import org.eclipse.jpt.common.utility.internal.ClassNameTools;

+import org.eclipse.jpt.common.utility.internal.ObjectTools;

 import org.eclipse.jpt.common.utility.internal.StringTools;

-import org.eclipse.jpt.common.utility.internal.Tools;

-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;

-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;

+import org.eclipse.jpt.common.utility.internal.TypeDeclarationTools;

+import org.eclipse.jpt.common.utility.internal.iterable.LiveCloneListIterable;

+import org.eclipse.jpt.common.utility.iterable.ListIterable;

 import org.eclipse.jpt.jaxb.core.internal.context.AbstractJaxbContextNode;

 import org.eclipse.jpt.jaxb.eclipselink.core.context.ELXmlAccessOrder;

 import org.eclipse.jpt.jaxb.eclipselink.core.context.ELXmlAccessType;

@@ -182,9 +184,22 @@
 		if (className == null) {

 			return null;

 		}

+		

 		if (className.indexOf('.') >= 0) {

 			return className;

 		}

+		

+		// account for arrays

+		String componentClassName = TypeDeclarationTools.elementTypeName(className);

+		

+		if (ClassNameTools.isPrimitive(componentClassName)) {

+			return className;

+		}

+		

+		if (TypeDeclarationTools.isJavaLangClass(className)) {

+			return StringTools.concatenate("java.lang.", className);

+		}

+		

 		return StringTools.concatenate(this.packageName, ".", className);

 	}

 	

@@ -205,7 +220,7 @@
 	

 	public OxmJavaType getJavaType(String qualifiedName) {

 		for (OxmJavaType javaType : getJavaTypes()) {

-			if (Tools.valuesAreEqual(javaType.getQualifiedName(), qualifiedName)) {

+			if (ObjectTools.equals(javaType.getQualifiedName(), qualifiedName)) {

 				return javaType;

 			}

 		}

diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmJavaTypeTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmJavaTypeTests.java
index 37bdb08..e48c32b 100644
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmJavaTypeTests.java
+++ b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmJavaTypeTests.java
@@ -68,11 +68,20 @@
 		eJavaType.setName("int");

 		oxmResource.save();

 		

-//		assertFileContentsContains("oxm.xml", "name=\"int\"", true);

-//		assertEquals("int", eJavaType.getName());

-//		assertEquals("int", javaType.getSpecifiedName());

-//		assertEquals("int", javaType.getQualifiedName());

-//		assertEquals("int", javaType.getSimpleName());

+		assertFileContentsContains("oxm.xml", "name=\"int\"", true);

+		assertEquals("int", eJavaType.getName());

+		assertEquals("int", javaType.getSpecifiedName());

+		assertEquals("int", javaType.getQualifiedName());

+		assertEquals("int", javaType.getSimpleName());

+		

+		eJavaType.setName("String");

+		oxmResource.save();

+		

+		assertFileContentsContains("oxm.xml", "name=\"String\"", true);

+		assertEquals("String", eJavaType.getName());

+		assertEquals("String", javaType.getSpecifiedName());

+		assertEquals("java.lang.String", javaType.getQualifiedName());

+		assertEquals("String", javaType.getSimpleName());

 		

 		eXmlBindings.setPackageName("test.oxm2");

 		eJavaType.setName("Foo");

@@ -112,11 +121,20 @@
 		javaType.setSpecifiedName("int");

 		oxmResource.save();

 		

-//		assertFileContentsContains("oxm.xml", "name=\"int\"", true);

-//		assertEquals("int", eJavaType.getName());

-//		assertEquals("int", javaType.getSpecifiedName());

-//		assertEquals("int", javaType.getQualifiedName());

-//		assertEquals("int", javaType.getSimpleName());

+		assertFileContentsContains("oxm.xml", "name=\"int\"", true);

+		assertEquals("int", eJavaType.getName());

+		assertEquals("int", javaType.getSpecifiedName());

+		assertEquals("int", javaType.getQualifiedName());

+		assertEquals("int", javaType.getSimpleName());

+		

+		eJavaType.setName("String");

+		oxmResource.save();

+		

+		assertFileContentsContains("oxm.xml", "name=\"String\"", true);

+		assertEquals("String", eJavaType.getName());

+		assertEquals("String", javaType.getSpecifiedName());

+		assertEquals("java.lang.String", javaType.getQualifiedName());

+		assertEquals("String", javaType.getSimpleName());

 		

 		xmlBindings.setPackageName("test.oxm2");

 		javaType.setSpecifiedName("Foo");

diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmXmlBindingsTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmXmlBindingsTests.java
index faf2452..fa51981 100644
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmXmlBindingsTests.java
+++ b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmXmlBindingsTests.java
@@ -10,7 +10,7 @@
 package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.oxm;
 

 import org.eclipse.jpt.common.core.resource.xml.JptXmlResource;

-import org.eclipse.jpt.common.utility.internal.CollectionTools;

+import org.eclipse.jpt.common.utility.internal.iterable.IterableTools;

 import org.eclipse.jpt.jaxb.eclipselink.core.context.ELJaxbContextRoot;

 import org.eclipse.jpt.jaxb.eclipselink.core.context.ELXmlAccessOrder;

 import org.eclipse.jpt.jaxb.eclipselink.core.context.ELXmlAccessType;

@@ -327,7 +327,7 @@
 		JptXmlResource oxmResource = oxmFile.getOxmResource();

 		EXmlBindings eXmlBindings = (EXmlBindings) oxmResource.getRootObject();

 		

-		assertEquals(0, CollectionTools.size(eXmlBindings.getJavaTypes()));

+		assertEquals(0, IterableTools.size(eXmlBindings.getJavaTypes()));

 		assertEquals(0, xmlBindings.getJavaTypesSize());

 		

 		EJavaType eJavaType = OxmFactory.eINSTANCE.createEJavaType();

@@ -337,7 +337,7 @@
 		

 		assertFileContentsContains("oxm.xml", "java-types", true);

 		assertFileContentsContains("oxm.xml", "test.oxm.Foo", true);

-		assertEquals(1, CollectionTools.size(eXmlBindings.getJavaTypes()));

+		assertEquals(1, IterableTools.size(eXmlBindings.getJavaTypes()));

 		assertEquals(1, xmlBindings.getJavaTypesSize());

 		assertNotNull(xmlBindings.getJavaType("test.oxm.Foo"));

 		

@@ -347,7 +347,7 @@
 		oxmResource.save();

 		

 		assertFileContentsContains("oxm.xml", "test.oxm.Bar", true);

-		assertEquals(2, CollectionTools.size(eXmlBindings.getJavaTypes()));

+		assertEquals(2, IterableTools.size(eXmlBindings.getJavaTypes()));

 		assertEquals(2, xmlBindings.getJavaTypesSize());

 		assertNotNull(xmlBindings.getJavaType("test.oxm.Bar"));

 		

@@ -356,7 +356,7 @@
 		

 		assertFileContentsContains("oxm.xml", "test.oxm.Foo", false);

 		assertFileContentsContains("oxm.xml", "test.oxm.Bar", true);

-		assertEquals(1, CollectionTools.size(eXmlBindings.getJavaTypes()));

+		assertEquals(1, IterableTools.size(eXmlBindings.getJavaTypes()));

 		assertEquals(1, xmlBindings.getJavaTypesSize());

 		assertNull(xmlBindings.getJavaType("test.oxm.Foo"));

 		assertNotNull(xmlBindings.getJavaType("test.oxm.Bar"));

@@ -365,7 +365,7 @@
 		oxmResource.save();

 		

 		assertFileContentsContains("oxm.xml", "java-types", false);

-		assertEquals(0, CollectionTools.size(eXmlBindings.getJavaTypes()));

+		assertEquals(0, IterableTools.size(eXmlBindings.getJavaTypes()));

 		assertEquals(0, xmlBindings.getJavaTypesSize());

 	}

 	

@@ -377,7 +377,7 @@
 		JptXmlResource oxmResource = oxmFile.getOxmResource();

 		EXmlBindings eXmlBindings = (EXmlBindings) oxmResource.getRootObject();

 		

-		assertEquals(0, CollectionTools.size(eXmlBindings.getJavaTypes()));

+		assertEquals(0, IterableTools.size(eXmlBindings.getJavaTypes()));

 		assertEquals(0, xmlBindings.getJavaTypesSize());

 		

 		OxmJavaType javaType = xmlBindings.addJavaType(0);

@@ -386,7 +386,7 @@
 		

 		assertFileContentsContains("oxm.xml", "java-types", true);

 		assertFileContentsContains("oxm.xml", "test.oxm.Foo", true);

-		assertEquals(1, CollectionTools.size(eXmlBindings.getJavaTypes()));

+		assertEquals(1, IterableTools.size(eXmlBindings.getJavaTypes()));

 		assertEquals(1, xmlBindings.getJavaTypesSize());

 		assertNotNull(xmlBindings.getJavaType("test.oxm.Foo"));

 		

@@ -395,7 +395,7 @@
 		oxmResource.save();

 		

 		assertFileContentsContains("oxm.xml", "test.oxm.Bar", true);

-		assertEquals(2, CollectionTools.size(eXmlBindings.getJavaTypes()));

+		assertEquals(2, IterableTools.size(eXmlBindings.getJavaTypes()));

 		assertEquals(2, xmlBindings.getJavaTypesSize());

 		assertNotNull(xmlBindings.getJavaType("test.oxm.Bar"));

 		

@@ -404,7 +404,7 @@
 		

 		assertFileContentsContains("oxm.xml", "test.oxm.Foo", false);

 		assertFileContentsContains("oxm.xml", "test.oxm.Bar", true);

-		assertEquals(1, CollectionTools.size(eXmlBindings.getJavaTypes()));

+		assertEquals(1, IterableTools.size(eXmlBindings.getJavaTypes()));

 		assertEquals(1, xmlBindings.getJavaTypesSize());

 		assertNull(xmlBindings.getJavaType("test.oxm.Foo"));

 		assertNotNull(xmlBindings.getJavaType("test.oxm.Bar"));

@@ -413,7 +413,7 @@
 		oxmResource.save();

 		

 		assertFileContentsContains("oxm.xml", "java-types", false);

-		assertEquals(0, CollectionTools.size(eXmlBindings.getJavaTypes()));

+		assertEquals(0, IterableTools.size(eXmlBindings.getJavaTypes()));

 		assertEquals(0, xmlBindings.getJavaTypesSize());

 	}

 }