cleanup and subtasks for referencing objects progress monitor
authorAndreas Müller <a.mueller@bgbm.org>
Fri, 19 Mar 2021 19:22:39 +0000 (20:22 +0100)
committerAndreas Müller <a.mueller@bgbm.org>
Tue, 23 Mar 2021 10:01:50 +0000 (11:01 +0100)
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsLabelProvider.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/e4/ReferencingObjectsViewE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/TextHelper.java

index e08b3d5f1640c28b1650841231ce71622f1dfb6b..355563ce1b2d0762234e1fd8895376a71781578f 100644 (file)
@@ -64,6 +64,5 @@ public class ReferencingObjectsLabelProvider extends LabelProvider implements IT
                }
 
                return (StringUtils.isBlank(text)) ? Messages.ReferencingObjectsLabelProvider_No_description_available : text;
-
        }
-}
+}
\ No newline at end of file
index dab48be3de4042718065c1c1c108d35fbf72c825..fee80aca62af3d721b58bf93f62f1bcdd2370cd9 100644 (file)
@@ -211,7 +211,7 @@ public class ReferencingObjectsViewE4 extends AbstractCdmEditorPartE4 implements
                                monitor.beginTask("Calculating referencing objects", 100);
                                actualUuid = entityUUID;
 
-                               monitor.worked(5);
+                               monitor.worked(2);
                                referencingObjects = new ArrayList<>();
                                if(monitor.isCanceled()) {
                                    actualUuid = null;
@@ -223,6 +223,7 @@ public class ReferencingObjectsViewE4 extends AbstractCdmEditorPartE4 implements
                                }
                                actualMonitor = monitor;
                                if (entityUUID != null){
+                                   monitor.subTask("Load data from server");
                        referencingObjectsSet = getReferencingObjects(entityUUID, objectClass);
 
                        if(monitor.isCanceled()) {
@@ -230,7 +231,8 @@ public class ReferencingObjectsViewE4 extends AbstractCdmEditorPartE4 implements
 
                            return Status.CANCEL_STATUS;
                        }
-                       monitor.worked(30);
+                       monitor.worked(33);
+                    monitor.subTask("Sort");
                        referencingObjects = sortReferencing();
                        if (referencingObjects == null){
                            if (monitor.isCanceled()){
@@ -243,16 +245,16 @@ public class ReferencingObjectsViewE4 extends AbstractCdmEditorPartE4 implements
                        if(monitor.isCanceled()) {
                            return Status.CANCEL_STATUS;
                        }
-                       monitor.worked(80);
+                       monitor.worked(35);
+                       monitor.subTask("Update View");
 
                        updateView();
+                       monitor.worked(30);
                                }
                                monitor.done();
                                actualMonitor = null;
 
                                return Status.OK_STATUS;
-
-
                        }
                };
                currentJob.setUser(true);
@@ -331,7 +333,7 @@ public class ReferencingObjectsViewE4 extends AbstractCdmEditorPartE4 implements
        private List<CdmBase> sortReferencing(){
 
            if (referencingObjectsSet != null){
-            List<CdmBase> referencingObjects = new ArrayList<CdmBase>(referencingObjectsSet);
+            List<CdmBase> referencingObjects = new ArrayList<>(referencingObjectsSet);
             try{
                 Collections.sort(referencingObjects, new ReferencingClassComparator());
             }catch (RemoteAccessException e){
@@ -361,7 +363,7 @@ public class ReferencingObjectsViewE4 extends AbstractCdmEditorPartE4 implements
                                    return o1.getUuid().compareTo(o2.getUuid());
                                }
                        }
-                               return result;
+                       return result;
                }
        }
 
@@ -397,7 +399,6 @@ public class ReferencingObjectsViewE4 extends AbstractCdmEditorPartE4 implements
                     contentDescription.setText(description.replace("&", "&&"));
                 }
             }
-
          });
         }
 
@@ -436,19 +437,17 @@ public class ReferencingObjectsViewE4 extends AbstractCdmEditorPartE4 implements
                    if (referencedCdmObject.getUuid() == actualUuid){
                        return;
                    }
-                   if (referencedCdmObject != null){
-                if(referencedCdmObject.isInstanceOf(IdentifiableEntity.class)){
-                    referencedObjectTitleCache = (HibernateProxyHelper.deproxy(referencedCdmObject, IdentifiableEntity.class)).getTitleCache();
-                }
-                else if(referencedCdmObject.isInstanceOf(DescriptionElementBase.class)){
-                    referencedObjectTitleCache = DescriptionHelper.getLabel(referencedCdmObject);
-                }
-                else if (referencedCdmObject.isInstanceOf(User.class)){
-                    referencedObjectTitleCache = ((User)referencedCdmObject).getUsername();
-                }else if (referencedCdmObject.isInstanceOf(TaxonNode.class)){
-                    referencedObjectTitleCache = "TaxonNode of "+(HibernateProxyHelper.deproxy(referencedCdmObject, TaxonNode.class)).getTaxon().getTitleCache();
-                }
-                   }
+               if(referencedCdmObject.isInstanceOf(IdentifiableEntity.class)){
+                referencedObjectTitleCache = (HibernateProxyHelper.deproxy(referencedCdmObject, IdentifiableEntity.class)).getTitleCache();
+            }
+            else if(referencedCdmObject.isInstanceOf(DescriptionElementBase.class)){
+                referencedObjectTitleCache = DescriptionHelper.getLabel(referencedCdmObject);
+            }
+            else if (referencedCdmObject.isInstanceOf(User.class)){
+                referencedObjectTitleCache = ((User)referencedCdmObject).getUsername();
+            }else if (referencedCdmObject.isInstanceOf(TaxonNode.class)){
+                referencedObjectTitleCache = "TaxonNode of "+(HibernateProxyHelper.deproxy(referencedCdmObject, TaxonNode.class)).getTaxon().getTitleCache();
+            }
                    if (referencedObjectTitleCache != null){
                        updateDescription(referencedCdmObject.getUserFriendlyTypeName() + " '" + referencedObjectTitleCache + "' is referenced by:");
                    } else{
index fecd37545c4628b31a41637c6328347cae2f8137..059b9c80f539929cd5eb1bb7d575d253fa816491 100644 (file)
@@ -1,29 +1,25 @@
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* 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.model;
 
 import org.eclipse.swt.graphics.GC;
 import org.eclipse.swt.widgets.Control;
 
 /**
- * <p>TextHelper class.</p>
- *
  * @author n.hoffmann
  * @created Mar 30, 2010
- * @version 1.0
  */
 public class TextHelper {
-       
+
        /** Constant <code>ELLIPSIS="..."</code> */
        public static final String ELLIPSIS = "...";
-               
+
        /**
         * <p>shortenText</p>
         *
@@ -45,7 +41,7 @@ public class TextHelper {
                }
                int length = textValue.length();
                int charsToClip = Math.round(0.95f*length * (1 - ((float)maxWidth/maxExtent)));
-               
+
                int end = length - charsToClip;
                while (end > 0) {
                        String s1 = textValue.substring(0, end);
@@ -59,9 +55,9 @@ public class TextHelper {
                }
                gc.dispose();
                return textValue;
-               
+
        }
-       
+
        public static String deproxyClassName(Class clazz){
                String name = clazz.getSimpleName();
                if (name.indexOf("_$$")>-1){