Changeset 5491
- Timestamp:
- 07/28/14 12:05:49 (10 years ago)
- Location:
- VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/ReferenceLinkPanel.html
r5490 r5491 6 6 <wicket:panel> 7 7 <a target="_blank" wicket:id="reference"><span wicket:id="referenceLabel"></span></a> 8 <p wicket:id="description">[description]</p> 8 9 </wicket:panel> 9 10 </html> -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/ReferenceLinkPanel.java
r5489 r5491 3 3 import eu.clarin.cmdi.virtualcollectionregistry.gui.HandleLinkModel; 4 4 import eu.clarin.cmdi.virtualcollectionregistry.model.Resource; 5 import org.apache.wicket.AttributeModifier; 5 6 import org.apache.wicket.markup.html.basic.Label; 6 7 import org.apache.wicket.markup.html.link.ExternalLink; 7 8 import org.apache.wicket.markup.html.panel.Panel; 9 import org.apache.wicket.model.AbstractReadOnlyModel; 8 10 import org.apache.wicket.model.IModel; 9 11 import org.apache.wicket.model.PropertyModel; 12 import org.apache.wicket.util.string.Strings; 10 13 11 14 /** … … 17 20 public ReferenceLinkPanel(String id, IModel<Resource> model) { 18 21 super(id, model); 19 20 // Rerence model shared by link and label21 final PropertyModel refModel = new PropertyModel(model, "ref");22 22 23 // Shared rerence model 24 final PropertyModel<String> refModel = new PropertyModel<>(model, "ref"); 25 23 26 // Wrapper for link model that detects handles 24 27 final HandleLinkModel linkModel = new HandleLinkModel(refModel); 25 28 final ExternalLink link = new ExternalLink("reference", linkModel); 26 29 link.add(new AttributeModifier("title", true, refModel)); 30 27 31 // Set label on link 28 32 // TODO: get label from 'label' property if available 29 link.add(new Label("referenceLabel", refModel)); 30 33 final ReferenceLabelModel labelModel = new ReferenceLabelModel(model); 34 link.add(new Label("referenceLabel", labelModel)); 35 31 36 add(link); 37 38 final PropertyModel<String> descriptionModel = new PropertyModel<>(model, "description"); 39 add(new Label("description", descriptionModel) { 40 41 @Override 42 protected void onConfigure() { 43 super.onConfigure(); 44 setVisible(descriptionModel.getObject() != null); 45 } 46 47 }); 48 49 } 50 51 /** 52 * String model that returns the label of a {@link Resource} if it is 53 * available (not null or empty), otherwise the reference URI 54 */ 55 private static class ReferenceLabelModel extends AbstractReadOnlyModel<String> { 56 57 private final IModel<Resource> resourceModel; 58 59 public ReferenceLabelModel(IModel<Resource> resourceModel) { 60 this.resourceModel = resourceModel; 61 } 62 63 @Override 64 public String getObject() { 65 final Resource resource = resourceModel.getObject(); 66 if (resource == null) { 67 return null; 68 } else { 69 if (!Strings.isEmpty(resource.getLabel())) { 70 return resource.getLabel(); 71 } 72 return resource.getRef(); 73 } 74 } 75 76 @Override 77 public void detach() { 78 resourceModel.detach(); 79 } 80 32 81 } 33 82 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/wizard/EditResourceDialog$Content.html
r906 r5491 17 17 <input wicket:id="ref" id="edit_resource_ref" type="text" /> 18 18 </div> 19 <div class="optional"> 20 <label for="edit_resource_label">Label</label> 21 <input wicket:id="label" id="edit_resource_label" type="text" /> 22 </div> 23 <div class="optional"> 24 <label for="edit_resource_description">Description</label> 25 <input wicket:id="description" id="edit_resource_description" type="text" /> 26 </div> 19 27 </fieldset> 20 28 <div wicket:id="feedback" class="feedback"></div> -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/wizard/EditResourceDialog.java
r5448 r5491 10 10 import org.apache.wicket.markup.html.form.TextField; 11 11 import org.apache.wicket.markup.html.panel.FeedbackPanel; 12 import org.apache.wicket.model.CompoundPropertyModel;13 12 import org.apache.wicket.model.IModel; 14 13 import org.apache.wicket.model.Model; … … 21 20 @SuppressWarnings("serial") 22 21 public abstract class EditResourceDialog extends ModalEditDialogBase<Resource> { 22 23 23 private final class Content extends 24 24 ModalEditDialogBase<Resource>.ContentPanel { 25 25 26 private final Form<Resource> form; 26 27 private final FeedbackPanel feedbackPanel; 27 28 28 29 public Content(String id, IModel<Resource> model) { 29 30 super(id); 30 form = new Form<Resource>("editResourceForm", model); 31 final DropDownChoice<Resource.Type> typeChoice = 32 new DropDownChoice<Resource.Type>("type", 33 Arrays.asList(Resource.Type.values()), 34 new EnumChoiceRenderer<Resource.Type>(this)); 35 typeChoice.setRequired(true); 36 form.add(typeChoice); 37 final TextField<String> refField = 38 new RequiredTextField<String>("ref"); 39 refField.add(new StringValidator.MaximumLengthValidator(255)); 40 refField.add(new UrlValidator(UrlValidator.NO_FRAGMENTS)); 41 form.add(refField); 31 form = new Form<>("editResourceForm", model); 32 33 form.add(new DropDownChoice<>("type", 34 Arrays.asList(Resource.Type.values()), 35 new EnumChoiceRenderer<Resource.Type>(this)) 36 .setRequired(true) 37 ); 38 39 form.add(new RequiredTextField<String>("ref") 40 .add(new StringValidator.MaximumLengthValidator(255)) 41 .add(new UrlValidator(UrlValidator.NO_FRAGMENTS))); 42 43 form.add(new TextField<String>("label")); 44 form.add(new TextField<String>("description")); 45 42 46 feedbackPanel = new FeedbackPanel("feedback"); 43 47 form.add(feedbackPanel); 44 48 add(form); 45 49 } 46 50 47 51 @Override 48 52 public Form<Resource> getForm() { 49 53 return form; 50 54 } 51 55 52 56 @Override 53 57 public FeedbackPanel getFeedbackPanel() { … … 56 60 } // class EditResourceDialog.Content 57 61 58 59 62 public EditResourceDialog(final String id) { 60 super(id, new Model<String>("Add/Edit Resource"));63 super(id, Model.of("Add/Edit Resource")); 61 64 setInitialWidth(600); 62 65 } 63 66 64 67 @Override 65 68 protected ModalEditDialogBase<Resource>.ContentPanel 66 createContentPanel(String id, IModel<Resource> model) {69 createContentPanel(String id, IModel<Resource> model) { 67 70 return new Content(id, model); 68 71 } 69 72 70 73 @Override 71 74 protected final IModel<Resource> newInstanceModel() { 72 75 return new VolatileEntityModel<>(new Resource()); 73 76 } 74 77 75 78 @Override 76 79 protected final IModel<Resource> createEmptyModel() { 77 80 return new VolatileEntityModel<>(null); 78 81 } 79 82 80 83 @Override 81 84 protected String getCssClass() { 82 85 return "editResourceDialog"; 83 86 } 84 87 85 88 } // EditResourceDialog -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/model/Resource.java
r5448 r5491 39 39 private String ref; 40 40 41 @Column(name = "label", nullable = true) 42 private String label; 43 44 @Column(name = "description", nullable = true) 45 private String description; 46 41 47 public Resource() { 42 48 super(); … … 49 55 } 50 56 57 @Override 51 58 public Long getId() { 52 59 return id; … … 77 84 } 78 85 this.ref = ref; 86 } 87 88 public String getLabel() { 89 return label; 90 } 91 92 public void setLabel(String label) { 93 this.label = label; 94 } 95 96 public String getDescription() { 97 return description; 98 } 99 100 public void setDescription(String description) { 101 this.description = description; 79 102 } 80 103 … … 108 131 ref = resource.getRef(); 109 132 type = resource.getType(); 133 label = resource.getLabel(); 134 description = resource.getDescription(); 110 135 } 111 136 … … 115 140 copy.setRef(ref); 116 141 copy.setType(type); 142 copy.setLabel(label); 143 copy.setDescription(description); 117 144 return copy; 118 145 }
Note: See TracChangeset
for help on using the changeset viewer.