Project

General

Profile

Revision eaee371d

IDeaee371d5a53f9c20f74e29cba3f31f6ef70e731
Parent ce3b8933
Child 5b4537c4

Added by Andreas Kohlbecker over 2 years ago

ref #6169 renaming phycobank in packages to registration

View differences:

src/main/java/eu/etaxonomy/cdm/mock/RegistrationService.java
26 26
import eu.etaxonomy.cdm.model.common.CdmBase;
27 27
import eu.etaxonomy.cdm.model.name.Rank;
28 28
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
29
import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationDTO;
29
import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationDTO;
30 30

  
31 31
/**
32 32
 * @author a.kohlbecker
src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/RegistrationItem.java
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.component.phycobank;
10

  
11
import org.apache.commons.lang.StringUtils;
12
import org.joda.time.format.ISODateTimeFormat;
13

  
14
import com.vaadin.server.ExternalResource;
15
import com.vaadin.server.FontAwesome;
16
import com.vaadin.shared.ui.label.ContentMode;
17
import com.vaadin.ui.Alignment;
18
import com.vaadin.ui.Button;
19
import com.vaadin.ui.CssLayout;
20
import com.vaadin.ui.GridLayout;
21
import com.vaadin.ui.Label;
22
import com.vaadin.ui.Link;
23
import com.vaadin.ui.themes.ValoTheme;
24

  
25
import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationDTO;
26
import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationType;
27
import eu.etaxonomy.cdm.vaadin.view.phycobank.RegistrationTypeConverter;
28
import eu.etaxonomy.cdm.vaadin.view.phycobank.RegistrationWorkflowViewBean;
29
import eu.etaxonomy.vaadin.mvp.AbstractView;
30
import eu.etaxonomy.vaadin.ui.navigation.NavigationEvent;
31

  
32
/**
33
 * @author a.kohlbecker
34
 * @since Mar 17, 2017
35
 *
36
 */
37
public class RegistrationItem extends GridLayout {
38

  
39

  
40
    private static final String LABEL_CAPTION_CREATED = "Created";
41

  
42
    private static final String LABEL_CAPTION_PUBLISHED = "Published";
43

  
44
    private static final int GRID_ROWS = 3;
45

  
46
    private static final int GRID_COLS = 3;
47

  
48
    private static final String STYLE_LABEL_NOWRAP = "label-nowrap";
49

  
50
    private static final long serialVersionUID = -211003770452173644L;
51

  
52
    private RegistrationDTO regDto;
53

  
54
    private RegistrationTypeConverter regTypeConverter = new RegistrationTypeConverter();
55

  
56
    private AbstractView<?> parentView;
57

  
58
    // --------------------------------------------------
59
    private Label typeStateLabel = new Label();
60
    private Link identifierLink = new Link();
61
    private Label citationSummaryLabel = new Label();
62
    private Button blockedByButton = new Button(FontAwesome.WARNING);
63
    private Button messageButton = new Button(FontAwesome.COMMENT);
64
    private Button openButton = new Button(FontAwesome.COGS);
65
    private Label createdLabel = new Label();
66
    private Label publishedLabel = new Label();
67
    // --------------------------------------------------
68

  
69
    /**
70
     *
71
     */
72
    public RegistrationItem(RegistrationDTO item, AbstractView<?> parentView) {
73
        super(GRID_COLS, GRID_ROWS);
74
        init();
75
        setItem(item, parentView);
76
    }
77

  
78
    public void init() {
79

  
80
        setWidth(100, Unit.PERCENTAGE);
81
        addStyleName("registration-item");
82

  
83
        typeStateLabel.setStyleName(STYLE_LABEL_NOWRAP);
84
        addComponent(typeStateLabel, 0, 0);
85
        setComponentAlignment(typeStateLabel, Alignment.TOP_LEFT);
86

  
87
        addComponent(identifierLink, 1, 0);
88
        setComponentAlignment(identifierLink, Alignment.TOP_CENTER);
89
        setColumnExpandRatio(1, 1.0f);
90

  
91
        CssLayout buttonGroup = new CssLayout(blockedByButton, messageButton, openButton);
92
        blockedByButton.setStyleName(ValoTheme.BUTTON_TINY);
93
        blockedByButton.setEnabled(false);
94
        messageButton.setStyleName(ValoTheme.BUTTON_TINY);
95
        messageButton.setEnabled(false);
96
        openButton.setStyleName(ValoTheme.BUTTON_TINY);
97
        openButton.addStyleName(ValoTheme.BUTTON_PRIMARY);
98
        openButton.addClickListener(e -> parentView.getEventBus().publishEvent(new NavigationEvent(
99
                RegistrationWorkflowViewBean.NAME,
100
                RegistrationWorkflowViewBean.ACTION_EDIT,
101
                regDto.getSpecificIdentifier().toString()
102
                )));
103
        buttonGroup.setStyleName(ValoTheme.LAYOUT_COMPONENT_GROUP);
104
        addComponent(buttonGroup, 2, 0);
105
        setComponentAlignment(buttonGroup, Alignment.TOP_RIGHT);
106

  
107
        citationSummaryLabel.setContentMode(ContentMode.HTML);
108
        addComponent(citationSummaryLabel, 0, 1, 1, 2);
109

  
110
        createdLabel.setStyleName(STYLE_LABEL_NOWRAP);
111
        createdLabel.setContentMode(ContentMode.HTML);
112
        createdLabel.setWidthUndefined();
113
        addComponent(createdLabel, 2, 1);
114
        setComponentAlignment(createdLabel, Alignment.BOTTOM_RIGHT);
115

  
116
        publishedLabel.setStyleName(STYLE_LABEL_NOWRAP);
117
        publishedLabel.setContentMode(ContentMode.HTML);
118
        publishedLabel.setWidthUndefined();
119
        addComponent(publishedLabel, 2, 2);
120
        setComponentAlignment(publishedLabel, Alignment.BOTTOM_RIGHT);
121

  
122
    }
123

  
124
    public void setItem(RegistrationDTO item, AbstractView<?> parentView){
125
        regDto = item;
126
        this.parentView = parentView;
127
        updateUI();
128
    }
129

  
130

  
131
    /**
132
     *
133
     */
134
    private void updateUI() {
135
        updateTypeStateLabel();
136
        getCitationSummaryLabel().setValue(regDto.getCitationString() + "</br>" + regDto.getSummary());
137
        updateIdentifierLink();
138
        getOpenButton().addClickListener(e -> parentView.getEventBus().publishEvent(new NavigationEvent(
139
                RegistrationWorkflowViewBean.NAME,
140
                RegistrationWorkflowViewBean.ACTION_EDIT,
141
                regDto.getSpecificIdentifier().toString()
142
                )));
143
        updateDateLabels();
144
    }
145

  
146

  
147
    /**
148
     *
149
     */
150
    private void updateTypeStateLabel() {
151

  
152
        FontAwesome icon;
153
        if(regDto.getRegistrationType().equals(RegistrationType.NAME)) {
154
            icon = FontAwesome.TAG;
155
        } else if(regDto.getRegistrationType().equals(RegistrationType.TYPIFICATION)) {
156
            icon = FontAwesome.TAGS;
157
        } else {
158
            icon = FontAwesome.WARNING;
159
        }
160
        typeStateLabel.setContentMode(ContentMode.HTML);
161
        typeStateLabel.setValue(icon.getHtml() + "&nbsp;" + StringUtils.capitalize((regDto.getStatus().name().toLowerCase())));
162
        typeStateLabel.addStyleName("status-" + regDto.getStatus().name());
163
    }
164

  
165
    /**
166
     *
167
     */
168
    private void updateIdentifierLink() {
169
        getIdentifierLink().setResource(new ExternalResource(regDto.getRegistrationId()));
170
        //TODO make responsive and use specificIdetifier in case the space gets too narrow
171
        getIdentifierLink().setCaption(regDto.getRegistrationId());
172
    }
173

  
174
    /**
175
     *
176
     */
177
    private void updateDateLabels() {
178
        getCreatedLabel().setValue("<span class=\"caption\">" + LABEL_CAPTION_CREATED + "</span>&nbsp;" + regDto.getCreated().toString(ISODateTimeFormat.yearMonthDay()));
179
        if(regDto.getRegistrationDate() != null){
180
            getPublishedLabel().setValue("<span class=\"caption\">" + LABEL_CAPTION_PUBLISHED + "</span>&nbsp;" + regDto.getRegistrationDate().toString(ISODateTimeFormat.yearMonthDay()));
181
        } else {
182
            getPublishedLabel().setVisible(false);
183
        }
184
    }
185

  
186
    /* ====== RegistrationItemDesign Getters ====== */
187
    /**
188
     * @return the typeStateLabel
189
     */
190
    public Label getTypeStateLabel() {
191
        return typeStateLabel;
192
    }
193

  
194
    /**
195
     * @return the identifierLink
196
     */
197
    public Link getIdentifierLink() {
198
        return identifierLink;
199
    }
200

  
201
    /**
202
     * @return the citationSummaryLabel
203
     */
204
    public Label getCitationSummaryLabel() {
205
        return citationSummaryLabel;
206
    }
207

  
208
    /**
209
     * @return the blockedByButton
210
     */
211
    public Button getBlockedByButton() {
212
        return blockedByButton;
213
    }
214

  
215
    /**
216
     * @return the messageButton
217
     */
218
    public Button getMessageButton() {
219
        return messageButton;
220
    }
221

  
222
    /**
223
     * @return the openButton
224
     */
225
    public Button getOpenButton() {
226
        return openButton;
227
    }
228

  
229
    /**
230
     * @return the createdLabel
231
     */
232
    public Label getCreatedLabel() {
233
        return createdLabel;
234
    }
235

  
236
    /**
237
     * @return the publishedLabel
238
     */
239
    public Label getPublishedLabel() {
240
        return publishedLabel;
241
    }
242

  
243
   /* --------------------------------------- */
244

  
245
}
src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/RegistrationWorkflowComponent.java
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.component.phycobank;
10

  
11
import com.vaadin.ui.CssLayout;
12
import com.vaadin.ui.Label;
13

  
14
import eu.etaxonomy.cdm.vaadin.design.phycobank.RegistrationWorkflowDesign;
15

  
16
/**
17
 * @author a.kohlbecker
18
 * @since Mar 3, 2017
19
 *
20
 */
21
public class RegistrationWorkflowComponent extends RegistrationWorkflowDesign {
22

  
23
    private static final long serialVersionUID = 7196791015737342650L;
24

  
25
    /**
26
     * @return the title
27
     */
28
    public Label getTitle() {
29
        return title;
30
    }
31

  
32
    /**
33
     * @return the workflow
34
     */
35
    public CssLayout getWorkflow() {
36
        return workflow;
37
    }
38

  
39
}
src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/WorkflowItem.java
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.component.phycobank;
10

  
11
import com.vaadin.ui.Button.ClickListener;
12

  
13
import eu.etaxonomy.cdm.vaadin.design.phycobank.WorkflowItemDesign;
14

  
15
/**
16
 * @author a.kohlbecker
17
 * @since Mar 10, 2017
18
 *
19
 */
20
public class WorkflowItem extends WorkflowItemDesign {
21

  
22
    private static final long serialVersionUID = -6825656185698773467L;
23

  
24
    /**
25
     *
26
     */
27
    public WorkflowItem(int stepIndex, String caption, ClickListener listener) {
28
        this.stepIndex.setCaption(Integer.toString(stepIndex));
29
        this.caption.setValue(caption);
30
        if(listener != null){
31
            this.stepIndex.addClickListener(listener);
32
        }
33
    }
34

  
35
}
src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/WorkflowSteps.java
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.component.phycobank;
10

  
11
import com.vaadin.ui.Button.ClickListener;
12

  
13
import eu.etaxonomy.cdm.vaadin.design.phycobank.WorkflowStepsDesign;
14

  
15
/**
16
 * @author a.kohlbecker
17
 * @since Mar 10, 2017
18
 *
19
 */
20
public class WorkflowSteps extends WorkflowStepsDesign {
21

  
22
    /**
23
     *
24
     */
25
    public WorkflowSteps() {
26
        // TODO Auto-generated constructor stub
27
    }
28

  
29
    public void appendWorkflowItem(WorkflowItem item){
30
        this.steps.addComponent(item);
31
    }
32

  
33
    public void appendNewWorkflowItem(int stepIndex, String caption, ClickListener listener){
34
        this.steps.addComponent(new WorkflowItem(stepIndex, caption, listener));
35
    }
36

  
37
}
src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/RegistrationItem.java
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.component.registration;
10

  
11
import org.apache.commons.lang.StringUtils;
12
import org.joda.time.format.ISODateTimeFormat;
13

  
14
import com.vaadin.server.ExternalResource;
15
import com.vaadin.server.FontAwesome;
16
import com.vaadin.shared.ui.label.ContentMode;
17
import com.vaadin.ui.Alignment;
18
import com.vaadin.ui.Button;
19
import com.vaadin.ui.CssLayout;
20
import com.vaadin.ui.GridLayout;
21
import com.vaadin.ui.Label;
22
import com.vaadin.ui.Link;
23
import com.vaadin.ui.themes.ValoTheme;
24

  
25
import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationDTO;
26
import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationType;
27
import eu.etaxonomy.cdm.vaadin.view.registration.RegistrationTypeConverter;
28
import eu.etaxonomy.cdm.vaadin.view.registration.RegistrationWorkflowViewBean;
29
import eu.etaxonomy.vaadin.mvp.AbstractView;
30
import eu.etaxonomy.vaadin.ui.navigation.NavigationEvent;
31

  
32
/**
33
 * @author a.kohlbecker
34
 * @since Mar 17, 2017
35
 *
36
 */
37
public class RegistrationItem extends GridLayout {
38

  
39

  
40
    private static final String LABEL_CAPTION_CREATED = "Created";
41

  
42
    private static final String LABEL_CAPTION_PUBLISHED = "Published";
43

  
44
    private static final int GRID_ROWS = 3;
45

  
46
    private static final int GRID_COLS = 3;
47

  
48
    private static final String STYLE_LABEL_NOWRAP = "label-nowrap";
49

  
50
    private static final long serialVersionUID = -211003770452173644L;
51

  
52
    private RegistrationDTO regDto;
53

  
54
    private RegistrationTypeConverter regTypeConverter = new RegistrationTypeConverter();
55

  
56
    private AbstractView<?> parentView;
57

  
58
    // --------------------------------------------------
59
    private Label typeStateLabel = new Label();
60
    private Link identifierLink = new Link();
61
    private Label citationSummaryLabel = new Label();
62
    private Button blockedByButton = new Button(FontAwesome.WARNING);
63
    private Button messageButton = new Button(FontAwesome.COMMENT);
64
    private Button openButton = new Button(FontAwesome.COGS);
65
    private Label createdLabel = new Label();
66
    private Label publishedLabel = new Label();
67
    // --------------------------------------------------
68

  
69
    /**
70
     *
71
     */
72
    public RegistrationItem(RegistrationDTO item, AbstractView<?> parentView) {
73
        super(GRID_COLS, GRID_ROWS);
74
        init();
75
        setItem(item, parentView);
76
    }
77

  
78
    public void init() {
79

  
80
        setWidth(100, Unit.PERCENTAGE);
81
        addStyleName("registration-item");
82

  
83
        typeStateLabel.setStyleName(STYLE_LABEL_NOWRAP);
84
        addComponent(typeStateLabel, 0, 0);
85
        setComponentAlignment(typeStateLabel, Alignment.TOP_LEFT);
86

  
87
        addComponent(identifierLink, 1, 0);
88
        setComponentAlignment(identifierLink, Alignment.TOP_CENTER);
89
        setColumnExpandRatio(1, 1.0f);
90

  
91
        CssLayout buttonGroup = new CssLayout(blockedByButton, messageButton, openButton);
92
        blockedByButton.setStyleName(ValoTheme.BUTTON_TINY);
93
        blockedByButton.setEnabled(false);
94
        messageButton.setStyleName(ValoTheme.BUTTON_TINY);
95
        messageButton.setEnabled(false);
96
        openButton.setStyleName(ValoTheme.BUTTON_TINY);
97
        openButton.addStyleName(ValoTheme.BUTTON_PRIMARY);
98
        openButton.addClickListener(e -> parentView.getEventBus().publishEvent(new NavigationEvent(
99
                RegistrationWorkflowViewBean.NAME,
100
                RegistrationWorkflowViewBean.ACTION_EDIT,
101
                regDto.getSpecificIdentifier().toString()
102
                )));
103
        buttonGroup.setStyleName(ValoTheme.LAYOUT_COMPONENT_GROUP);
104
        addComponent(buttonGroup, 2, 0);
105
        setComponentAlignment(buttonGroup, Alignment.TOP_RIGHT);
106

  
107
        citationSummaryLabel.setContentMode(ContentMode.HTML);
108
        addComponent(citationSummaryLabel, 0, 1, 1, 2);
109

  
110
        createdLabel.setStyleName(STYLE_LABEL_NOWRAP);
111
        createdLabel.setContentMode(ContentMode.HTML);
112
        createdLabel.setWidthUndefined();
113
        addComponent(createdLabel, 2, 1);
114
        setComponentAlignment(createdLabel, Alignment.BOTTOM_RIGHT);
115

  
116
        publishedLabel.setStyleName(STYLE_LABEL_NOWRAP);
117
        publishedLabel.setContentMode(ContentMode.HTML);
118
        publishedLabel.setWidthUndefined();
119
        addComponent(publishedLabel, 2, 2);
120
        setComponentAlignment(publishedLabel, Alignment.BOTTOM_RIGHT);
121

  
122
    }
123

  
124
    public void setItem(RegistrationDTO item, AbstractView<?> parentView){
125
        regDto = item;
126
        this.parentView = parentView;
127
        updateUI();
128
    }
129

  
130

  
131
    /**
132
     *
133
     */
134
    private void updateUI() {
135
        updateTypeStateLabel();
136
        getCitationSummaryLabel().setValue(regDto.getCitationString() + "</br>" + regDto.getSummary());
137
        updateIdentifierLink();
138
        getOpenButton().addClickListener(e -> parentView.getEventBus().publishEvent(new NavigationEvent(
139
                RegistrationWorkflowViewBean.NAME,
140
                RegistrationWorkflowViewBean.ACTION_EDIT,
141
                regDto.getSpecificIdentifier().toString()
142
                )));
143
        updateDateLabels();
144
    }
145

  
146

  
147
    /**
148
     *
149
     */
150
    private void updateTypeStateLabel() {
151

  
152
        FontAwesome icon;
153
        if(regDto.getRegistrationType().equals(RegistrationType.NAME)) {
154
            icon = FontAwesome.TAG;
155
        } else if(regDto.getRegistrationType().equals(RegistrationType.TYPIFICATION)) {
156
            icon = FontAwesome.TAGS;
157
        } else {
158
            icon = FontAwesome.WARNING;
159
        }
160
        typeStateLabel.setContentMode(ContentMode.HTML);
161
        typeStateLabel.setValue(icon.getHtml() + "&nbsp;" + StringUtils.capitalize((regDto.getStatus().name().toLowerCase())));
162
        typeStateLabel.addStyleName("status-" + regDto.getStatus().name());
163
    }
164

  
165
    /**
166
     *
167
     */
168
    private void updateIdentifierLink() {
169
        getIdentifierLink().setResource(new ExternalResource(regDto.getRegistrationId()));
170
        //TODO make responsive and use specificIdetifier in case the space gets too narrow
171
        getIdentifierLink().setCaption(regDto.getRegistrationId());
172
    }
173

  
174
    /**
175
     *
176
     */
177
    private void updateDateLabels() {
178
        getCreatedLabel().setValue("<span class=\"caption\">" + LABEL_CAPTION_CREATED + "</span>&nbsp;" + regDto.getCreated().toString(ISODateTimeFormat.yearMonthDay()));
179
        if(regDto.getRegistrationDate() != null){
180
            getPublishedLabel().setValue("<span class=\"caption\">" + LABEL_CAPTION_PUBLISHED + "</span>&nbsp;" + regDto.getRegistrationDate().toString(ISODateTimeFormat.yearMonthDay()));
181
        } else {
182
            getPublishedLabel().setVisible(false);
183
        }
184
    }
185

  
186
    /* ====== RegistrationItemDesign Getters ====== */
187
    /**
188
     * @return the typeStateLabel
189
     */
190
    public Label getTypeStateLabel() {
191
        return typeStateLabel;
192
    }
193

  
194
    /**
195
     * @return the identifierLink
196
     */
197
    public Link getIdentifierLink() {
198
        return identifierLink;
199
    }
200

  
201
    /**
202
     * @return the citationSummaryLabel
203
     */
204
    public Label getCitationSummaryLabel() {
205
        return citationSummaryLabel;
206
    }
207

  
208
    /**
209
     * @return the blockedByButton
210
     */
211
    public Button getBlockedByButton() {
212
        return blockedByButton;
213
    }
214

  
215
    /**
216
     * @return the messageButton
217
     */
218
    public Button getMessageButton() {
219
        return messageButton;
220
    }
221

  
222
    /**
223
     * @return the openButton
224
     */
225
    public Button getOpenButton() {
226
        return openButton;
227
    }
228

  
229
    /**
230
     * @return the createdLabel
231
     */
232
    public Label getCreatedLabel() {
233
        return createdLabel;
234
    }
235

  
236
    /**
237
     * @return the publishedLabel
238
     */
239
    public Label getPublishedLabel() {
240
        return publishedLabel;
241
    }
242

  
243
   /* --------------------------------------- */
244

  
245
}
src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/RegistrationWorkflowComponent.java
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.component.registration;
10

  
11
import com.vaadin.ui.CssLayout;
12
import com.vaadin.ui.Label;
13

  
14
import eu.etaxonomy.cdm.vaadin.design.registration.RegistrationWorkflowDesign;
15

  
16
/**
17
 * @author a.kohlbecker
18
 * @since Mar 3, 2017
19
 *
20
 */
21
public class RegistrationWorkflowComponent extends RegistrationWorkflowDesign {
22

  
23
    private static final long serialVersionUID = 7196791015737342650L;
24

  
25
    /**
26
     * @return the title
27
     */
28
    public Label getTitle() {
29
        return title;
30
    }
31

  
32
    /**
33
     * @return the workflow
34
     */
35
    public CssLayout getWorkflow() {
36
        return workflow;
37
    }
38

  
39
}
src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/WorkflowItem.java
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.component.registration;
10

  
11
import com.vaadin.ui.Button.ClickListener;
12

  
13
import eu.etaxonomy.cdm.vaadin.design.registration.WorkflowItemDesign;
14

  
15
/**
16
 * @author a.kohlbecker
17
 * @since Mar 10, 2017
18
 *
19
 */
20
public class WorkflowItem extends WorkflowItemDesign {
21

  
22
    private static final long serialVersionUID = -6825656185698773467L;
23

  
24
    /**
25
     *
26
     */
27
    public WorkflowItem(int stepIndex, String caption, ClickListener listener) {
28
        this.stepIndex.setCaption(Integer.toString(stepIndex));
29
        this.caption.setValue(caption);
30
        if(listener != null){
31
            this.stepIndex.addClickListener(listener);
32
        }
33
    }
34

  
35
}
src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/WorkflowSteps.java
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.component.registration;
10

  
11
import com.vaadin.ui.Button.ClickListener;
12

  
13
import eu.etaxonomy.cdm.vaadin.design.registration.WorkflowStepsDesign;
14

  
15
/**
16
 * @author a.kohlbecker
17
 * @since Mar 10, 2017
18
 *
19
 */
20
public class WorkflowSteps extends WorkflowStepsDesign {
21

  
22
    /**
23
     *
24
     */
25
    public WorkflowSteps() {
26
        // TODO Auto-generated constructor stub
27
    }
28

  
29
    public void appendWorkflowItem(WorkflowItem item){
30
        this.steps.addComponent(item);
31
    }
32

  
33
    public void appendNewWorkflowItem(int stepIndex, String caption, ClickListener listener){
34
        this.steps.addComponent(new WorkflowItem(stepIndex, caption, listener));
35
    }
36

  
37
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/DashBoardDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.phycobank;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.Button;
6
import com.vaadin.ui.CssLayout;
7
import com.vaadin.ui.VerticalLayout;
8
import com.vaadin.ui.declarative.Design;
9

  
10
/**
11
 * !! DO NOT EDIT THIS FILE !!
12
 *
13
 * This class is generated by Vaadin Designer and will be overwritten.
14
 *
15
 * Please make a subclass with logic and additional interfaces as needed,
16
 * e.g class LoginView extends LoginDesign implements View { }
17
 */
18
@DesignRoot
19
@AutoGenerated
20
@SuppressWarnings("serial")
21
public class DashBoardDesign extends VerticalLayout {
22
    protected CssLayout dashboard;
23
    protected Button buttonNew;
24
    protected Button buttonContinue;
25
    protected Button buttonList;
26

  
27
    public DashBoardDesign() {
28
        Design.read(this);
29
    }
30
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.phycobank;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.Button;
6
import com.vaadin.ui.HorizontalLayout;
7
import com.vaadin.ui.Label;
8
import com.vaadin.ui.Link;
9
import com.vaadin.ui.declarative.Design;
10

  
11
/**
12
 * !! DO NOT EDIT THIS FILE !!
13
 *
14
 * This class is generated by Vaadin Designer and will be overwritten.
15
 *
16
 * Please make a subclass with logic and additional interfaces as needed,
17
 * e.g class LoginView extends LoginDesign implements View { }
18
 */
19
@DesignRoot
20
@AutoGenerated
21
@SuppressWarnings("serial")
22
public class RegistrationItemDesign extends HorizontalLayout {
23
    protected Label typeStateLabel;
24
    protected Link identifierLink;
25
    protected Label citationLabel;
26
    protected Label summaryLabel;
27
    protected Button blockedByButton;
28
    protected Button messageButton;
29
    protected Button openButton;
30
    protected Label createdLabel;
31
    protected Label publishedLabel;
32

  
33
    public RegistrationItemDesign() {
34
        Design.read(this);
35
    }
36
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemGridDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.phycobank;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.Button;
6
import com.vaadin.ui.GridLayout;
7
import com.vaadin.ui.Label;
8
import com.vaadin.ui.Link;
9
import com.vaadin.ui.declarative.Design;
10

  
11
/** 
12
 * !! DO NOT EDIT THIS FILE !!
13
 * 
14
 * This class is generated by Vaadin Designer and will be overwritten.
15
 * 
16
 * Please make a subclass with logic and additional interfaces as needed,
17
 * e.g class LoginView extends LoginDesign implements View { }
18
 */
19
@DesignRoot
20
@AutoGenerated
21
@SuppressWarnings("serial")
22
public class RegistrationItemGridDesign extends GridLayout {
23
    protected Label typeStateLabel;
24
    protected Link identifierLink;
25
    protected Button blockedByButton;
26
    protected Button messageButton;
27
    protected Button openButton;
28
    protected Label citationLabel;
29

  
30
    public RegistrationItemGridDesign() {
31
        Design.read(this);
32
    }
33
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationWorkflowDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.phycobank;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.CssLayout;
6
import com.vaadin.ui.Label;
7
import com.vaadin.ui.VerticalLayout;
8
import com.vaadin.ui.declarative.Design;
9

  
10
/** 
11
 * !! DO NOT EDIT THIS FILE !!
12
 * 
13
 * This class is generated by Vaadin Designer and will be overwritten.
14
 * 
15
 * Please make a subclass with logic and additional interfaces as needed,
16
 * e.g class LoginView extends LoginDesign implements View { }
17
 */
18
@DesignRoot
19
@AutoGenerated
20
@SuppressWarnings("serial")
21
public class RegistrationWorkflowDesign extends VerticalLayout {
22
    protected Label title;
23
    protected CssLayout workflow;
24

  
25
    public RegistrationWorkflowDesign() {
26
        Design.read(this);
27
    }
28
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/StartRegistrationDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.phycobank;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.Button;
6
import com.vaadin.ui.CssLayout;
7
import com.vaadin.ui.VerticalLayout;
8
import com.vaadin.ui.declarative.Design;
9

  
10
/** 
11
 * !! DO NOT EDIT THIS FILE !!
12
 * 
13
 * This class is generated by Vaadin Designer and will be overwritten.
14
 * 
15
 * Please make a subclass with logic and additional interfaces as needed,
16
 * e.g class LoginView extends LoginDesign implements View { }
17
 */
18
@DesignRoot
19
@AutoGenerated
20
@SuppressWarnings("serial")
21
public class StartRegistrationDesign extends VerticalLayout {
22
    protected CssLayout dashboard;
23
    protected Button buttonName;
24
    protected Button buttonTypification;
25

  
26
    public StartRegistrationDesign() {
27
        Design.read(this);
28
    }
29
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowItemDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.phycobank;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.Button;
6
import com.vaadin.ui.CssLayout;
7
import com.vaadin.ui.Label;
8
import com.vaadin.ui.declarative.Design;
9

  
10
/**
11
 * !! DO NOT EDIT THIS FILE !!
12
 *
13
 * This class is generated by Vaadin Designer and will be overwritten.
14
 *
15
 * Please make a subclass with logic and additional interfaces as needed,
16
 * e.g class LoginView extends LoginDesign implements View { }
17
 */
18
@DesignRoot
19
@AutoGenerated
20
@SuppressWarnings("serial")
21
public class WorkflowItemDesign extends CssLayout {
22
    protected Button stepIndex;
23
    protected Label caption;
24

  
25
    public WorkflowItemDesign() {
26
        Design.read(this);
27
    }
28
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowStepsDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.phycobank;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.CssLayout;
6
import com.vaadin.ui.declarative.Design;
7

  
8
/**
9
 * !! DO NOT EDIT THIS FILE !!
10
 *
11
 * This class is generated by Vaadin Designer and will be overwritten.
12
 *
13
 * Please make a subclass with logic and additional interfaces as needed,
14
 * e.g class LoginView extends LoginDesign implements View { }
15
 */
16
@DesignRoot
17
@AutoGenerated
18
@SuppressWarnings("serial")
19
public class WorkflowStepsDesign extends CssLayout {
20
    protected CssLayout steps;
21

  
22
    public WorkflowStepsDesign() {
23
        Design.read(this);
24
    }
25
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/DashBoardDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.registration;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.Button;
6
import com.vaadin.ui.CssLayout;
7
import com.vaadin.ui.VerticalLayout;
8
import com.vaadin.ui.declarative.Design;
9

  
10
/**
11
 * !! DO NOT EDIT THIS FILE !!
12
 *
13
 * This class is generated by Vaadin Designer and will be overwritten.
14
 *
15
 * Please make a subclass with logic and additional interfaces as needed,
16
 * e.g class LoginView extends LoginDesign implements View { }
17
 */
18
@DesignRoot
19
@AutoGenerated
20
@SuppressWarnings("serial")
21
public class DashBoardDesign extends VerticalLayout {
22
    protected CssLayout dashboard;
23
    protected Button buttonNew;
24
    protected Button buttonContinue;
25
    protected Button buttonList;
26

  
27
    public DashBoardDesign() {
28
        Design.read(this);
29
    }
30
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.registration;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.Button;
6
import com.vaadin.ui.HorizontalLayout;
7
import com.vaadin.ui.Label;
8
import com.vaadin.ui.Link;
9
import com.vaadin.ui.declarative.Design;
10

  
11
/**
12
 * !! DO NOT EDIT THIS FILE !!
13
 *
14
 * This class is generated by Vaadin Designer and will be overwritten.
15
 *
16
 * Please make a subclass with logic and additional interfaces as needed,
17
 * e.g class LoginView extends LoginDesign implements View { }
18
 */
19
@DesignRoot
20
@AutoGenerated
21
@SuppressWarnings("serial")
22
public class RegistrationItemDesign extends HorizontalLayout {
23
    protected Label typeStateLabel;
24
    protected Link identifierLink;
25
    protected Label citationLabel;
26
    protected Label summaryLabel;
27
    protected Button blockedByButton;
28
    protected Button messageButton;
29
    protected Button openButton;
30
    protected Label createdLabel;
31
    protected Label publishedLabel;
32

  
33
    public RegistrationItemDesign() {
34
        Design.read(this);
35
    }
36
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemGridDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.registration;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.Button;
6
import com.vaadin.ui.GridLayout;
7
import com.vaadin.ui.Label;
8
import com.vaadin.ui.Link;
9
import com.vaadin.ui.declarative.Design;
10

  
11
/** 
12
 * !! DO NOT EDIT THIS FILE !!
13
 * 
14
 * This class is generated by Vaadin Designer and will be overwritten.
15
 * 
16
 * Please make a subclass with logic and additional interfaces as needed,
17
 * e.g class LoginView extends LoginDesign implements View { }
18
 */
19
@DesignRoot
20
@AutoGenerated
21
@SuppressWarnings("serial")
22
public class RegistrationItemGridDesign extends GridLayout {
23
    protected Label typeStateLabel;
24
    protected Link identifierLink;
25
    protected Button blockedByButton;
26
    protected Button messageButton;
27
    protected Button openButton;
28
    protected Label citationLabel;
29

  
30
    public RegistrationItemGridDesign() {
31
        Design.read(this);
32
    }
33
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationWorkflowDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.registration;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.CssLayout;
6
import com.vaadin.ui.Label;
7
import com.vaadin.ui.VerticalLayout;
8
import com.vaadin.ui.declarative.Design;
9

  
10
/** 
11
 * !! DO NOT EDIT THIS FILE !!
12
 * 
13
 * This class is generated by Vaadin Designer and will be overwritten.
14
 * 
15
 * Please make a subclass with logic and additional interfaces as needed,
16
 * e.g class LoginView extends LoginDesign implements View { }
17
 */
18
@DesignRoot
19
@AutoGenerated
20
@SuppressWarnings("serial")
21
public class RegistrationWorkflowDesign extends VerticalLayout {
22
    protected Label title;
23
    protected CssLayout workflow;
24

  
25
    public RegistrationWorkflowDesign() {
26
        Design.read(this);
27
    }
28
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/StartRegistrationDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.registration;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.Button;
6
import com.vaadin.ui.CssLayout;
7
import com.vaadin.ui.VerticalLayout;
8
import com.vaadin.ui.declarative.Design;
9

  
10
/** 
11
 * !! DO NOT EDIT THIS FILE !!
12
 * 
13
 * This class is generated by Vaadin Designer and will be overwritten.
14
 * 
15
 * Please make a subclass with logic and additional interfaces as needed,
16
 * e.g class LoginView extends LoginDesign implements View { }
17
 */
18
@DesignRoot
19
@AutoGenerated
20
@SuppressWarnings("serial")
21
public class StartRegistrationDesign extends VerticalLayout {
22
    protected CssLayout dashboard;
23
    protected Button buttonName;
24
    protected Button buttonTypification;
25

  
26
    public StartRegistrationDesign() {
27
        Design.read(this);
28
    }
29
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowItemDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.registration;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.Button;
6
import com.vaadin.ui.CssLayout;
7
import com.vaadin.ui.Label;
8
import com.vaadin.ui.declarative.Design;
9

  
10
/**
11
 * !! DO NOT EDIT THIS FILE !!
12
 *
13
 * This class is generated by Vaadin Designer and will be overwritten.
14
 *
15
 * Please make a subclass with logic and additional interfaces as needed,
16
 * e.g class LoginView extends LoginDesign implements View { }
17
 */
18
@DesignRoot
19
@AutoGenerated
20
@SuppressWarnings("serial")
21
public class WorkflowItemDesign extends CssLayout {
22
    protected Button stepIndex;
23
    protected Label caption;
24

  
25
    public WorkflowItemDesign() {
26
        Design.read(this);
27
    }
28
}
src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowStepsDesign.java
1
package eu.etaxonomy.cdm.vaadin.design.registration;
2

  
3
import com.vaadin.annotations.AutoGenerated;
4
import com.vaadin.annotations.DesignRoot;
5
import com.vaadin.ui.CssLayout;
6
import com.vaadin.ui.declarative.Design;
7

  
8
/**
9
 * !! DO NOT EDIT THIS FILE !!
10
 *
11
 * This class is generated by Vaadin Designer and will be overwritten.
12
 *
13
 * Please make a subclass with logic and additional interfaces as needed,
14
 * e.g class LoginView extends LoginDesign implements View { }
15
 */
16
@DesignRoot
17
@AutoGenerated
18
@SuppressWarnings("serial")
19
public class WorkflowStepsDesign extends CssLayout {
20
    protected CssLayout steps;
21

  
22
    public WorkflowStepsDesign() {
23
        Design.read(this);
24
    }
25
}
src/main/java/eu/etaxonomy/cdm/vaadin/event/phycobank/RegistrationWorkflowEvent.java
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.event.phycobank;
10

  
11
import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationType;
12

  
13
/**
14
 * @author a.kohlbecker
15
 * @since Mar 3, 2017
16
 *
17
 */
18
public class RegistrationWorkflowEvent {
19

  
20
    private RegistrationType type = null;
21
    private Action action;
22
    private Integer registrationID = null;
23

  
24
    public RegistrationWorkflowEvent(int registrationID){
25
        this.action = Action.open;
26
        this.registrationID = registrationID;
27
    }
28

  
29
    public RegistrationWorkflowEvent(RegistrationType type){
30
        this.type = type;
31
        this.action = Action.start;
32
    }
33

  
34
    /**
35
     * @return the type
36
     */
37
    public RegistrationType getType() {
38
        return type;
39
    }
40

  
41
    /**
42
     * @return the action
43
     */
44
    public Action getAction() {
45
        return action;
46
    }
47

  
48
    /**
49
     * @return the registrationID
50
     */
51
    public Integer getRegistrationID() {
52
        return registrationID;
53
    }
54

  
55
    public boolean isStart() {
56
        return action.equals(Action.start);
57
    }
58

  
59

  
60
    enum Action {
61
        start, open;
62
    }
63

  
64
}
src/main/java/eu/etaxonomy/cdm/vaadin/event/registration/RegistrationWorkflowEvent.java
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.event.registration;
10

  
11
import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationType;
12

  
13
/**
14
 * @author a.kohlbecker
15
 * @since Mar 3, 2017
16
 *
17
 */
18
public class RegistrationWorkflowEvent {
19

  
20
    private RegistrationType type = null;
21
    private Action action;
22
    private Integer registrationID = null;
23

  
24
    public RegistrationWorkflowEvent(int registrationID){
25
        this.action = Action.open;
26
        this.registrationID = registrationID;
27
    }
28

  
29
    public RegistrationWorkflowEvent(RegistrationType type){
30
        this.type = type;
31
        this.action = Action.start;
32
    }
33

  
34
    /**
35
     * @return the type
36
     */
37
    public RegistrationType getType() {
38
        return type;
39
    }
40

  
41
    /**
42
     * @return the action
43
     */
44
    public Action getAction() {
45
        return action;
46
    }
47

  
48
    /**
49
     * @return the registrationID
50
     */
51
    public Integer getRegistrationID() {
52
        return registrationID;
53
    }
54

  
55
    public boolean isStart() {
56
        return action.equals(Action.start);
57
    }
58

  
59

  
60
    enum Action {
61
        start, open;
62
    }
63

  
64
}
src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/ListPresenter.java
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.presenter.phycobank;
10

  
11
import java.util.Collection;
12

  
13
import org.springframework.beans.factory.annotation.Autowired;
14

  
15
import com.vaadin.spring.annotation.SpringComponent;
16
import com.vaadin.spring.annotation.ViewScope;
17

  
18
import eu.etaxonomy.cdm.mock.RegistrationService;
19
import eu.etaxonomy.cdm.vaadin.view.phycobank.ListView;
20
import eu.etaxonomy.vaadin.mvp.AbstractPresenter;
21

  
22
/**
23
 * @author a.kohlbecker
24
 * @since Mar 3, 2017
25
 *
26
 */
27
@SpringComponent
28
@ViewScope
29
public class ListPresenter extends AbstractPresenter<ListView> {
30

  
31
    @Autowired
32
    private RegistrationService serviceMock;
33

  
34
    @Override
35
    public void onViewEnter() {
36
        super.onViewEnter();
37
        getView().populate(listRegistrations());
38
    }
39

  
40
    /**
41
     * @return
42
     */
43
    private Collection<RegistrationDTO> listRegistrations() {
44
        Collection<RegistrationDTO> dtos = serviceMock.listDTOs();
45
        return dtos;
46
    }
47

  
48
}
src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/RegistrationDTO.java
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.presenter.phycobank;
10

  
11
import java.util.HashSet;
12
import java.util.Set;
13

  
14
import org.joda.time.DateTime;
15

  
16
import eu.etaxonomy.cdm.mock.Registration;
17
import eu.etaxonomy.cdm.mock.RegistrationStatus;
18
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
19
import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
20
import eu.etaxonomy.cdm.model.reference.Reference;
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff

Add picture from clipboard (Maximum size: 40 MB)