Project

General

Profile

« Previous | Next » 

Revision 843f448b

Added by Andreas Kohlbecker about 6 years ago

fix #7247 TypeDesignationSetManager uses typedesignation itself as base entity for NameTypeDesignations

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/RegistrationItem.java
59 59
public class RegistrationItem extends GridLayout {
60 60

  
61 61

  
62
    /**
63
     *
64
     */
65
    public static final String STYLE_NAME_BLOCKED = "blocked";
66

  
62 67
    private static final String LABEL_CAPTION_CREATED = "Created";
63 68

  
64 69
    private static final String LABEL_CAPTION_PUBLISHED = "Published";
......
258 263

  
259 264
        if(regDto != null && regDto.isBlocked()){
260 265
            getBlockedByButton().setEnabled(true);
261
            getBlockedByButton().addStyleName("blocked");
266
            getBlockedByButton().addStyleName(STYLE_NAME_BLOCKED);
262 267
        }
263 268

  
264 269
        labelMarkup.append(citationString);
src/main/java/eu/etaxonomy/cdm/vaadin/util/converter/TypeDesignationSetManager.java
25 25

  
26 26
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeCacheStrategy;
27 27
import eu.etaxonomy.cdm.model.common.CdmBase;
28
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
29 28
import eu.etaxonomy.cdm.model.common.TermVocabulary;
29
import eu.etaxonomy.cdm.model.common.VersionableEntity;
30 30
import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
31 31
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
32 32
import eu.etaxonomy.cdm.model.name.TaxonName;
......
144 144
        TypeDesignationStatusBase<?> status = td.getTypeStatus();
145 145

  
146 146
        try {
147
            final IdentifiableEntity<?> baseEntity = baseEntity(td);
148
            final TypedEntityReference<IdentifiableEntity<?>> baseEntityReference = makeEntityReference(baseEntity);
147
            final VersionableEntity baseEntity = baseEntity(td);
148
            final TypedEntityReference<VersionableEntity> baseEntityReference = makeEntityReference(baseEntity);
149 149

  
150 150
            EntityReference typeDesignationEntityReference = new EntityReference(td.getId(), stringify(td));
151 151

  
......
166 166
     * @return
167 167
     * @throws DataIntegrityException
168 168
     */
169
    protected IdentifiableEntity<?> baseEntity(TypeDesignationBase<?> td) throws DataIntegrityException {
169
    protected VersionableEntity baseEntity(TypeDesignationBase<?> td) throws DataIntegrityException {
170 170

  
171
        IdentifiableEntity<?> baseEntity = null;
171
        VersionableEntity baseEntity = null;
172 172
        if(td  instanceof SpecimenTypeDesignation){
173 173
            SpecimenTypeDesignation std = (SpecimenTypeDesignation) td;
174 174
            FieldUnit fu = findFieldUnit(std);
......
179 179
            }
180 180
        } else if(td instanceof NameTypeDesignation){
181 181
            baseEntity = ((NameTypeDesignation)td).getTypeName();
182
            baseEntity = td;
182 183
        }
183 184
        if(baseEntity == null) {
184 185
            throw new DataIntegrityException("Incomplete TypeDesignation, no type missin in " + td.toString());
......
190 191
     * @param td
191 192
     * @return
192 193
     */
193
    protected TypedEntityReference<IdentifiableEntity<?>> makeEntityReference(IdentifiableEntity<?> baseEntity) {
194
    protected TypedEntityReference<VersionableEntity> makeEntityReference(VersionableEntity baseEntity) {
194 195

  
195
        baseEntity = (IdentifiableEntity<?>) HibernateHelper.unproxy(baseEntity);
196
        baseEntity = (VersionableEntity) HibernateHelper.unproxy(baseEntity);
196 197
        String label = "";
197 198
        if(baseEntity  instanceof FieldUnit){
198 199
                label = ((FieldUnit)baseEntity).getTitleCache();
199 200
        }
200 201

  
201
        TypedEntityReference<IdentifiableEntity<?>> baseEntityReference = new TypedEntityReference(baseEntity.getClass(), baseEntity.getId(), label);
202
        TypedEntityReference<VersionableEntity> baseEntityReference = new TypedEntityReference(baseEntity.getClass(), baseEntity.getId(), label);
202 203

  
203 204
        return baseEntityReference;
204 205
    }
......
613 614

  
614 615
        String workingSetRepresentation = null;
615 616

  
616
        TypedEntityReference<IdentifiableEntity<?>> baseEntityReference;
617
        TypedEntityReference<VersionableEntity> baseEntityReference;
617 618

  
618
        IdentifiableEntity<?> baseEntity;
619
        VersionableEntity baseEntity;
619 620

  
620 621
        List<DerivedUnit> derivedUnits = null;
621 622

  
622 623
        /**
623 624
         * @param baseEntityReference
624 625
         */
625
        public TypeDesignationWorkingSet(IdentifiableEntity<?> baseEntity, TypedEntityReference<IdentifiableEntity<?>> baseEntityReference) {
626
        public TypeDesignationWorkingSet(VersionableEntity baseEntity, TypedEntityReference<VersionableEntity> baseEntityReference) {
626 627
            this.baseEntity = baseEntity;
627 628
            this.baseEntityReference = baseEntityReference;
628 629
        }
......
630 631
        /**
631 632
         * @return
632 633
         */
633
        public IdentifiableEntity<?> getBaseEntity() {
634
        public VersionableEntity getBaseEntity() {
634 635
            return baseEntity;
635 636
        }
636 637

  
......
671 672
         *
672 673
         * @return the baseEntityReference
673 674
         */
674
        public TypedEntityReference<IdentifiableEntity<?>> getBaseEntityReference() {
675
        public TypedEntityReference<VersionableEntity> getBaseEntityReference() {
675 676
            return baseEntityReference;
676 677
        }
677 678

  
src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationDTO.java
20 20
import org.apache.log4j.Logger;
21 21
import org.joda.time.DateTime;
22 22

  
23
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
24 23
import eu.etaxonomy.cdm.model.common.TimePeriod;
24
import eu.etaxonomy.cdm.model.common.VersionableEntity;
25 25
import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
26 26
import eu.etaxonomy.cdm.model.name.Registration;
27 27
import eu.etaxonomy.cdm.model.name.RegistrationStatus;
......
292 292
        Set<TypeDesignationBase> typeDesignations = getTypeDesignationsInWorkingSet(baseEntityReference);
293 293
        List<SpecimenTypeDesignation> specimenTypeDesignations = new ArrayList<>(typeDesignations.size());
294 294
        typeDesignations.forEach(td -> specimenTypeDesignations.add((SpecimenTypeDesignation)td));
295
        IdentifiableEntity<?> baseEntity = getTypeDesignationWorkingSet(baseEntityReference).getBaseEntity();
295
        VersionableEntity baseEntity = getTypeDesignationWorkingSet(baseEntityReference).getBaseEntity();
296 296

  
297 297
        SpecimenTypeDesignationWorkingSetDTO<Registration> dto = new SpecimenTypeDesignationWorkingSetDTO<Registration>(reg,
298 298
                baseEntity, specimenTypeDesignations, getCitation(), getTypifiedName());

Also available in: Unified diff