Added arrays support in ensureCollection
Removed method toEObjectArray (was used only for test purposes)
Change-Id: Ied0f4a4adf865197aad733cc4469b4939265aa68
Signed-off-by: Vincenzo Caselli <vincenzo.caselli@rcp-vision.com>
diff --git a/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/util/EmfParsleyUtil.java b/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/util/EmfParsleyUtil.java
index f351856..7df35c5 100644
--- a/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/util/EmfParsleyUtil.java
+++ b/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/util/EmfParsleyUtil.java
@@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.emf.parsley.util;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
@@ -46,6 +47,8 @@
return Lists.newArrayList((Iterable<?>) contents);
} else if (contents instanceof Iterator<?>) {
return Lists.newArrayList((Iterator<?>) contents);
+ } else if (contents.getClass().isArray()) {
+ return Arrays.asList((Object[]) contents);
} else {
return Collections.singleton(contents);
}
diff --git a/tests/org.eclipse.emf.parsley.tests/src/org/eclipse/emf/parsley/tests/EmfParsleyUtilTest.xtend b/tests/org.eclipse.emf.parsley.tests/src/org/eclipse/emf/parsley/tests/EmfParsleyUtilTest.xtend
index 9ff5b53..645a1de 100644
--- a/tests/org.eclipse.emf.parsley.tests/src/org/eclipse/emf/parsley/tests/EmfParsleyUtilTest.xtend
+++ b/tests/org.eclipse.emf.parsley.tests/src/org/eclipse/emf/parsley/tests/EmfParsleyUtilTest.xtend
@@ -45,6 +45,12 @@
}
@Test
+ def void testEnsureCollectionGivenArray() {
+ assertEquals(2, EmfParsleyUtil.ensureCollection(createArray())
+ .size());
+ }
+
+ @Test
def void testEnsureCollectionGivenIterable() {
assertEquals(2, EmfParsleyUtil.ensureCollection(createIterable())
.size());
@@ -77,6 +83,11 @@
EmfParsleyUtil.toIntArray(list).map[toString].join(", "));
}
+ def protected Object[] createArray() {
+ val Object[] arr = #{ EXTLibraryFactory.eINSTANCE.createBook(), EXTLibraryFactory.eINSTANCE.createBook() };
+ return arr;
+ }
+
def protected Iterable<EObject> createIterable() {
val library = EXTLibraryFactory.eINSTANCE.createLibrary();
library.getBooks().add(EXTLibraryFactory.eINSTANCE.createBook());