*/
package eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix;
-import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.StringWriter;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
+import eu.etaxonomy.cdm.api.application.ICdmRepository;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IDescriptionService;
import eu.etaxonomy.cdm.api.service.IDescriptiveDataSetService;
+import eu.etaxonomy.cdm.api.service.IPreferenceService;
import eu.etaxonomy.cdm.api.service.dto.RowWrapperDTO;
-import eu.etaxonomy.cdm.model.term.TermType;
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.model.term.TermType;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
import eu.etaxonomy.taxeditor.store.CdmStore;
}
dirty.setDirty(false);
if(matrix.getNatTableState()!=null){
- try (FileOutputStream tableStateStream =
- new FileOutputStream(matrix.getStatePropertiesFile())) {
- matrix.getNatTableState().store(tableStateStream, null);
- } catch (IOException ioe) {
- ioe.printStackTrace();
+ StringWriter writer = new StringWriter();
+ try {
+ matrix.getNatTableState().store(writer, null);
+ ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
+ if (controller != null){
+ IPreferenceService service = controller.getPreferenceService();
+ CdmPreference pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.CharacterMatrixTableState, writer.toString());
+ service.set(pref);
+ PreferencesUtil.updateDBPreferences();
+ }
+ } catch (IOException e) {
+ MessagingUtils.error(getClass(), e);
}
}
}
*/
package eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix;
-import java.io.File;
-import java.io.FileInputStream;
import java.io.IOException;
+import java.io.StringReader;
import java.util.Collection;
import java.util.Properties;
import java.util.function.Consumer;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
/**
* @author pplitzner
*/
natTableState = new Properties();
//load persisted state
- File statePropertiesFile = matrix.getStatePropertiesFile();
- FileInputStream inputStream;
try {
- inputStream = new FileInputStream(statePropertiesFile);
- natTableState.load(inputStream);
- } catch (IOException e) {
- MessagingUtils.info("No initial state properties file found for character matrix"); //$NON-NLS-1$
+
+ CdmPreference preference = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.CharacterMatrixTableState);
+ if(preference!=null){
+ natTableState.load(new StringReader(preference.getValue()));
+ }
+ } catch (IOException e1) {
+ MessagingUtils.error(getClass(), e1);
}
// create a combobox for showing the available view states