// Checking superior
String superior = at.getSuperiorName();
if ( ( superior != null ) && ( !"".equals( superior ) ) )
{
AttributeTypeImpl superiorAT = schemaHandler.getAttributeType( superior );
if ( superiorAT == null )
{
SchemaError error = new NonExistingATSuperiorError( at, superior );
errorsList.add( error );
errorsMap.put( at, error );
dependenciesMap.put( superior, at );
dependsOnMap.put( at, superior );
}
else
{
dependenciesMap.put( superiorAT, at );
dependsOnMap.put( at, superiorAT );
// Checking Usage with superior's
UsageEnum usage = at.getUsage();
UsageEnum superiorATUsage = superiorAT.getUsage();
if ( !usage.equals( superiorATUsage ) )
{
SchemaError error = new DifferentUsageAsSuperiorError( at, superiorAT );
errorsList.add( error );
errorsMap.put( at, error );
}
// Checking Collective with superior's
boolean collective = at.isCollective();
boolean superiorATCollective = superiorAT.isCollective();
if ( superiorATCollective && !collective )
{
SchemaError error = new DifferentCollectiveAsSuperiorError( at, superiorAT );
errorsList.add( error );
errorsMap.put( at, error );