package org.teiid.designer.datatools.ui.dialogs;
import org.eclipse.datatools.connectivity.IConnectionProfileProvider;
import org.eclipse.datatools.connectivity.internal.ConnectionProfileManager;
import org.eclipse.datatools.connectivity.internal.ui.wizards.CPWizardNode;
import org.eclipse.datatools.connectivity.internal.ui.wizards.ProfileWizardProvider;
import org.eclipse.datatools.connectivity.ui.wizards.IWizardCategoryProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
/**
* @since 8.0
*/
public class NewCPWizardProfileFilter extends ViewerFilter {
private String profileID;
public NewCPWizardProfileFilter(String categoryID) {
setProviderID(categoryID);
}
@Override
public boolean select(Viewer viewer, Object parentElement, Object element) {
CPWizardNode wizardNode = (CPWizardNode) element;
if (!(wizardNode.getProvider() instanceof IWizardCategoryProvider)) {
IConnectionProfileProvider provider = ConnectionProfileManager
.getInstance().getProvider(
((ProfileWizardProvider) wizardNode.getProvider())
.getProfile());
if (provider != null && provider.getId().equals(profileID))
return true;
else
return false;
} else {
if (((IWizardCategoryProvider) wizardNode.getProvider()).getId()
.equals(profileID))
return true;
}
return false;
}
public void setProviderID(String categoryID) {
this.profileID = categoryID;
}
}