Project

General

Profile

« Previous | Next » 

Revision f4f3c705

Added by Andreas Kohlbecker about 5 years ago

ref #8160 CdmBeanItemContainerFactory as service bean to load entities only in readyOnly transactions to avoid unintendet flushing

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/view/name/SpecimenTypeDesignationWorkingsetEditorPresenter.java
41 41
import eu.etaxonomy.cdm.persistence.dao.common.Restriction.Operator;
42 42
import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
43 43
import eu.etaxonomy.cdm.persistence.query.MatchMode;
44
import eu.etaxonomy.cdm.service.CdmBeanItemContainerFactory;
44 45
import eu.etaxonomy.cdm.service.CdmFilterablePagingProvider;
45 46
import eu.etaxonomy.cdm.service.CdmFilterablePagingProviderFactory;
46 47
import eu.etaxonomy.cdm.service.CdmStore;
47 48
import eu.etaxonomy.cdm.service.ISpecimenTypeDesignationWorkingSetService;
48 49
import eu.etaxonomy.cdm.service.UserHelperAccess;
49 50
import eu.etaxonomy.cdm.service.initstrategies.AgentBaseInit;
50
import eu.etaxonomy.cdm.vaadin.component.CdmBeanItemContainerFactory;
51 51
import eu.etaxonomy.cdm.vaadin.component.CollectionRowItemCollection;
52 52
import eu.etaxonomy.cdm.vaadin.event.EditorActionContext;
53 53
import eu.etaxonomy.cdm.vaadin.event.EntityChangeEvent;
......
93 93
    @Autowired
94 94
    private ISpecimenTypeDesignationWorkingSetService specimenTypeDesignationWorkingSetService;
95 95

  
96
    @Autowired
97
    protected CdmFilterablePagingProviderFactory pagingProviderFactory;
98

  
99
    @Autowired
100
    protected CdmBeanItemContainerFactory cdmBeanItemContainerFactory;
101

  
96 102
    /**
97 103
     * if not null, this CRUD set is to be used to create a CdmAuthoritiy for the base entitiy which will be
98 104
     * granted to the current use as long this grant is not assigned yet.
......
101 107

  
102 108
    private ICdmEntityUuidCacher cache;
103 109

  
104
    @Autowired
105
    protected CdmFilterablePagingProviderFactory pagingProviderFactory;
106

  
107 110
    SpecimenTypeDesignationWorkingSetDTO<Registration> workingSetDto;
108 111

  
109 112
    private Map<CollectionPopupEditor, SpecimenTypeDesignationDTORow> collectionPopupEditorsRowMap = new HashMap<>();
......
182 185
    @Override
183 186
    public void handleViewEntered() {
184 187

  
185
        CdmBeanItemContainerFactory selectFactory = new CdmBeanItemContainerFactory(getRepo());
186
        getView().getCountrySelectField().setContainerDataSource(selectFactory.buildBeanItemContainer(Country.uuidCountryVocabulary));
188
        getView().getCountrySelectField().setContainerDataSource(cdmBeanItemContainerFactory.buildBeanItemContainer(Country.uuidCountryVocabulary));
187 189

  
188 190
        CdmFilterablePagingProvider<AgentBase, TeamOrPersonBase> termOrPersonPagingProvider = new CdmFilterablePagingProvider<AgentBase, TeamOrPersonBase>(getRepo().getAgentService(), TeamOrPersonBase.class);
189 191
        CdmFilterablePagingProvider<AgentBase, Person> personPagingProvider = new CdmFilterablePagingProvider<AgentBase, Person>(getRepo().getAgentService(), Person.class);
......
192 194
        getView().getCollectorField().setFilterablePersonPagingProvider(personPagingProvider, this);
193 195
        getView().getCollectorField().setFilterableTeamPagingProvider(termOrPersonPagingProvider, this);
194 196

  
195
        getView().getExactLocationField().getReferenceSystemSelect().setContainerDataSource(selectFactory.buildBeanItemContainer(TermType.ReferenceSystem));
197
        getView().getExactLocationField().getReferenceSystemSelect().setContainerDataSource(cdmBeanItemContainerFactory.buildBeanItemContainer(TermType.ReferenceSystem));
196 198
        getView().getExactLocationField().getReferenceSystemSelect().setItemCaptionPropertyId("label");
197 199

  
198 200
        getView().getTypeDesignationsCollectionField().addElementRemovedListener(e -> deleteTypeDesignation(e.getElement()));
......
211 213

  
212 214
                SpecimenTypeDesignationDTORow row = new SpecimenTypeDesignationDTORow();
213 215

  
214
                row.kindOfUnit.setContainerDataSource(selectFactory.buildTermItemContainer(
216
                row.kindOfUnit.setContainerDataSource(cdmBeanItemContainerFactory.buildTermItemContainer(
215 217
                        RegistrationTermLists.KIND_OF_UNIT_TERM_UUIDS())
216 218
                        );
217 219
                row.kindOfUnit.setNullSelectionAllowed(false);
218 220

  
219
                row.typeStatus.setContainerDataSource(selectFactory.buildTermItemContainer(
221
                row.typeStatus.setContainerDataSource(cdmBeanItemContainerFactory.buildTermItemContainer(
220 222
                        RegistrationTermLists.SPECIMEN_TYPE_DESIGNATION_STATUS_UUIDS())
221 223
                        );
222 224
                row.typeStatus.setNullSelectionAllowed(false);

Also available in: Unified diff