// property value; assumes properties are already filtered
// for current user user, group, and role scopes
Iterator propertiesIter = getProperties().iterator();
while ((userValue == null) && propertiesIter.hasNext())
{
FragmentProperty fragmentProperty = (FragmentProperty)propertiesIter.next();
if (fragmentProperty.getName().equals(propName))
{
String fragmentPropertyScope = fragmentProperty.getScope();
if (fragmentPropertyScope != null)
{
if (fragmentPropertyScope.equals(USER_PROPERTY_SCOPE))
{
userValue = fragmentProperty.getValue();
}
else if (GROUP_AND_ROLE_PROPERTY_SCOPES_ENABLED)
{
if (groupValue == null)
{
if (fragmentPropertyScope.equals(GROUP_PROPERTY_SCOPE))
{
groupValue = fragmentProperty.getValue();
}
else if (roleValue == null)
{
if (fragmentPropertyScope.equals(ROLE_PROPERTY_SCOPE))
{
roleValue = fragmentProperty.getValue();
}
}
}
}
}
else if ((groupValue == null) && (roleValue == null) && (globalValue == null))
{
globalValue = fragmentProperty.getValue();
}
}
}
// return most specifically scoped property value