source: VirtualCollectionRegistry/tags/VirtualCollectionRegistry-0.4.0-alpha2/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/wizard/EditResourceDialog.java @ 5557

Last change on this file since 5557 was 5557, checked in by Twan Goosen, 10 years ago

tag for VCR alpha 2

  • Property svn:eol-style set to native
File size: 3.0 KB
Line 
1package eu.clarin.cmdi.virtualcollectionregistry.gui.wizard;
2
3import eu.clarin.cmdi.virtualcollectionregistry.service.impl.ReferenceValidator;
4import eu.clarin.cmdi.virtualcollectionregistry.gui.VolatileEntityModel;
5import java.util.Arrays;
6
7import org.apache.wicket.markup.html.form.DropDownChoice;
8import org.apache.wicket.markup.html.form.EnumChoiceRenderer;
9import org.apache.wicket.markup.html.form.Form;
10import org.apache.wicket.markup.html.form.RequiredTextField;
11import org.apache.wicket.markup.html.form.TextField;
12import org.apache.wicket.markup.html.panel.FeedbackPanel;
13import org.apache.wicket.model.IModel;
14import org.apache.wicket.model.Model;
15import org.apache.wicket.validation.validator.StringValidator;
16
17import eu.clarin.cmdi.virtualcollectionregistry.gui.dialog.ModalEditDialogBase;
18import eu.clarin.cmdi.virtualcollectionregistry.model.Resource;
19import org.apache.wicket.markup.html.form.TextArea;
20
21@SuppressWarnings("serial")
22public abstract class EditResourceDialog extends ModalEditDialogBase<Resource> {
23
24    private final class Content extends
25            ModalEditDialogBase<Resource>.ContentPanel {
26
27        private final Form<Resource> form;
28        private final FeedbackPanel feedbackPanel;
29
30        public Content(String id, IModel<Resource> model) {
31            super(id);
32            form = new Form<>("editResourceForm", model);
33
34            form.add(new DropDownChoice<>("type",
35                    Arrays.asList(Resource.Type.values()),
36                    new EnumChoiceRenderer<Resource.Type>(this))
37                    .setRequired(true)
38            );
39
40            form.add(new RequiredTextField<String>("ref")
41                    .add(new StringValidator.MaximumLengthValidator(255))
42                    .add(new ReferenceValidator()));
43
44            form.add(new TextField<String>("label")
45                    .add(new StringValidator.MaximumLengthValidator(255)));
46
47            form.add(new TextArea<String>("description"));
48
49            feedbackPanel = new FeedbackPanel("feedback");
50            form.add(feedbackPanel);
51            add(form);
52        }
53
54        @Override
55        public Form<Resource> getForm() {
56            return form;
57        }
58
59        @Override
60        public FeedbackPanel getFeedbackPanel() {
61            return feedbackPanel;
62        }
63    } // class EditResourceDialog.Content
64
65    public EditResourceDialog(final String id) {
66        super(id, Model.of("Add/Edit Resource"));
67        setInitialWidth(600);
68    }
69
70    @Override
71    protected ModalEditDialogBase<Resource>.ContentPanel
72            createContentPanel(String id, IModel<Resource> model) {
73        return new Content(id, model);
74    }
75
76    @Override
77    protected final IModel<Resource> newInstanceModel() {
78        return new VolatileEntityModel<>(new Resource());
79    }
80
81    @Override
82    protected final IModel<Resource> createEmptyModel() {
83        return new VolatileEntityModel<>(null);
84    }
85
86    @Override
87    protected String getCssClass() {
88        return "editResourceDialog";
89    }
90
91} // EditResourceDialog
Note: See TracBrowser for help on using the repository browser.