Revision da948591
Added by Katja Luther almost 7 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java | ||
---|---|---|
26 | 26 |
import java.util.UUID; |
27 | 27 |
|
28 | 28 |
import org.apache.commons.lang.StringUtils; |
29 |
import org.apache.log4j.Logger; |
|
29 | 30 |
import org.eclipse.equinox.internal.p2.ui.model.MetadataRepositoryElement; |
30 | 31 |
import org.eclipse.jface.preference.IPreferenceStore; |
31 | 32 |
import org.eclipse.jface.window.Window; |
... | ... | |
42 | 43 |
import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator; |
43 | 44 |
import eu.etaxonomy.cdm.common.CdmUtils; |
44 | 45 |
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; |
46 |
import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator; |
|
45 | 47 |
import eu.etaxonomy.cdm.model.common.ICdmBase; |
46 | 48 |
import eu.etaxonomy.cdm.model.common.IDefinedTerm; |
47 | 49 |
import eu.etaxonomy.cdm.model.common.ISimpleTerm; |
... | ... | |
85 | 87 |
public static final String P2_REPOSITORIES_DELIM = ","; |
86 | 88 |
public static final String P2_REPOSITORY_FIELDS_DELIM = ";"; |
87 | 89 |
|
88 |
|
|
90 |
private final static Logger logger = Logger.getLogger(PreferencesUtil.class); |
|
89 | 91 |
|
90 | 92 |
/** |
91 | 93 |
* <p> |
... | ... | |
1104 | 1106 |
* a {@link eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator} |
1105 | 1107 |
* object. |
1106 | 1108 |
*/ |
1107 |
// public static CdmPreference setAbcdImportConfigurationPreference( |
|
1108 |
// Abcd206ImportConfigurator preferredConfiguration, boolean local) { |
|
1109 |
// if (local){ |
|
1110 |
// /* |
|
1111 |
// * |
|
1112 |
// public static final String ABCD_IMPORT_CONFIGURATOR_DO_SIBLINGS = "eu.etaxonomy.taxeditor.abcd_import_configurator.doSiblings"; |
|
1113 |
// public static final String ABCD_IMPORT_CONFIGURATOR_IGNORE_IMPORT_OF_EXISTING_SPECIMEN= "eu.etaxonomy.taxeditor.abcd_import_configurator.ignoreImportOfExistingSpecimen"; |
|
1114 |
// public static final String ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_TAXA_WHEN_POSSIBLE= "eu.etaxonomy.taxeditor.abcd_import_configurator.reuseExistingTaxaWhenPossible"; |
|
1115 |
// public static final String ABCD_IMPORT_CONFIGURATOR_IGNORE_AUTHORSHIP= "eu.etaxonomy.taxeditor.abcd_import_configurator.ignoreAuthorship"; |
|
1116 |
// public static final String ABCD_IMPORT_CONFIGURATOR_REMOVE_COUNTRY_FROM_LOCALITY_TEXT= "eu.etaxonomy.taxeditor.abcd_import_configurator.removeCountryFromLocalityText"; |
|
1117 |
// public static final String ABCD_IMPORT_CONFIGURATOR_ADD_MEDIA_AS_MEDIASPECIMEN= "eu.etaxonomy.taxeditor.abcd_import_configurator.addMediaAsMediaSpecimen"; |
|
1118 |
// public static final String ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_META_DATA= "eu.etaxonomy.taxeditor.abcd_import_configurator.reuseExistingMetaData"; |
|
1119 |
// public static final String ABCD_IMPORT_CONFIGURATOR_ADD_INDIVIDUALS_ASSOCIATIONS_SUCH_AS_SPECIMEN_AND_OBSERVATIONS= "eu.etaxonomy.taxeditor.abcd_import_configurator.addIndividualsAssociationsSuchAsSpecimenAndObservations"; |
|
1120 |
// public static final String ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_DESCRIPTIVE_GROUPS= "eu.etaxonomy.taxeditor.abcd_import_configurator.reuseExistingDescriptiveGroups"; |
|
1121 |
// public static final String ABCD_IMPORT_CONFIGURATOR_ALLOW_REUSE_OTHER_CLASSIFICATIONS= "eu.etaxonomy.taxeditor.abcd_import_configurator.allowReuseOtherClassifications"; |
|
1122 |
// public static final String ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_REFERENCES= "eu.etaxonomy.taxeditor.abcd_import_configurator.deduplicateReferences"; |
|
1123 |
// public static final String ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_CLASSIFICATIONS= "eu.etaxonomy.taxeditor.abcd_import_configurator.deduplicateClassifications"; |
|
1124 |
// public static final String ABCD_IMPORT_CONFIGURATOR_MOVE_NEW_TAXA_TO_DEFAULT_CLASSIFICATION= "eu.etaxonomy.taxeditor.abcd_import_configurator.moveNewTaxaToDefaultClassification"; |
|
1125 |
// public static final String ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TOCATALOG_NUMBER= "eu.etaxonomy.taxeditor.abcd_import_configurator.mapUnitIdToCatalogNumber"; |
|
1126 |
// public static final String ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_ACCESSION_NUMBER= "eu.etaxonomy.taxeditor.abcd_import_configurator.mapUnitIdToAccessionNumber"; |
|
1127 |
// public static final String ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_BARCODE= "eu.etaxonomy.taxeditor.abcd_import_configurator.mapUnitIdToBarcode"; |
|
1128 |
// public static final String ABCD_IMPORT_CONFIGURATOR_OVERWRITE_EXISTING_SPECIMEN= "eu.etaxonomy.taxeditor.abcd_import_configurator.overwriteExistingSpecimens"; |
|
1129 |
// |
|
1130 |
// */ |
|
1131 |
// |
|
1132 |
// getPreferenceStore().setValue(ABCD_IMPORT_CONFIGURATOR_SOURCE_URI, |
|
1133 |
// getPreferenceKey(preferredConfiguration.getSourceUri())); |
|
1134 |
// } |
|
1135 |
// else{ |
|
1136 |
// ICdmRepository controller; |
|
1137 |
// controller = CdmStore.getCurrentApplicationConfiguration(); |
|
1138 |
// PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NomenclaturalCode); |
|
1139 |
// CdmPreference preference = null; |
|
1140 |
// if (controller == null){ |
|
1141 |
// return null; |
|
1142 |
// } |
|
1143 |
// if (preferredCode == null){ |
|
1144 |
// preference = controller.getPreferenceService().find(key); |
|
1145 |
// if (preference == null){ |
|
1146 |
// return null; |
|
1147 |
// } else{ |
|
1148 |
// int index = StringUtils.lastIndexOf(preference.getValue(), "."); |
|
1149 |
// UUID uuid = UUID.fromString(preference.getValue().substring(index +1, preference.getValue().length())); |
|
1150 |
// preferredCode = NomenclaturalCode.getByUuid(uuid); |
|
1151 |
// |
|
1152 |
// getPreferenceStore().setValue(CDM_NOMENCLATURAL_CODE_KEY, |
|
1153 |
// getPreferenceKey(preferredCode)); |
|
1154 |
// getPreferenceStore().setValue(ALLOW_OVERRIDE_NOMENCLATURAL_CODE_KEY,preference.isAllowOverride()); |
|
1155 |
// return preference; |
|
1156 |
// } |
|
1157 |
// } else{ |
|
1158 |
// preference = CdmPreference.NewInstance(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NomenclaturalCode, preferredCode.getKey()); |
|
1159 |
// controller.getPreferenceService().set(preference); |
|
1160 |
// |
|
1161 |
// } |
|
1162 |
// } |
|
1163 |
// return null; |
|
1164 |
// |
|
1165 |
// |
|
1166 |
// |
|
1167 |
// } |
|
1109 |
public static Abcd206ImportConfigurator getAbcdImportConfigurationPreference(boolean useLocal) { |
|
1110 |
|
|
1111 |
Abcd206ImportConfigurator config = Abcd206ImportConfigurator.NewInstance(null,null); |
|
1112 |
|
|
1113 |
if (useLocal){ |
|
1114 |
config.setAddIndividualsAssociationsSuchAsSpecimenAndObservations(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_ADD_INDIVIDUALS_ASSOCIATIONS_SUCH_AS_SPECIMEN_AND_OBSERVATIONS)); |
|
1115 |
|
|
1116 |
config.setAddMediaAsMediaSpecimen(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_ADD_MEDIA_AS_MEDIASPECIMEN)); |
|
1117 |
|
|
1118 |
config.setAllowReuseOtherClassifications(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_ALLOW_REUSE_OTHER_CLASSIFICATIONS)); |
|
1119 |
config.setDeduplicateClassifications(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_CLASSIFICATIONS)); |
|
1120 |
config.setDeduplicateReferences(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_REFERENCES)); |
|
1121 |
|
|
1122 |
config.setGetSiblings(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_DO_SIBLINGS)); |
|
1123 |
config.setIgnoreAuthorship(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_IGNORE_AUTHORSHIP)); |
|
1124 |
config.setIgnoreImportOfExistingSpecimen(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_IGNORE_IMPORT_OF_EXISTING_SPECIMEN)); |
|
1125 |
config.setMapUnitIdToAccessionNumber(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_ACCESSION_NUMBER)); |
|
1126 |
config.setMapUnitIdToBarcode(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_BARCODE)); |
|
1127 |
config.setMapUnitIdToCatalogNumber(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TOCATALOG_NUMBER)); |
|
1128 |
config.setMoveNewTaxaToDefaultClassification(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_MOVE_NEW_TAXA_TO_DEFAULT_CLASSIFICATION)); |
|
1129 |
config.setOverwriteExistingSpecimens(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_OVERWRITE_EXISTING_SPECIMEN)); |
|
1130 |
config.setReuseExistingDescriptiveGroups(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_DESCRIPTIVE_GROUPS)); |
|
1131 |
config.setReuseExistingMetaData(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_META_DATA)); |
|
1132 |
config.setReuseExistingTaxaWhenPossible(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_TAXA_WHEN_POSSIBLE)); |
|
1133 |
return config; |
|
1134 |
|
|
1135 |
} |
|
1136 |
ICdmRepository controller; |
|
1137 |
controller = CdmStore.getCurrentApplicationConfiguration(); |
|
1138 |
PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AbcdImportConfig); |
|
1139 |
CdmPreference preference = null; |
|
1140 |
if (controller == null){ |
|
1141 |
return null; |
|
1142 |
} |
|
1143 |
preference = controller.getPreferenceService().find(key); |
|
1144 |
if (preference == null){ |
|
1145 |
return config; |
|
1146 |
} else{ |
|
1147 |
String configString = preference.getValue(); |
|
1148 |
String[] configArray = configString.split(";"); |
|
1149 |
|
|
1150 |
for (String configItem: configArray){ |
|
1151 |
String[] keyValue = configItem.split(":"); |
|
1152 |
String keyString = keyValue[0]; |
|
1153 |
String valueString = keyValue[1]; |
|
1154 |
if (keyString.equals("ignoreImportOfExistingSpecimen")){ |
|
1155 |
config.setIgnoreImportOfExistingSpecimen(Boolean.valueOf(valueString)); |
|
1156 |
}else if (keyString.equals("addIndividualsAssociationsSuchAsSpecimenAndObservations")){ |
|
1157 |
config.setAddIndividualsAssociationsSuchAsSpecimenAndObservations(Boolean.valueOf(valueString)); |
|
1158 |
}else if (keyString.equals("reuseExistingTaxaWhenPossible")){ |
|
1159 |
config.setReuseExistingTaxaWhenPossible(Boolean.valueOf(valueString)); |
|
1160 |
}else if (keyString.equals("ignoreAuthorship")){ |
|
1161 |
config.setIgnoreAuthorship(Boolean.valueOf(valueString)); |
|
1162 |
}else if (keyString.equals("addMediaAsMediaSpecimen")){ |
|
1163 |
config.setAddMediaAsMediaSpecimen(Boolean.valueOf(valueString)); |
|
1164 |
}else if (keyString.equals("reuseExistingMetaData")){ |
|
1165 |
config.setReuseExistingMetaData(Boolean.valueOf(valueString)); |
|
1166 |
}else if (keyString.equals("reuseExistingDescriptiveGroups")){ |
|
1167 |
config.setReuseExistingDescriptiveGroups(Boolean.valueOf(valueString)); |
|
1168 |
}else if (keyString.equals("allowReuseOtherClassifications")){ |
|
1169 |
config.setAllowReuseOtherClassifications(Boolean.valueOf(valueString)); |
|
1170 |
}else if (keyString.equals("deduplicateReferences")){ |
|
1171 |
config.setDeduplicateReferences(Boolean.valueOf(valueString)); |
|
1172 |
}else if (keyString.equals("deduplicateClassifications")){ |
|
1173 |
config.setDeduplicateClassifications(Boolean.valueOf(valueString)); |
|
1174 |
}else if (keyString.equals("moveNewTaxaToDefaultClassification")){ |
|
1175 |
config.setMoveNewTaxaToDefaultClassification(Boolean.valueOf(valueString)); |
|
1176 |
}else if (keyString.equals("mapUnitIdToCatalogNumber")){ |
|
1177 |
config.setMapUnitIdToCatalogNumber(Boolean.valueOf(valueString)); |
|
1178 |
}else if (keyString.equals("mapUnitIdToAccessionNumber")){ |
|
1179 |
config.setMapUnitIdToAccessionNumber(Boolean.valueOf(valueString)); |
|
1180 |
}else if (keyString.equals("mapUnitIdToBarcode")){ |
|
1181 |
config.setMapUnitIdToBarcode(Boolean.valueOf(valueString)); |
|
1182 |
}else if (keyString.equals("overwriteExistingSpecimens")){ |
|
1183 |
config.setOverwriteExistingSpecimens(Boolean.valueOf(valueString)); |
|
1184 |
}else{ |
|
1185 |
logger.debug("This key of the abcd configurator needs to be added to the transformer: " + keyString); |
|
1186 |
} |
|
1187 |
|
|
1188 |
} |
|
1189 |
} |
|
1190 |
return config; |
|
1191 |
|
|
1192 |
|
|
1193 |
|
|
1194 |
} |
|
1168 | 1195 |
|
1169 | 1196 |
|
1170 | 1197 |
|
Also available in: Unified diff
add abcd import configuration to preferences