Project

General

Profile

« Previous | Next » 

Revision b8e5d702

Added by Patrick Plitzner about 6 years ago

ref #7095 use model method for setting state data

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/matrix/RowWrapper.java
11 11
import java.util.ArrayList;
12 12
import java.util.Collection;
13 13
import java.util.HashMap;
14
import java.util.List;
15 14
import java.util.Map;
16 15
import java.util.Set;
17 16

  
......
23 22
import eu.etaxonomy.cdm.model.description.QuantitativeData;
24 23
import eu.etaxonomy.cdm.model.description.SpecimenDescription;
25 24
import eu.etaxonomy.cdm.model.description.State;
26
import eu.etaxonomy.cdm.model.description.StateData;
27 25
import eu.etaxonomy.cdm.model.location.NamedArea;
28 26
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
29 27
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
......
34 32
import eu.etaxonomy.taxeditor.store.CdmStore;
35 33

  
36 34
/**
35
 * Wrapper object representing one row in the character matrix
36
 * containing a specimen description and supplemental information
37
 * about the taxon and the specimen
37 38
 * @author pplitzner
38 39
 * @since Dec 14, 2017
39 40
 *
......
126 127

  
127 128
    public void setDataValueForFeature(Feature feature, Object newValue){
128 129
        DescriptionElementBase descriptionElementBase = featureToElementMap.get(feature);
129
        //FIXME move this to cdmlib service layer
130 130
        if(descriptionElementBase!=null && descriptionElementBase.isInstanceOf(CategoricalData.class) && newValue instanceof Collection){
131 131
            CategoricalData categoricalData = HibernateProxyHelper.deproxy(descriptionElementBase, CategoricalData.class);
132
            List<StateData> stateData = new ArrayList<>(categoricalData.getStateData());
133
            for (StateData stateData2 : stateData) {
134
                categoricalData.removeStateData(stateData2);
135
            }
136
            Collection<State> states = (Collection<State>) newValue;
137
            for (State state : states) {
138
                categoricalData.addStateData(state);
139
            }
132
            categoricalData.setStateDataOnly(new ArrayList<>((Collection<State>) newValue));
140 133
        }
141 134
    }
142 135

  

Also available in: Unified diff