ref #7505, #6321 Disable parallel loading
[taxeditor.git] / eu.etaxonomy.taxeditor.bulkeditor / src / main / java / eu / etaxonomy / taxeditor / bulkeditor / input / NameEditorInput.java
index ae0a2dbceda438d7a4ef84d6617b557d4566d552..08deec5acdf32c944ce02baf3a760113ea3e887d 100644 (file)
@@ -17,6 +17,7 @@ import eu.etaxonomy.cdm.api.service.INameService;
 import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
 import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
 import eu.etaxonomy.cdm.api.service.config.NameDeletionConfigurator;
+import eu.etaxonomy.cdm.model.name.HybridRelationship;
 import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
 import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
@@ -73,10 +74,19 @@ public class NameEditorInput extends AbstractBulkEditorInput<TaxonName> {
                return false;
        }
 
+       @Override
+       protected int getPageSize() {
+           return 50;
+       }
+
+       @Override
+       protected long countEntities(IIdentifiableEntityServiceConfigurator configurator) {
+           return CdmStore.getService(INameService.class).countByTitle(configurator);
+       }
+
        /** {@inheritDoc} */
        @Override
        public List listEntities(IIdentifiableEntityServiceConfigurator configurator) {
-
                configurator.setPropertyPaths(getPropertyPaths());
                return CdmStore.getSearchManager().findNames(configurator, this.getConversation());
        }
@@ -145,6 +155,21 @@ public class NameEditorInput extends AbstractBulkEditorInput<TaxonName> {
                List<String> propertyPaths = Arrays.asList(new String[]{});
                return CdmStore.getService(INameService.class).load(entityUuid, getPropertyPaths());
        }
+       @Override
+        public void addSaveCandidate(TaxonName name){
+           if (!name.getHybridChildRelations().isEmpty()){
+               for (HybridRelationship rel: name.getHybridChildRelations()){
+                   if (!rel.getParentName().isPersited()){
+                       super.addSaveCandidate(rel.getParentName());
+                   }
+                   if (!rel.getHybridName().isPersited()){
+                    super.addSaveCandidate(rel.getHybridName());
+                }
+               }
+           }
+
+        super.addSaveCandidate(name);
+    }
 
 
     private List<String> getPropertyPaths(){