children = new ArrayList<ITreeNode>();
children.add( ocw );
}
else if ( parentElement instanceof AttributeType )
{
AttributeType at = ( AttributeType ) parentElement;
AttributeTypeWrapper atw = new AttributeTypeWrapper( at, null );
children = new ArrayList<ITreeNode>();
children.add( atw );
}
else if ( parentElement instanceof ObjectClassWrapper )
{
ObjectClassWrapper ocw = ( ObjectClassWrapper ) parentElement;
ObjectClass oc = ocw.getMyObjectClass();
if ( mode == PluginConstants.PREFS_HIERARCHY_VIEW_MODE_SUPERTYPE )
{
String[] superiors = oc.getSuperiors();
for ( String superior : superiors )
{
if ( superior != null || "".equals( superior ) ) //$NON-NLS-1$
{
ObjectClass supOC = schemaPool.getObjectClass( superior );
if ( supOC != null )
{
ObjectClassWrapper supOCW = new ObjectClassWrapper( supOC, ocw );
ocw.addChild( supOCW );
}
}
}
}
else if ( mode == PluginConstants.PREFS_HIERARCHY_VIEW_MODE_SUBTYPE )
{
for ( ObjectClass objectClass : objectClasses )
{
String[] superiors = objectClass.getSuperiors();
for ( String superior : superiors )
{
if ( superior != null || "".equals( superior ) ) //$NON-NLS-1$
{
ObjectClass supOC = schemaPool.getObjectClass( superior );
if ( supOC != null && oc.equals( supOC ) )
{
ObjectClassWrapper supOCW = new ObjectClassWrapper( objectClass, ocw );
ocw.addChild( supOCW );
}
}
}
}
}
children = ocw.getChildren();
}
else if ( parentElement instanceof AttributeTypeWrapper )
{
AttributeTypeWrapper atw = ( AttributeTypeWrapper ) parentElement;
AttributeType at = atw.getMyAttributeType();
if ( mode == PluginConstants.PREFS_HIERARCHY_VIEW_MODE_SUPERTYPE )
{
String superior = at.getSuperior();
if ( superior != null || "".equals( superior ) ) //$NON-NLS-1$
{
AttributeType supAT = schemaPool.getAttributeType( superior );
if ( supAT != null )
{
AttributeTypeWrapper supATW = new AttributeTypeWrapper( supAT, atw );
atw.addChild( supATW );
}
}
}
else if ( mode == PluginConstants.PREFS_HIERARCHY_VIEW_MODE_SUBTYPE )
{
for ( AttributeType attributeType : attributeTypes )
{
String superior = attributeType.getSuperior();
if ( superior != null && !"".equals( superior ) ) //$NON-NLS-1$
{
AttributeType supAT = schemaPool.getAttributeType( superior );
if ( supAT != null && at.equals( supAT ) )
{
AttributeTypeWrapper supATW = new AttributeTypeWrapper( attributeType, atw );
atw.addChild( supATW );
}