Merge branch 'feature/#6687' into develop
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Tue, 13 Jun 2017 13:21:13 +0000 (15:21 +0200)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Tue, 13 Jun 2017 13:21:13 +0000 (15:21 +0200)
1  2 
src/main/java/eu/etaxonomy/cdm/vaadin/view/name/TaxonNameEditorPresenter.java
src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationWorkflowPresenter.java
src/main/java/eu/etaxonomy/vaadin/mvp/AbstractPopupEditor.java

index 84d41fd7ceffd1b4ee8015c6bb305cdefee1a698,0edea3d9dd98cb7a37ada41dce072d7ea75ac643..80f04c9b1e32c5ce9c21e8b892108ed839cd05bf
@@@ -39,16 -40,60 +39,28 @@@ public class TaxonNameEditorPresenter e
      public void handleViewEntered() {
          super.handleViewEntered();
  
 -        getView().getNomReferenceCombobox().getSelect().setCaptionGenerator(new CaptionGenerator<Reference>(){
 +        getView().getNomReferenceCombobox().getSelect().setCaptionGenerator(new CdmTitleCacheCaptionGenerator<Reference>());
 +        CdmFilterablePagingProvider<Reference> referencePagingProvider = new CdmFilterablePagingProvider<Reference>(getRepo().getReferenceService());
 +        getView().getNomReferenceCombobox().loadFrom(referencePagingProvider, referencePagingProvider, referencePagingProvider.getPageSize());
  
 -            @Override
 -            public String getCaption(Reference option) {
 -                return option.getTitleCache();
 -            }
  
 -        });
 -        getView().getNomReferenceCombobox().loadFrom(new FilterablePagingProvider<Reference>(){
 -
 -            @Override
 -            public List<Reference> findEntities(int firstRow, String filter) {
 -                Pager<Reference> page = getRepo().getReferenceService().findByTitle(
 -                        null,
 -                        filter,
 -                        MatchMode.ANYWHERE,
 -                        null,
 -                        20,
 -                        firstRow,
 -                        OrderHint.ORDER_BY_TITLE_CACHE.asList(),
 -                        Arrays.asList("$")
 -                      );
 -                return page.getRecords();
 -            }},
 -            new FilterableCountProvider(){
 -                @Override
 -                public int size(String filter) {
 -                    Pager<Reference> page = getRepo().getReferenceService().findByTitle(
 -                            null,
 -                            filter,
 -                            MatchMode.ANYWHERE,
 -                            null,
 -                            1,
 -                            0,
 -                            null,
 -                            null
 -                          );
 -                    return page.getCount().intValue();
 -                }}
 -            , 20);
 +        getView().getBasionymCombobox().setCaptionGenerator(new CdmTitleCacheCaptionGenerator<TaxonName>());
 +        CdmFilterablePagingProvider<TaxonName> namePagingProvider = new CdmFilterablePagingProvider<TaxonName>(getRepo().getNameService());
 +        getView().getBasionymCombobox().setPagingProviders(namePagingProvider, namePagingProvider, namePagingProvider.getPageSize());
      }
  
+     @Override
+     protected TaxonName prepareAsFieldGroupDataSource(TaxonName bean){
+         TaxonName initializedBean = getRepo().getNameService().load(bean.getUuid(), Arrays.asList(
+                 "$",
+                 "basionymAuthorship",
+                 "combinationAuthorship",
+                 "exCombinationAuthorship",
+                 "exBasionymAuthorship",
+                 "nomenclaturalReference.authorship.teamMembers"));
+         return initializedBean;
+     }
  
      /**
       * {@inheritDoc}
index 0fb2fc152c8cf8e102c5af24774501d95cf72cea,f4248e2aaa1305e896c613354adee847880c5ec7..f32de396da4edff8529e3cf9816e3fcd567878b0
@@@ -524,10 -524,10 +524,11 @@@ public abstract class AbstractPopupEdit
          fieldLayout.addComponent(component);
      }
  
 +
      public void showInEditor(DTO beanToEdit) {
  
-         fieldGroup.setItemDataSource(beanToEdit);
+         DTO preparedBean = getPresenter().prepareAsFieldGroupDataSource(beanToEdit);
 -        fieldGroup.setItemDataSource(preparedBean);
++      fieldGroup.setItemDataSource(preparedBean);
          afterItemDataSourceSet();
      }