}
}
viewer.setInput(rootElements);
- refreshTree();
+ refreshTree(false);
previousCdmEntitySession.bind();
}
}
* Refreshes the derivate hierarchy tree
*/
public void refreshTree(){
+ refreshTree(true);
+ }
+
+ /**
+ * Refreshes the derivate hierarchy tree
+ * @param refreshViewer if <code>true</code> then also the
+ * viewer will be refreshed. This was implemented due to
+ * performance reasons. If passing <code>false</code>
+ * does what was expected use <code>false</code> preferably.
+ */
+ public void refreshTree(boolean refreshViewer){
//refresh typedesignations
labelProvider.refresh();
- viewer.refresh();
+ if(refreshViewer){
+ viewer.refresh();
+ }
}
//FIXME:Remoting hack to make this work for remoting
DerivedUnit derivedUnit = (DerivedUnit)derivate;
if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){
//check for type designation
- if(typeDesignations.isEmpty()){
+ if(typeDesignations.get(derivedUnit)==null){
for (SpecimenTypeDesignation specimenTypeDesignation : CdmStore.getService(IOccurrenceService.class).listTypeDesignations(derivedUnit, null, null, null, null)) {
addTypeDesignation(derivedUnit, specimenTypeDesignation);
}
* @param multiLinkSingleReads
*/
public void refresh() {
- this.multiLinkSingleReads = new HashSet<SingleRead>();
+ DerivateLabelProvider.multiLinkSingleReads = new HashSet<SingleRead>();
for(Entry<SingleRead, Collection<Sequence>> entry:CdmStore.getService(ISequenceService.class).getSingleReadSequencesMap().entrySet()){
if(entry.getValue().size()>1){
multiLinkSingleReads.add(entry.getKey());
}
}
- this.typeDesignations = new HashMap<DerivedUnit, List<SpecimenTypeDesignation>>();
+ DerivateLabelProvider.typeDesignations = new HashMap<DerivedUnit, List<SpecimenTypeDesignation>>();
}
private static void addTypeDesignation(DerivedUnit derivedUnit, SpecimenTypeDesignation typeDesignation){