Project

General

Profile

« Previous | Next » 

Revision ce524345

Added by Patrick Plitzner almost 5 years ago

ref #8335 Persist table state when dialog is closed

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrixPart.java
8 8
 */
9 9
package eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix;
10 10

  
11
import java.io.IOException;
12
import java.io.StringWriter;
13 11
import java.util.Arrays;
14 12
import java.util.Collection;
15 13
import java.util.Collections;
......
37 35
import org.eclipse.swt.widgets.Composite;
38 36
import org.eclipse.swt.widgets.Label;
39 37

  
40
import eu.etaxonomy.cdm.api.application.ICdmRepository;
41 38
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
42 39
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
43 40
import eu.etaxonomy.cdm.api.service.IDescriptionService;
44 41
import eu.etaxonomy.cdm.api.service.IDescriptiveDataSetService;
45
import eu.etaxonomy.cdm.api.service.IPreferenceService;
46 42
import eu.etaxonomy.cdm.api.service.dto.RowWrapperDTO;
47 43
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
48
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
49
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
50 44
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
51 45
import eu.etaxonomy.cdm.model.term.TermType;
52 46
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
......
55 49
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
56 50
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
57 51
import eu.etaxonomy.taxeditor.model.MessagingUtils;
58
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
59 52
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
60 53
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
61 54
import eu.etaxonomy.taxeditor.store.CdmStore;
......
218 211
            cdmEntitySession = null;
219 212
        }
220 213
        dirty.setDirty(false);
221
        if(matrix.getNatTableState()!=null){
222
            StringWriter writer = new StringWriter();
223
            try {
224
                matrix.getNatTableState().store(writer, null);
225
                ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
226
                if (controller != null){
227
                    IPreferenceService service = controller.getPreferenceService();
228
                    CdmPreference pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.CharacterMatrixTableState, writer.toString());
229
                    service.set(pref);
230
                    PreferencesUtil.updateDBPreferences();
231
                }
232
            } catch (IOException e) {
233
                MessagingUtils.error(getClass(), e);
234
            }
235
        }
236 214
    }
237 215

  
238 216
    @Override

Also available in: Unified diff