package eu.geclipse.ui.internal.wizards; import java.util.List; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; import eu.geclipse.core.Extensions; public class CertificateLoaderContentProvider implements ITreeContentProvider { public Object[] getChildren( final Object parentElement ) { Object[] result = new Object[ 0 ]; if ( parentElement instanceof List< ? > ) { result = ( ( List< ? > ) parentElement ).toArray(); } else if ( parentElement instanceof IConfigurationElement ) { result = getChildren( ( IConfigurationElement ) parentElement ); } return result; } public Object getParent( final Object element ) { return null; } public boolean hasChildren( final Object element ) { boolean result = false; if ( element instanceof List< ? > ) { result = true; } else if ( element instanceof IConfigurationElement ) { String name = ( ( IConfigurationElement ) element ).getName(); result = Extensions.CERT_LOADER_ELEMENT.equals( name ) || Extensions.CERT_LOADER_AUTHORITY_ELEMENT.equals( name ); } return result; } public Object[] getElements( final Object inputElement ) { return getChildren( inputElement ); } public void dispose() { // TODO Auto-generated method stub } public void inputChanged( final Viewer viewer, final Object oldInput, final Object newInput ) { // TODO Auto-generated method stub } private Object[] getChildren( final IConfigurationElement element ) { Object[] result = new Object[ 0 ]; if ( Extensions.CERT_LOADER_ELEMENT.equals( element.getName() ) ) { result = element.getChildren( Extensions.CERT_LOADER_AUTHORITY_ELEMENT ); } else if ( Extensions.CERT_LOADER_AUTHORITY_ELEMENT.equals( element.getName() ) ) { result = element.getChildren( Extensions.CERT_LOADER_DISTRIBUTION_ELEMENT ); } return result; } }