Project

General

Profile

« Previous | Next » 

Revision 59777165

Added by Patrick Plitzner over 9 years ago

  • used more pepresentative DerivationEventTypes when creating derivates via DerivatView

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/contextMenu/CreateDerivateContextMenu.java
55 55
                        if(selectedTreeNode!=null){
56 56
                            //context menu for FieldUnit
57 57
                            if(selectedTreeNode.getValue() instanceof FieldUnit){
58
                                createMenuItem(addMenu, "Specimen", selectedTreeNode, DerivedUnit.class, SpecimenOrObservationType.PreservedSpecimen);
58
                                createMenuItem(addMenu, "Specimen", selectedTreeNode, DerivedUnit.class, SpecimenOrObservationType.PreservedSpecimen, DerivationEventType.GATHERING_IN_SITU());
59 59
                                new MenuItem(addMenu, SWT.SEPARATOR);
60
                                createMenuItem(addMenu, "Tissue Sample", selectedTreeNode, DnaSample.class, SpecimenOrObservationType.TissueSample);
61
                                createMenuItem(addMenu, "DNA Sample", selectedTreeNode, DnaSample.class, SpecimenOrObservationType.DnaSample);
62
                                createMenuItem(addMenu, "Media Specimen", selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media);
60
                                createMenuItem(addMenu, "Tissue Sample", selectedTreeNode, DnaSample.class, SpecimenOrObservationType.TissueSample, DerivationEventType.PREPARATION());
61
                                createMenuItem(addMenu, "DNA Sample", selectedTreeNode, DnaSample.class, SpecimenOrObservationType.DnaSample, DerivationEventType.DNA_EXTRACTION());
62
                                createMenuItem(addMenu, "Media Specimen", selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media, DerivationEventType.ACCESSIONING());
63 63
                            }
64 64
                            //context menu for Specimen
65 65
                            else if(selectedTreeNode.getValue() instanceof DerivedUnit && ((DerivedUnit)selectedTreeNode.getValue()).getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){
66 66

  
67
                                createMenuItem(addMenu, "Tissue Sample", selectedTreeNode, DnaSample.class, SpecimenOrObservationType.TissueSample);
68
                                createMenuItem(addMenu, "DNA Sample", selectedTreeNode, DnaSample.class, SpecimenOrObservationType.DnaSample);
69
                                createMenuItem(addMenu, "Media Specimen", selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media);
67
                                createMenuItem(addMenu, "Tissue Sample", selectedTreeNode, DnaSample.class, SpecimenOrObservationType.TissueSample, DerivationEventType.PREPARATION());
68
                                createMenuItem(addMenu, "DNA Sample", selectedTreeNode, DnaSample.class, SpecimenOrObservationType.DnaSample, DerivationEventType.DNA_EXTRACTION());
69
                                createMenuItem(addMenu, "Media Specimen", selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media, DerivationEventType.ACCESSIONING());
70 70
                            }
71 71
                            //context menu for TissueSample
72 72
                            else if(selectedTreeNode.getValue() instanceof DnaSample && ((DnaSample)selectedTreeNode.getValue()).getRecordBasis()==SpecimenOrObservationType.TissueSample){
73
                            	createMenuItem(addMenu, "DnaSample", selectedTreeNode, DnaSample.class, null);
74
                            	createMenuItem(addMenu, "Media Specimen", selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media);
73
                            	createMenuItem(addMenu, "DnaSample", selectedTreeNode, DnaSample.class, SpecimenOrObservationType.DnaSample, DerivationEventType.DNA_EXTRACTION());
74
                            	createMenuItem(addMenu, "Media Specimen", selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media, DerivationEventType.ACCESSIONING());
75 75
                            }
76 76
                            //context menu for DnaSample
77 77
                            else if(selectedTreeNode.getValue() instanceof DnaSample && ((DnaSample)selectedTreeNode.getValue()).getRecordBasis()==SpecimenOrObservationType.DnaSample){
78
                                createMenuItem(addMenu, "Consensus Sequence", selectedTreeNode, Sequence.class, null);
79
                                createMenuItem(addMenu, "Media Specimen", selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media);
78
                                createMenuItem(addMenu, "Consensus Sequence", selectedTreeNode, Sequence.class, null, null);
79
                                createMenuItem(addMenu, "Media Specimen", selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media, DerivationEventType.ACCESSIONING());
80 80
                            }
81 81
                            //context menu for Sequence
82 82
                            else if(selectedTreeNode.getValue() instanceof Sequence){
83
                                createMenuItem(addMenu, "Single Read", selectedTreeNode, SingleRead.class, null);
83
                                createMenuItem(addMenu, "Single Read", selectedTreeNode, SingleRead.class, null, null);
84 84
                            }
85 85
                            //default
86 86
                            else{
......
97 97
        return contributionItems;
98 98
    }
99 99

  
100
    private void createMenuItem(Menu menu, String menuLabel, TreeNode selectedNode, Class<?> childClass, SpecimenOrObservationType specimenType) {
100
    private void createMenuItem(Menu menu, String menuLabel, TreeNode selectedNode, Class<?> childClass, SpecimenOrObservationType specimenType, DerivationEventType derivationEventType) {
101 101
        MenuItem menuItem = new MenuItem(menu, SWT.NONE);
102 102
        menuItem.setText(menuLabel);
103
        menuItem.addSelectionListener(new WidgetSelectionListener(selectedNode, childClass, specimenType));
103
        menuItem.addSelectionListener(new WidgetSelectionListener(selectedNode, childClass, specimenType, derivationEventType));
104 104
    }
105 105

  
106 106
    private class WidgetSelectionListener extends SelectionAdapter{
......
109 109
        //TODO: we need a common interface for the generic like e.g. "IDerivateHierarchyNode"
110 110
        private final Class<?> childClass;
111 111
        private final SpecimenOrObservationType specimenType;
112
        private final DerivationEventType derivationEventType;
112 113

  
113 114
        /**
114 115
         * @param selectedNode
115 116
         * @param specimenType
116 117
         */
117
        public WidgetSelectionListener(TreeNode selectedNode, Class<?> childClass, SpecimenOrObservationType specimenType) {
118
        public WidgetSelectionListener(TreeNode selectedNode, Class<?> childClass, SpecimenOrObservationType specimenType, DerivationEventType derivationEventType) {
118 119
            this.selectedNode = selectedNode;
119 120
            this.childClass = childClass;
120 121
            this.specimenType = specimenType;
122
            this.derivationEventType = derivationEventType;
121 123
        }
122 124

  
123 125
        /* (non-Javadoc)
......
130 132
            if(selectedDerivate instanceof DnaSample && ((DnaSample) selectedDerivate).getRecordBasis()==SpecimenOrObservationType.DnaSample){
131 133
                DnaSample dnaSample = (DnaSample)selectedDerivate;
132 134
                if(childClass.equals(Sequence.class)){
133
                    Sequence newInstance = Sequence.NewInstance("");
134
                    dnaSample.addSequence(newInstance);//why does this not have DnaSample as constructor parameter?
135
                    Sequence newInstance = Sequence.NewInstance(dnaSample, "", 0);
135 136
                    createdElement = newInstance;
136 137
                }
137 138
            }
......
160 161
                else{
161 162
                    derivedUnit = DerivedUnit.NewInstance(specimenType);
162 163
                }
163
                specimenOrObservationBase.addDerivationEvent(DerivationEvent.NewSimpleInstance(specimenOrObservationBase, derivedUnit, DerivationEventType.GATHERING_IN_SITU()));
164
                specimenOrObservationBase.addDerivationEvent(DerivationEvent.NewSimpleInstance(specimenOrObservationBase, derivedUnit, derivationEventType));
164 165
                derivedUnit.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
165 166
                derivedUnit.getTitleCache(); //update title cache
166 167
                createdElement = derivedUnit;

Also available in: Unified diff