// Test parsing configuration resource that has lists in it
public void testList() throws Exception {
ManagedBeanConfig mb = null;
ManagedPropertyConfig mp = null;
ListEntriesConfig entries = null;
ListEntryConfig entry = null;
// Wire up our FacesConfigConfig instance
parser.setFacesConfig(facesConfig);
assertTrue(facesConfig == parser.getFacesConfig());
// Make sure we do validating parses
parser.setValidating(true);
assertTrue(parser.isValidating());
// Parse resource 4
parser.setResource(this.getClass().getResource
("/org/apache/shale/tiger/config/test-config-4.xml"));
assertNotNull(parser.getResource());
parser.parse();
assertEquals(4, facesConfig.getManagedBeans().size());
// Validate bean "explicitSqlDateList"
mb = facesConfig.getManagedBean("explicitIntegerList");
assertNotNull(mb);
assertEquals("explicitIntegerList", mb.getName());
assertEquals("none", mb.getScope());
assertEquals("java.util.Vector", mb.getType());
assertNotNull(mb.getListEntries());
assertNull(mb.getMapEntries());
assertEquals(0, mb.getProperties().size());
entries = mb.getListEntries();
assertEquals("java.lang.Integer", entries.getValueType());
assertEquals(4, entries.getEntries().size());
entry = entries.getEntries().get(0);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(!entry.isNullValue());
assertEquals("123", entry.getValue());
entry = entries.getEntries().get(1);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(!entry.isNullValue());
assertEquals("234", entry.getValue());
entry = entries.getEntries().get(2);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(entry.isNullValue());
assertNull(entry.getValue());
entry = entries.getEntries().get(3);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(!entry.isNullValue());
assertEquals("345", entry.getValue());
// Validate bean "explicitStringList"
mb = facesConfig.getManagedBean("explicitStringList");
assertNotNull(mb);
assertEquals("explicitStringList", mb.getName());
assertEquals("request", mb.getScope());
assertEquals("java.util.LinkedList", mb.getType());
assertNotNull(mb.getListEntries());
assertNull(mb.getMapEntries());
assertEquals(0, mb.getProperties().size());
entries = mb.getListEntries();
assertEquals("java.lang.String", entries.getValueType());
assertEquals(5, entries.getEntries().size());
entry = entries.getEntries().get(0);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(!entry.isNullValue());
assertEquals("foo", entry.getValue());
entry = entries.getEntries().get(1);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(!entry.isNullValue());
assertEquals("bar", entry.getValue());
entry = entries.getEntries().get(2);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(entry.isNullValue());
assertNull(entry.getValue());
entry = entries.getEntries().get(3);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(!entry.isNullValue());
assertEquals("baz", entry.getValue());
entry = entries.getEntries().get(4);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(!entry.isNullValue());
assertEquals("bop", entry.getValue());
// Validate bean "implicitStringList"
mb = facesConfig.getManagedBean("implicitStringList");
assertNotNull(mb);
assertEquals("implicitStringList", mb.getName());
assertEquals("session", mb.getScope());
assertEquals("java.util.ArrayList", mb.getType());
assertNotNull(mb.getListEntries());
assertNull(mb.getMapEntries());
assertEquals(0, mb.getProperties().size());
entries = mb.getListEntries();
assertEquals(null, entries.getValueType());
assertEquals(5, entries.getEntries().size());
entry = entries.getEntries().get(0);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(!entry.isNullValue());
assertEquals("bop", entry.getValue());
entry = entries.getEntries().get(1);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(entry.isNullValue());
assertNull(entry.getValue());
entry = entries.getEntries().get(2);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(!entry.isNullValue());
assertEquals("baz", entry.getValue());
entry = entries.getEntries().get(3);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(!entry.isNullValue());
assertEquals("bar", entry.getValue());
entry = entries.getEntries().get(4);
assertNotNull(entry);
assertTrue(!entry.isExpression());
assertTrue(!entry.isNullValue());
assertEquals("foo", entry.getValue());