From: Patrick Plitzner
Date: Wed, 7 Oct 2015 07:20:38 +0000 (+0200)
Subject: Refresh hierarchy tree after searching
X-Git-Tag: 3.12.0^2~62^2~7^2~50
X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/c25cef49e47ef272b86ed02e9aea0abe41f4c106
Refresh hierarchy tree after searching
---
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
index e754897f4..bc3f8b08f 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
@@ -4,6 +4,7 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.Map.Entry;
import java.util.Set;
+import java.util.UUID;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.action.MenuManager;
@@ -245,6 +246,10 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
changed(null);
}
+ protected void setRootEntities(Collection rootEntityUuids){
+ ((DerivateViewEditorInput)getEditorInput()).updateRootEntities(rootEntityUuids);
+ }
+
/**
* Refreshes the derivate hierarchy tree and expands the tree
* to show and select the given object.
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateViewEditorInput.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateViewEditorInput.java
index 9aba5bfb6..e0e5efc73 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateViewEditorInput.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateViewEditorInput.java
@@ -11,6 +11,7 @@ package eu.etaxonomy.taxeditor.editor.view.derivate;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -46,7 +47,7 @@ public class DerivateViewEditorInput extends CdmEntitySessionInput implements IE
/**
* The selected derivate {@link UUID}s
*/
- private final Set> derivateEntities;
+ private Set> derivateEntities;
/**
* List of the {@link UUID}s of the root elements of the hierarchy (may be the same objects as the derivates)
*/
@@ -86,24 +87,7 @@ public class DerivateViewEditorInput extends CdmEntitySessionInput implements IE
//then be used for the hashCode, equals methods
initSession();
this.conversationHolder = CdmStore.createConversation();
- this.derivateEntities = new HashSet>();
- this.rootEntities = new HashSet>();
- for (UUID uuid : derivateUuids) {
- SpecimenOrObservationBase> derivate = CdmStore.getService(IOccurrenceService.class).load(uuid, SPECIMEN_INIT_STRATEGY);
- derivateEntities.add(derivate);
- if(derivate instanceof FieldUnit){
- rootEntities.add(derivate);
- }
- else if(derivate instanceof DerivedUnit){
- SpecimenOrObservationBase> topMostDerivate = EditorUtil.getTopMostDerivate(derivate);
- if(topMostDerivate!=null){
- rootEntities.add(topMostDerivate);
- }
- }
- }
- if(rootEntities.isEmpty()){
- rootEntities = derivateEntities;
- }
+ updateRootEntities(derivateUuids);
}
@@ -193,9 +177,6 @@ public class DerivateViewEditorInput extends CdmEntitySessionInput implements IE
return conversationHolder;
}
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
@Override
public int hashCode() {
final int prime = 31;
@@ -204,9 +185,6 @@ public class DerivateViewEditorInput extends CdmEntitySessionInput implements IE
return result;
}
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
@Override
public boolean equals(Object obj) {
if (this == obj) {
@@ -229,9 +207,6 @@ public class DerivateViewEditorInput extends CdmEntitySessionInput implements IE
return true;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
- */
@Override
public void merge() {
if(CdmStore.getCurrentSessionManager().isRemoting()) {
@@ -240,9 +215,6 @@ public class DerivateViewEditorInput extends CdmEntitySessionInput implements IE
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getPropertyPathsMap()
- */
@Override
public Map