Project

General

Profile

« Previous | Next » 

Revision 6d636c9e

Added by Andreas Kohlbecker over 5 years ago

ref #7648 generalizing bean instantiation in cdm presenters

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/view/reference/ReferenceEditorPresenter.java
37 37
import eu.etaxonomy.cdm.vaadin.event.ToOneRelatedEntityReloader;
38 38
import eu.etaxonomy.vaadin.component.ToOneRelatedEntityField;
39 39
import eu.etaxonomy.vaadin.mvp.AbstractCdmEditorPresenter;
40
import eu.etaxonomy.vaadin.mvp.BeanInstantiator;
40 41

  
41 42
/**
42 43
 * @author a.kohlbecker
......
89 90
                AnnotationType.EDITORIAL().getUuid(), AnnotationType.TECHNICAL().getUuid()));
90 91
    }
91 92

  
93

  
94
    protected static BeanInstantiator<Reference> defaultBeanInstantiator = new BeanInstantiator<Reference>() {
95

  
96
        @Override
97
        public Reference createNewBean() {
98
            return ReferenceFactory.newGeneric();
99
        }
100
    };
101

  
102

  
103
    @Override
104
    protected BeanInstantiator<Reference> defaultBeanInstantiator(){
105
       return defaultBeanInstantiator;
106
    }
107

  
108

  
92 109
    /**
93 110
     * {@inheritDoc}
94 111
     */
......
106 123
        if(identifier != null){
107 124
            reference = getRepo().getReferenceService().load(identifier, initStrategy);
108 125
        } else {
109
            reference = createNewReference();
126
            reference = createNewBean();
110 127
        }
111 128
        return reference;
112 129
    }
113 130

  
114
    /**
115
     * TODO this should better go into {@link AbstractCdmEditorPresenter}
116
     *
117
     * @return
118
     */
119
    protected Reference createNewReference() {
120
        if(this.beanInstantiator != null){
121
            return beanInstantiator.createNewBean();
122
        }
123
        return ReferenceFactory.newGeneric();
124
    }
125 131

  
126 132
    /**
127 133
     * {@inheritDoc}

Also available in: Unified diff