blob: 16c5972cb768e1e8492074cc695c9df62f7efc2c [file] [log] [blame]
/***************************************************************************************************
* Copyright (c) 2005, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
**************************************************************************************************/
package org.eclipse.jst.jsf.facesconfig.tests.read;
import org.eclipse.jst.jsf.facesconfig.emf.DescriptionType;
import org.eclipse.jst.jsf.facesconfig.emf.DisplayNameType;
import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
import org.eclipse.jst.jsf.facesconfig.emf.IconType;
import org.eclipse.jst.jsf.facesconfig.emf.ListEntriesType;
import org.eclipse.jst.jsf.facesconfig.emf.ManagedBeanType;
import org.eclipse.jst.jsf.facesconfig.emf.MapEntriesType;
import org.eclipse.jst.jsf.facesconfig.emf.MapEntryType;
import org.eclipse.jst.jsf.facesconfig.emf.ValueType;
import org.eclipse.jst.jsf.facesconfig.tests.util.FacesConfigModelUtil;
import org.eclipse.jst.jsf.facesconfig.util.FacesConfigArtifactEdit;
/*
* This Junit class is used to test the managed-bean which is one of
* many items inside the root elemnt faces-config in the configuration
* information hierarchy of the faces-config.xml file
*
*/
public class ReadManagedBeanTestCase extends BaseReadTestCase {
public ReadManagedBeanTestCase(String name) {
super(name);
}
/*
*Test to see if there is at least one managed-bean.
*This should be specified in the file for reading (faces-config)
*/
public void testManagedBean() {
FacesConfigArtifactEdit edit = null;
try {
edit = getArtifactEditForRead();
assertNotNull(edit.getFacesConfig());
assertNotNull(getManagedBean("managedBean1", edit.getFacesConfig()));
assertNotNull(getManagedBean("mapBean1", edit.getFacesConfig()));
assertNotNull(getManagedBean("listBean1", edit.getFacesConfig()));
} finally {
if (edit != null) {
edit.dispose();
}
}
}
ManagedBeanType getManagedBean(String name, FacesConfigType facesConfig)
{
return (ManagedBeanType) FacesConfigModelUtil
.findEObjectElementById(facesConfig.getManagedBean(), name);
}
// Test for the Descirption
public void testDescriptionGroup() {
FacesConfigArtifactEdit edit = null;
try {
edit = getArtifactEditForRead();
assertNotNull(edit.getFacesConfig());
final ManagedBeanType managedBean1 =
getManagedBean("managedBean1", edit.getFacesConfig());
DescriptionType descType =
(DescriptionType) FacesConfigModelUtil
.findEObjectElementById(managedBean1.getDescription()
, "managedBean1Description");
assertNotNull(descType);
assertEquals("managed-bean-description", descType.getTextContent());
DisplayNameType displayName =
(DisplayNameType) FacesConfigModelUtil
.findEObjectElementById(managedBean1.getDisplayName()
, "managedBean1DisplayName");
assertNotNull(displayName);
assertEquals("managed-bean-display-name"
, displayName.getTextContent());
IconType iconType =
(IconType) FacesConfigModelUtil
.findEObjectElementById(managedBean1.getIcon()
, "managedBean1Icon");
assertNotNull(iconType);
assertEquals("managedBean1-small-icon"
, iconType.getSmallIcon().getTextContent());
assertEquals("managedBean1-large-icon"
, iconType.getLargeIcon().getTextContent());
} finally {
if (edit != null) {
edit.dispose();
}
}
}
/*
* Check for a managed-bean-class
*/
public void testSingleValuedProperties() {
FacesConfigArtifactEdit edit = null;
try {
edit = getArtifactEditForRead();
assertNotNull(edit.getFacesConfig());
{
final ManagedBeanType managedBean1 =
getManagedBean("managedBean1", edit.getFacesConfig());
assertEquals("managedBeanName",
managedBean1.getManagedBeanName().getTextContent());
assertEquals("managed-bean-class",
managedBean1.getManagedBeanClass().getTextContent());
assertEquals("request",
managedBean1.getManagedBeanScope().getTextContent());
}
{
final ManagedBeanType mapBean1 =
getManagedBean("mapBean1", edit.getFacesConfig());
assertEquals("mapBean1",
mapBean1.getManagedBeanName().getTextContent());
assertEquals("mapBean1-class",
mapBean1.getManagedBeanClass().getTextContent());
assertEquals("request",
mapBean1.getManagedBeanScope().getTextContent());
}
{
final ManagedBeanType listBean1 =
getManagedBean("listBean1", edit.getFacesConfig());
assertEquals("listBean1",
listBean1.getManagedBeanName().getTextContent());
assertEquals("listBean1-class",
listBean1.getManagedBeanClass().getTextContent());
assertEquals("request",
listBean1.getManagedBeanScope().getTextContent());
}
} finally {
if (edit != null) {
edit.dispose();
}
}
}
public void testMapBeanProperties()
{
FacesConfigArtifactEdit edit = null;
try {
edit = getArtifactEditForRead();
assertNotNull(edit.getFacesConfig());
ManagedBeanType bean =
getManagedBean("mapBean1"
, edit.getFacesConfig());
assertNotNull(bean);
MapEntriesType mapEntries = bean.getMapEntries();
assertEquals("mapBeanEntryKey",
mapEntries.getKeyClass().getTextContent());
assertEquals("mapBeanEntryValueClass",
mapEntries.getValueClass().getTextContent());
MapEntryType mapEntry =
(MapEntryType) FacesConfigModelUtil
.findEObjectElementById(mapEntries.getMapEntry(), "mapBeanEntryWithValue");
assertNotNull(mapEntry);
assertEquals("mapBeanKey1"
, mapEntry.getKey().getTextContent());
assertEquals("mapBeanValue1"
, mapEntry.getValue().getTextContent());
assertNull(mapEntry.getNullValue());
mapEntry =
(MapEntryType) FacesConfigModelUtil
.findEObjectElementById(mapEntries.getMapEntry(), "mapBeanEntryWithNullValue");
assertNotNull(mapEntry);
assertEquals("mapBeanKey2"
, mapEntry.getKey().getTextContent());
assertNotNull(mapEntry.getNullValue());
assertNull(mapEntry.getValue());
} finally {
if (edit != null) {
edit.dispose();
}
}
}
public void testListBeanProperties()
{
FacesConfigArtifactEdit edit = null;
try {
edit = getArtifactEditForRead();
assertNotNull(edit.getFacesConfig());
ManagedBeanType bean =
getManagedBean("listBean1"
, edit.getFacesConfig());
assertNotNull(bean);
ListEntriesType listEntries = bean.getListEntries();
assertEquals("listBeanListPropertyClass",
listEntries.getValueClass().getTextContent());
assertEquals(1, listEntries.getValue().size());
assertEquals(1, listEntries.getNullValue().size());
ValueType valueType = (ValueType)listEntries.getValue().get(0);
assertNotNull(valueType);
assertEquals("listBeanListPropertyValue", valueType.getTextContent().trim());
} finally {
if (edit != null) {
edit.dispose();
}
}
}
}