commit 050305272773bc1585e1d86d74f9a1313eb660aa
Author: Katja Luther <k.luther@bgbm.org>
Date:   Mon Dec 19 16:04:23 2016 +0100

    ref #6105: add name details view configuration to the cdm preferences view

diff --git a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties
index 36180a8d2..65d8e7998 100644
--- a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties
+++ b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties
@@ -22,6 +22,15 @@ DatabaseRepairPage_PolytomousKeyNode=Polytomous Key
 DatabaseRepairPage_toolTip_polytomousKeyNode=The sort indexes of all polytomous keys are recalculated.
 DatabaseRepairPage_featureNodes=Feature Tree
 DatabaseRepairPage_toolTipFeatureNodes=The sort indexes of the feature tree will be recalculated.
+DatabaseRepairPage_updateTaxonName=Scientific Names
+DatabaseRepairPage_toolTip_TaxonName=Caches of all scientific names are recalculated.
+DatabaseRepairPage_TaxonBase=Taxa and Synonyms
+DatabaseRepairPage_toolTip_taxonBase=Caches of all taxa and synonyms are recalculated.
+DatabaseRepairPage_Reference=References
+DatabaseRepairPage_toolTip_reference=Caches of all references are recalculated.
+
+
+
 UriWithLabelElement_URL_NOT_SAVED=URI won't be saved\! 
 UriWithLabelElement_COULD_NOT_OPEN_BROWSER=Could not open external browser. URI is invalid.
 UriWithLabelElement_INVALID_URL=Invalid URI
diff --git a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties
index b37f84878..70cc79842 100644
--- a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties
+++ b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties
@@ -22,6 +22,12 @@ DatabaseRepairPage_PolytomousKeyNode=Polytome Schl
 DatabaseRepairPage_toolTip_polytomousKeyNode=Die Sortier Indizes aller Polytomen Schlüssel werden aktualisiert.
 DatabaseRepairPage_featureNodes=Merkmalsbaum
 DatabaseRepairPage_toolTipFeatureNodes=Die Sortier Indizes des Merkmalsbaumes werden aktualisiert. 
+DatabaseRepairPage_updateTaxonName=Wissenschaftliche Namen
+DatabaseRepairPage_toolTip_TaxonName=Die Caches aller wissenschaftlichen Namen werden aktualisiert.
+DatabaseRepairPage_TaxonBase=Taxa und Synonyme
+DatabaseRepairPage_toolTip_taxonBase=Die Caches aller Taxa und Synonyme werden aktualisiert.
+DatabaseRepairPage_Reference=Referenzen
+DatabaseRepairPage_toolTip_reference=Die Caches aller Referenzen werden aktualisiert.
 
 UriWithLabelElement_URL_NOT_SAVED=URI wird nicht gespeichert\! 
 UriWithLabelElement_COULD_NOT_OPEN_BROWSER=Externer Browser konnte nicht geöffnet werden. URI ist ung\u00FCtlig.
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/Messages.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/Messages.java
index 0e499cc2b..6bcbdc630 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/Messages.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/Messages.java
@@ -19,6 +19,7 @@ import org.eclipse.osgi.util.NLS;
 public class Messages extends NLS {
     private static final String BUNDLE_NAME = "OSGI-INF/l10n/messages"; //$NON-NLS-1$
 
+
     public static String AuthenticatedUserBar_LOGGED_IN_AS;
     public static String AuthenticatedUserBar_NOT_LOGGED_IN;
     public static String LanguageEditorPreferencePage_ChooseDefaultLanguage;
@@ -32,6 +33,13 @@ public class Messages extends NLS {
     public static String DatabaseRepairPage_toolTip_polytomousKeyNode;
     public static String DatabaseRepairPage_featureNodes;
     public static String DatabaseRepairPage_toolTipFeatureNodes;
+    public static String DatabaseRepairPage_updateTaxonName;
+    public static String DatabaseRepairPage_toolTip_TaxonName;
+    public static String DatabaseRepairPage_TaxonBase;
+    public static String DatabaseRepairPage_toolTip_taxonBase;
+    public static String DatabaseRepairPage_Reference;
+    public static String DatabaseRepairPage_toolTip_reference;
+
     public static String LoginDialog_CANCEL_MESSAGE;
     public static String LoginDialog_LOGIN;
     public static String LoginDialog_PASSWORD;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databasePreferences/wizard/DatabasePreferencesPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databasePreferences/wizard/DatabasePreferencesPage.java
deleted file mode 100755
index a9e81a2e1..000000000
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databasePreferences/wizard/DatabasePreferencesPage.java
+++ /dev/null
@@ -1,230 +0,0 @@
-// $Id$
-/**
-* Copyright (C) 2016 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.databasePreferences.wizard;
-
-import java.util.List;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.ComboFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
-import eu.etaxonomy.cdm.api.service.IPreferenceService;
-import eu.etaxonomy.cdm.model.metadata.CdmPreference;
-import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
-import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
-import eu.etaxonomy.taxeditor.model.NomenclaturalCodeHelper;
-import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-
-/**
- * @author k.luther
- * @date 01.11.2016
- *
- */
-public class DatabasePreferencesPage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage, IWizardPage {
-
-    /**
-     * The wizard to which this page belongs; <code>null</code>
-     * if this page has yet to be added to a wizard.
-     */
-    private IWizard wizard = null;
-
-    /**
-     * Indicates whether this page is complete.
-     */
-    private boolean isPageComplete = true;
-
-    /**
-     * The page that was shown right before this page became visible;
-     * <code>null</code> if none.
-     */
-    private IWizardPage previousPage = null;
-
-    CdmPreference preferedNomenclaturalCode;
-
-    /*
-     *
-     */
-    public DatabasePreferencesPage() {
-        this.noDefaultAndApplyButton();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-     */
-    @Override
-    public void init(IWorkbench workbench) {
-
-        setPreferenceStore(TaxeditorStorePlugin.getDefault()
-                .getPreferenceStore());
-
-        preferedNomenclaturalCode = PreferencesUtil.setPreferredNomenclaturalCode(null, false);
-        if (super.getPreferenceStore()== null){
-            setPreferenceStore(PreferencesUtil.getPreferenceStore());
-        }
-
-
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
-     */
-    @Override
-    protected void createFieldEditors() {
-        setMessage("Choose which nomenclatural code you would like to use for scientific names unless otherwise specified.");
-        ComboFieldEditor nomenclaturalCode = new ComboFieldEditor(
-                IPreferenceKeys.CDM_NOMENCLATURAL_CODE_KEY,
-                "Available Codes", getLabelAndValues(),
-                getFieldEditorParent());
-        nomenclaturalCode.setPreferenceStore(PreferencesUtil.getPreferenceStore());
-        addField(nomenclaturalCode);
-        BooleanFieldEditor allowOverride = new BooleanFieldEditor(
-                IPreferenceKeys.ALLOW_OVERRIDE_NOMENCLATURAL_CODE_KEY,
-                "allow to use local preference",
-                getFieldEditorParent());
-        allowOverride.setPreferenceStore(PreferencesUtil.getPreferenceStore());
-        addField(allowOverride);
-
-
-    }
-
-    /**
-     * Returns the preference store of this preference page.
-     * <p>
-     * This is a framework hook method for subclasses to return a
-     * page-specific preference store. The default implementation
-     * returns <code>null</code>.
-     * </p>
-     *
-     * @return the preference store, or <code>null</code> if none
-     */
-    @Override
-    protected IPreferenceStore doGetPreferenceStore() {
-        return PreferencesUtil.getPreferenceStore();
-    }
-
-    /**
-     * @return
-     */
-    private String[][] getLabelAndValues() {
-        List<NomenclaturalCode> supportedCodes = NomenclaturalCodeHelper
-                .getSupportedCodes();
-        String[][] labelAndValues = new String[supportedCodes.size()][2];
-        for (int i = 0; i < supportedCodes.size(); i++) {
-            labelAndValues[i][0] = NomenclaturalCodeHelper
-                    .getDescription(supportedCodes.get(i));
-            labelAndValues[i][1] = PreferencesUtil
-                    .getPreferenceKey(supportedCodes.get(i));
-        }
-        return labelAndValues;
-    }
-    @Override
-    public boolean performOk() {
-       if (super.getPreferenceStore()== null){
-           setPreferenceStore(PreferencesUtil.getPreferenceStore());
-       }
-       boolean result = super.performOk();
-       if (result){
-           String value =getPreferenceStore().getString(IPreferenceKeys.CDM_NOMENCLATURAL_CODE_KEY);
-           boolean allowOverride =  getPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NOMENCLATURAL_CODE_KEY);
-           CdmPreference pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.NomenclaturalCode, value);
-           pref.setAllowOverride(allowOverride);
-           ICdmApplicationConfiguration controller = CdmStore.getCurrentApplicationConfiguration();
-           if (controller == null){
-               return false;
-           }
-           IPreferenceService service = controller.getPreferenceService();
-           service.set(pref);
-       }
-       return result;
-   }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean canFlipToNextPage() {
-        // TODO Auto-generated method stub
-        return true;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public String getName() {
-
-        return "Database Preferences";
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public IWizardPage getNextPage() {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public IWizardPage getPreviousPage() {
-
-        return previousPage;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public IWizard getWizard() {
-
-        return wizard;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean isPageComplete() {
-
-        return isPageComplete;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void setPreviousPage(IWizardPage page) {
-        this.previousPage = page;
-
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void setWizard(IWizard newWizard) {
-        this.wizard = newWizard;
-
-    }
-
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databasePreferences/wizard/DatabasePreferencesWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databasePreferences/wizard/DatabasePreferencesWizard.java
deleted file mode 100755
index 9a7903d67..000000000
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databasePreferences/wizard/DatabasePreferencesWizard.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
-* Copyright (C) 2016 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.databasePreferences.wizard;
-
-import org.eclipse.jface.wizard.Wizard;
-
-/**
- * @author k.luther
- * @date 18.11.2016
- *
- */
-public class DatabasePreferencesWizard extends Wizard {
-
-
-    private final DatabasePreferencesPage preferencePage;
-
-
-    public DatabasePreferencesWizard() {
-        setWindowTitle("Database Preferences Wizard");
-
-        preferencePage = new DatabasePreferencesPage();
-       // preferencePage.setDescription("Choose which nomenclatural code you would like to use for scientific names unless otherwise specified.");
-       // preferencePage.init(PlatformUI.getWorkbench());
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean performFinish() {
-        if (preferencePage.performOk()){
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * @return the preferencePage
-     */
-    public DatabasePreferencesPage getPreferencePage() {
-        return preferencePage;
-    }
-
-    @Override
-    public void addPages() {
-        addPage(preferencePage);
-    }
-
-
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databasePreferences/wizard/DatabaseRepairPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databasePreferences/wizard/DatabaseRepairPage.java
deleted file mode 100755
index 99e73164f..000000000
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databasePreferences/wizard/DatabaseRepairPage.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
-* Copyright (C) 2016 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.databasePreferences.wizard;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-import eu.etaxonomy.cdm.io.common.SortIndexUpdaterConfigurator;
-import eu.etaxonomy.taxeditor.Messages;
-
-/**
- * @author k.luther
- * @date 06.12.2016
- *
- */
-public class DatabaseRepairPage extends WizardPage {
-
-    SortIndexUpdaterConfigurator config = null;
-    /**
-     * @param pageName
-     */
-    protected DatabaseRepairPage(String pageName, SortIndexUpdaterConfigurator config){
-        super(pageName);
-        this.config = config;
-        setMessage(Messages.DatabaseRepairPage_chooseParameter);
-    }
-
-
-
-
-
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void createControl(Composite parent) {
-        final Composite composite = new Composite(parent, SWT.NULL);
-
-        GridLayout gridLayout = new GridLayout();
-        composite.setLayout(gridLayout);
-
-        Button checkBoxTaxonNode = new Button(composite, SWT.CHECK);
-        checkBoxTaxonNode.setSelection(config.isDoTaxonNode());
-        checkBoxTaxonNode.setText(Messages.DatabaseRepairPage_updateTaxonNodes);
-        checkBoxTaxonNode
-                .setToolTipText(Messages.DatabaseRepairPage_toolTip_taxonNode);
-        checkBoxTaxonNode.addSelectionListener(new SelectionAdapter() {
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                config.setDoTaxonNode(!config.isDoTaxonNode());
-            }
-        });
-
-        Button checkBoxPolytomousKeyNode = new Button(composite, SWT.CHECK);
-        checkBoxPolytomousKeyNode.setSelection(config.isDoPolytomousKeyNode());
-        checkBoxPolytomousKeyNode.setText(Messages.DatabaseRepairPage_PolytomousKeyNode);
-        checkBoxPolytomousKeyNode
-        .setToolTipText(Messages.DatabaseRepairPage_toolTip_polytomousKeyNode);
-        checkBoxPolytomousKeyNode.addSelectionListener(new SelectionAdapter() {
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                config.setDoPolytomousKeyNode(!config.isDoPolytomousKeyNode());
-            }
-        });
-
-        Button checkBoxFeatureNode = new Button(composite, SWT.CHECK);
-        checkBoxFeatureNode.setSelection(config.isDoFeatureNode());
-        checkBoxFeatureNode.setText(Messages.DatabaseRepairPage_featureNodes);
-        checkBoxFeatureNode
-        .setToolTipText(Messages.DatabaseRepairPage_toolTipFeatureNodes);
-        checkBoxFeatureNode.addSelectionListener(new SelectionAdapter() {
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                config.setDoFeatureNode(!config.isDoFeatureNode());
-            }
-        });
-
-
-
-        setControl(composite);
-
-    }
-
-
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databasePreferences/wizard/DatabaseRepairWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databasePreferences/wizard/DatabaseRepairWizard.java
deleted file mode 100755
index cd9c39e9b..000000000
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databasePreferences/wizard/DatabaseRepairWizard.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
-* Copyright (C) 2016 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.databasePreferences.wizard;
-
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.wizard.Wizard;
-
-import eu.etaxonomy.cdm.config.ICdmSource;
-import eu.etaxonomy.cdm.io.common.SortIndexUpdaterConfigurator;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-
-/**
- * @author k.luther
- * @date 06.12.2016
- *
- */
-public class DatabaseRepairWizard extends Wizard {
-    private final DatabaseRepairPage repairPage;
-    SortIndexUpdaterConfigurator config;
-
-    public DatabaseRepairWizard() {
-        setWindowTitle("Database Repair Wizard");
-        config = SortIndexUpdaterConfigurator.NewInstance(null);
-        repairPage = new DatabaseRepairPage("Database Repair",config);
-
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean performFinish() {
-        if (repairPage.isPageComplete()){
-            if (config == null){
-                ICdmSource source= CdmStore.getActiveCdmSource();
-                config = SortIndexUpdaterConfigurator.NewInstance(null);
-                config.setDoFeatureNode(false);
-                config.setDoPolytomousKeyNode(false);
-
-             }
-             Job updateJob = CdmStore.getImportManager().createIOServiceJob(config);
-
-             CdmStore.getImportManager().run(updateJob);
-        }
-        return true;
-    }
-
-    @Override
-    public void addPages() {
-        addPage(repairPage);
-    }
-
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NameDetailsConfigurator.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NameDetailsConfigurator.java
new file mode 100755
index 000000000..854a7aab8
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NameDetailsConfigurator.java
@@ -0,0 +1,214 @@
+/**
+* Copyright (C) 2016 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.preference;
+
+/**
+ * @author k.luther
+ * @date 16.12.2016
+ *
+ */
+public class NameDetailsConfigurator {
+
+    private boolean isSimpleDetailsViewActivated = true;
+
+    private boolean isTaxonSectionActivated = true;
+    private boolean isLSIDActivated = true;
+    private boolean isNomenclaturalCodeActived = true;
+    private boolean isNameCacheActivated = true;
+    private boolean isAppendedPhraseActivated = true;
+    private boolean isRankActivated = true;
+    private boolean isAtomisedEpithetsActivated = true;
+    private boolean isAuthorshipSectionActivated = true;
+    private boolean isNomenclaturalReferenceSectionActivated = true;
+    private boolean isNomenclaturalStatusSectionActivated = true;
+    private boolean isTypeDesignationSectionActivated = true;
+    private boolean isNameRelationsSectionActivated = true;
+    private boolean isProtologueActivated = true;
+
+    public NameDetailsConfigurator(boolean isSimpleDetailsViewActivated){
+        this.isSimpleDetailsViewActivated = isSimpleDetailsViewActivated;
+    }
+
+    public boolean isSimpleDetailsViewActivated() {
+        return isSimpleDetailsViewActivated;
+    }
+
+    public void setSimpleDetailsViewActivated(boolean isSimpleDetailsViewActivated) {
+        this.isSimpleDetailsViewActivated = isSimpleDetailsViewActivated;
+    }
+
+    public boolean isTaxonSectionActivated() {
+        return isTaxonSectionActivated;
+    }
+
+    public void setTaxonSectionActivated(boolean isTaxonSectionActivated) {
+        this.isTaxonSectionActivated = isTaxonSectionActivated;
+    }
+
+    public boolean isLSIDActivated() {
+        return isLSIDActivated;
+    }
+
+    public void setLSIDActivated(boolean isLSIDActivated) {
+        this.isLSIDActivated = isLSIDActivated;
+    }
+
+    public boolean isNomenclaturalCodeActived() {
+        return isNomenclaturalCodeActived;
+    }
+
+    public void setNomenclaturalCodeActived(boolean isNomenclaturalCodeActived) {
+        this.isNomenclaturalCodeActived = isNomenclaturalCodeActived;
+    }
+
+    public boolean isNameCacheActivated() {
+        return isNameCacheActivated;
+    }
+
+    public void setNameCacheActivated(boolean isNameCacheActivated) {
+        this.isNameCacheActivated = isNameCacheActivated;
+    }
+
+    public boolean isAppendedPhraseActivated() {
+        return isAppendedPhraseActivated;
+    }
+
+    public void setAppendedPhraseActivated(boolean isAppendedPhraseActivated) {
+        this.isAppendedPhraseActivated = isAppendedPhraseActivated;
+    }
+
+    public boolean isRankActivated() {
+        return isRankActivated;
+    }
+
+    public void setRankActivated(boolean isRankActivated) {
+        this.isRankActivated = isRankActivated;
+    }
+
+    public boolean isAtomisedEpithetsActivated() {
+        return isAtomisedEpithetsActivated;
+    }
+
+    public void setAtomisedEpithetsActivated(boolean isAtomisedEpithetsActivated) {
+        this.isAtomisedEpithetsActivated = isAtomisedEpithetsActivated;
+    }
+
+    public boolean isAuthorshipSectionActivated() {
+        return isAuthorshipSectionActivated;
+    }
+
+    public void setAuthorshipSectionActivated(boolean isAuthorshipSectionActivated) {
+        this.isAuthorshipSectionActivated = isAuthorshipSectionActivated;
+    }
+
+    public boolean isNomenclaturalReferenceSectionActivated() {
+        return isNomenclaturalReferenceSectionActivated;
+    }
+
+    public void setNomenclaturalReferenceSectionActivated(boolean isNomenclaturalReferenceSectionActivated) {
+        this.isNomenclaturalReferenceSectionActivated = isNomenclaturalReferenceSectionActivated;
+    }
+
+    public boolean isNomenclaturalStatusSectionActivated() {
+        return isNomenclaturalStatusSectionActivated;
+    }
+
+    public void setNomenclaturalStatusSectionActivated(boolean isNomenclaturalStatusSectionActivated) {
+        this.isNomenclaturalStatusSectionActivated = isNomenclaturalStatusSectionActivated;
+    }
+
+    public boolean isTypeDesignationSectionActivated() {
+        return isTypeDesignationSectionActivated;
+    }
+
+    public void setTypeDesignationSectionActivated(boolean isTypeDesignationSectionActivated) {
+        this.isTypeDesignationSectionActivated = isTypeDesignationSectionActivated;
+    }
+
+    public boolean isNameRelationsSectionActivated() {
+        return isNameRelationsSectionActivated;
+    }
+
+    public void setNameRelationsSectionActivated(boolean isNameRelationsSectionActivated) {
+        this.isNameRelationsSectionActivated = isNameRelationsSectionActivated;
+    }
+
+    /**
+     * @return the isProtologueActivated
+     */
+    public boolean isProtologueActivated() {
+        return isProtologueActivated;
+    }
+
+    /**
+     * @param isProtologueActivated the isProtologueActivated to set
+     */
+    public void setProtologueActivated(boolean isProtologueActivated) {
+        this.isProtologueActivated = isProtologueActivated;
+    }
+
+    @Override
+    public String toString(){
+        StringBuffer result = new StringBuffer();
+      //the preference value is build like this:
+        //<section1>:true;<section2>:false....
+        result.append("taxon");
+        result.append(":");
+        result.append(this.isTaxonSectionActivated);
+        result.append(";");
+
+        result.append("lsid");
+        result.append(":");
+        result.append(this.isLSIDActivated());
+        result.append(";");
+        result.append("nc");
+        result.append(":");
+        result.append(this.isNomenclaturalCodeActived());
+        result.append(";");
+        result.append("ap");
+        result.append(":");
+        result.append(this.isAppendedPhraseActivated());
+        result.append(";");
+        result.append("rank");
+        result.append(":");
+        result.append(this.isRankActivated());
+        result.append(";");
+        result.append("author");
+        result.append(":");
+        result.append(this.isAuthorshipSectionActivated());
+        result.append(";");
+        result.append("atomisedEpithets");
+        result.append(":");
+        result.append(this.isAtomisedEpithetsActivated());
+        result.append(";");
+        result.append("nomRef");
+        result.append(":");
+        result.append(this.isNomenclaturalReferenceSectionActivated());
+        result.append(";");
+        result.append("nomStat");
+        result.append(":");
+        result.append(this.isNomenclaturalStatusSectionActivated());
+        result.append(";");
+        result.append("protologue");
+        result.append(":");
+        result.append(this.isProtologueActivated());
+        result.append(";");
+        result.append("typeDes");
+        result.append(":");
+        result.append(this.isTypeDesignationSectionActivated());
+        result.append(";");
+        result.append("nameRelation");
+        result.append(":");
+        result.append(this.isNameRelationsSectionActivated());
+
+      return result.toString();
+    }
+
+
+}
