/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.designer.modelgenerator.ldap.ui.wizards.pages.table;
import org.teiid.designer.modelgenerator.ldap.ui.wizards.AbstractLdapContentProvider;
import org.teiid.designer.modelgenerator.ldap.ui.wizards.ILdapEntryNode;
import org.teiid.designer.modelgenerator.ldap.ui.wizards.LdapImportWizardManager;
import org.teiid.designer.modelgenerator.ldap.ui.wizards.impl.ConnectionNode;
/**
* Tree viewer content provider for an LDAP connection
*/
public class LdapConnectionContentProvider extends AbstractLdapContentProvider {
/**
* Create new instance
*
* @param manager
*/
public LdapConnectionContentProvider(LdapImportWizardManager manager) {
super(manager);
}
@Override
public Object[] getElements(Object inputElement) {
if (inputElement instanceof LdapImportWizardManager) {
ConnectionNode node = ((LdapImportWizardManager)inputElement).getConnectionNode();
return new Object[] {node};
}
if (inputElement instanceof ILdapEntryNode) {
return getChildren(inputElement);
}
return EMPTY_ARRAY;
}
@Override
public boolean hasChildren(Object element) {
if (element instanceof ILdapEntryNode)
return ((ILdapEntryNode)element).hasChildren();
return false;
}
@Override
public Object[] getChildren(Object parentElement) {
if (!(parentElement instanceof ILdapEntryNode))
return EMPTY_ARRAY;
ILdapEntryNode parentNode = (ILdapEntryNode)parentElement;
return parentNode.getChildren();
}
@Override
public Object getParent(Object element) {
if (!(element instanceof ILdapEntryNode))
return EMPTY_ARRAY;
ILdapEntryNode node = (ILdapEntryNode)element;
return node.getParent();
}
}