taxonWrapper.getDescriptionsWrapper().getDescriptions().add(desc);
}
desc.addElement(dist);
+ editor.part.getCdmEntitySession().load(desc, true);
distributions.add(dist);
}
@Override
public void widgetSelected(SelectionEvent event) {
- defaultSource = part.getCdmEntitySession().load(ReferenceSelectionDialog.select(AbstractUtility.getShell(), null), true);
+ defaultSource = ReferenceSelectionDialog.select(AbstractUtility.getShell(), null);
String defaultSourceStr = (defaultSource == null) ? "" : "Default Source Reference: " + defaultSource.getTitleCache();
if (defaultSourceStr.length()> 100){
return defaultSource;
}
- /**
- * @param result
- */
- public void reloadDistributions() {
- loadDistributions(taxonList);
-
- }
+// /**
+// * @param result
+// */
+// public void reloadDistributions() {
+// loadDistributions(taxonList);
+//
+// }
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IDescriptionService;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
+import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.UpdateResult;
import eu.etaxonomy.cdm.api.service.dto.TaxonDistributionDTO;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
+import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.persistence.dto.MergeResult;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
protected void saveDistributions() {
Set<TaxonDistributionDTO> coll = new HashSet();
- editor.taxonList.forEach(dto->coll.add(dto));
+ editor.getDescriptionsToSave().forEach(dto->coll.add(dto));
+ for (TaxonDistributionDTO dto: coll){
+ Taxon taxon = null;
+ for(TaxonDescription desc: dto.getDescriptionsWrapper().getDescriptions()){
+ if (desc.getTaxon() == null){
+ if (taxon == null){
+ taxon = (Taxon)CdmStore.getService(ITaxonService.class).load(dto.getTaxonUuid());
+ }
+ taxon.addDescription(desc);
+ }
+ if (taxon != null){
+ CdmStore.getService(ITaxonService.class).merge(taxon, true);
+ }
+ }
+ }
+
List<MergeResult<DescriptionBase>> result = CdmStore.getService(IDescriptionService.class).mergeDescriptionElements(coll, true);
for (MergeResult<DescriptionBase> mergeRes: result ){
cdmEntitySession.load(mergeRes, true);
+ cdmEntitySession.load(editor.getDefaultSource(), true);
}
- // editor.createTaxonDistributionMap();
+ editor.createTaxonDistributionMap();
conversation.commit();
this.dirty.setDirty(false);
editor.getDescriptionsToSave().clear();
if (PreferencesUtil.getStringValue(EditorPreferencePredicate.DistributionEditorActivated.getKey()) != null){
TermDisplayEnum areaDisplay;
try{
- areaDisplay = TermDisplayEnum.valueOf(displayArea);
+ if (displayArea != null){
+ areaDisplay = TermDisplayEnum.valueOf(displayArea);
+ }else{
+ areaDisplay = TermDisplayEnum.Title;
+ }
}catch(IllegalArgumentException e){
areaDisplay = TermDisplayEnum.Title;
}
statusDisplaySelectionCombo.add(display.getLabel());
}
index = 0;
- if (PreferencesUtil.displayStatusInChecklistEditor() != null){
+ if (displayStatus != null){
TermDisplayEnum statusDisplay = TermDisplayEnum.valueOf(displayStatus);
for (String itemLabel : statusDisplaySelectionCombo.getItems()){
if (itemLabel.equalsIgnoreCase(statusDisplay.getLabel())){
public static FeatureTree getDefaultFeatureTreeForTextualDescription() {
String uuidString = getStringValue(
FEATURE_TREE_DEFAULT_TEXT);
- if (uuidString == null) {
+ if (StringUtils.isBlank(uuidString)) {
return null;
}
FeatureTree tree = CdmStore.getService(
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITermService;
-import eu.etaxonomy.cdm.api.service.IVocabularyService;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
savePref.setAllowOverride(pref.isAllowOverride());
PreferencesUtil.setPreferenceToDB(savePref);
Collection<DefinedTermBase> terms = new ArrayList<>();
- Collection<TermDto> termDtos = CdmStore.getService(IVocabularyService.class).getCompleteTermHierarchy(aPage.getVocabularies().get(0).getUuid());
- termDtos.forEach(dto -> terms.add(CdmStore.getService(ITermService.class).load(dto.getUuid())));
+// Collection<TermDto> termDtos = CdmStore.getService(IVocabularyService.class).getCompleteTermHierarchy(aPage.getVocabularies().get(0).getUuid());
+// termDtos.forEach(dto -> terms.add(CdmStore.getService(ITermService.class).load(dto.getUuid())));
+// CdmStore.getTermManager().setPreferredTerms(preferredTerms, terms);
+ terms.addAll(CdmStore.getService(ITermService.class).listByTermType(this.aPage.type, null, 0, null, null));
+
+// aPage.getVocabularies().get(0).getTerms()
+// .forEach(dto -> terms.add(CdmStore.getService(ITermService.class).load(dto.getUuid())));
CdmStore.getTermManager().setPreferredTerms(preferredTerms, terms);
+ CdmStore.getTermManager().clearTermMapForTermType(this.aPage.type);
PreferencesUtil.firePreferencesChanged(this.getClass());
return true;
}