package eu.etaxonomy.taxeditor.editor.view.concept;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.HashMap;
+import java.util.Map;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.Viewer;
*/
public class ConceptContentProvider implements IStructuredContentProvider {
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
@Override
public void dispose() {
- // TODO Auto-generated method stub
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
- */
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- // TODO Auto-generated method stub
-
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
- */
@Override
public Object[] getElements(Object inputElement) {
+ Taxon taxon = null;
if(inputElement instanceof TaxonEditorInput){
- Taxon taxon = ((TaxonEditorInput) inputElement).getTaxon();
-
- Set<TaxonRelationship> filteredTaxonRelations = new HashSet<TaxonRelationship>();
+ taxon = ((TaxonEditorInput) inputElement).getTaxon();
+ }
+ else if(inputElement instanceof Taxon){
+ taxon = (Taxon) inputElement;
+ }
+ if(taxon!=null){
+ Map<TaxonRelationship, Taxon> taxonToTaxonRelationsMap = new HashMap<>();
for (TaxonRelationship relationship : taxon.getTaxonRelations()) {
if (! relationship.getType().equals(TaxonRelationshipType.MISAPPLIED_NAME_FOR()) ||
relationship.getType().equals(TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN())) {
- filteredTaxonRelations.add(relationship);
+ taxonToTaxonRelationsMap.put(relationship, taxon);
}
}
-
- return filteredTaxonRelations.toArray();
+ return taxonToTaxonRelationsMap.entrySet().toArray();
}
return new Object[0];
}