// --------------------------------------------------------------------------------
// Create and store an object graph in the repository
// --------------------------------------------------------------------------------
MultiValueWithObjectCollection multiValue = new MultiValueWithObjectCollection();
multiValue.setPath(nodeName);
ArrayList values = new ArrayList();
values.add(testData[0]);
values.add(testData[1]);
multiValue.setMultiValues(values);
ocm.insert(multiValue);
ocm.save();
// --------------------------------------------------------------------------------
// Get the object
// --------------------------------------------------------------------------------
multiValue = (MultiValueWithObjectCollection) ocm
.getObject(nodeName);
assertNotNull("Object is null", multiValue);
assertNull("nullMultiValues field is not null", multiValue
.getNullMultiValues());
assertTrue("Incorrect number of values", multiValue
.getMultiValues().size() == 2);
Iterator anIterator = multiValue.getMultiValues().iterator();
assertEquals(testData[0], klazz.cast(anIterator.next()));
assertEquals(testData[1], klazz.cast(anIterator.next()));
// --------------------------------------------------------------------------------
// Update the object
// --------------------------------------------------------------------------------
ArrayList values1 = new ArrayList();
values1.add(testData[2]);
values1.add(testData[3]);
values1.add(testData[4]);
multiValue.setMultiValues(values1);
ocm.update(multiValue);
ocm.save();
// --------------------------------------------------------------------------------
// Get the object
// --------------------------------------------------------------------------------
multiValue = (MultiValueWithObjectCollection) ocm
.getObject(nodeName);
assertNotNull("Object is null", multiValue);
assertNull("nullMultiValues field is not null", multiValue
.getNullMultiValues());
assertTrue("Incorrect number of values", multiValue
.getMultiValues().size() == 3);
assertEquals(testData[2], klazz.cast(multiValue.getMultiValues()
.iterator().next()));
} catch (Exception e) {
e.printStackTrace();
fail("Exception occurs during the unit test : " + e);