Project

General

Profile

Download (1.6 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.editor.handler;
2

    
3

    
4
import org.eclipse.core.expressions.PropertyTester;
5
import org.eclipse.jface.viewers.IStructuredSelection;
6
import org.eclipse.jface.viewers.TreeNode;
7

    
8
import eu.etaxonomy.cdm.model.molecular.Sequence;
9
import eu.etaxonomy.cdm.model.molecular.SingleRead;
10
import eu.etaxonomy.taxeditor.editor.EditorUtil;
11

    
12

    
13

    
14
/**
15
 * Tests types of specimens to add items to the context menu.
16
 *
17
 * @author pplitzner
18
 * @author BenStoever
19
 */
20
public class SpecimenPropertyTester extends PropertyTester {
21
    private static final String SEQUENCE = "isSequence";
22
    private static final String SINGLE_READ = "isSingleRead";
23

    
24

    
25
    public SpecimenPropertyTester() {}
26

    
27
    /** {@inheritDoc} */
28
    @Override
29
    public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
30
        if (receiver instanceof IStructuredSelection) {
31
            IStructuredSelection selection = (IStructuredSelection) receiver;
32
            TreeNode treeNodeOfSelection = EditorUtil.getTreeNodeOfSelection(selection);
33
            if (treeNodeOfSelection!=null) {
34
                if (SEQUENCE.equals(property)) {
35
                    return isSequence(treeNodeOfSelection.getValue());
36
                }
37
                else if (SINGLE_READ.equals(property)) {
38
                	return isSingleReadAlignment(treeNodeOfSelection.getValue());
39
                }
40
            }
41
        }
42
        return false;
43
    }
44

    
45
	private boolean isSequence(Object object) {
46
    	return (object instanceof Sequence);
47
	}
48

    
49
	private boolean isSingleReadAlignment(Object object) {
50
    	return (object instanceof SingleRead);
51
    }
52
}
(7-7/7)