Changeset 963
- Timestamp:
- 12/06/10 16:55:28 (13 years ago)
- Location:
- VirtualCollectionRegistry/trunk/VirtualCollectionRegistry
- Files:
-
- 6 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/pom.xml
r953 r963 316 316 <dependency> 317 317 <groupId>org.apache.wicket</groupId> 318 <artifactId>wicket-datetime</artifactId> 319 <version>${wicket.version}</version> 320 </dependency> 321 322 <dependency> 323 <groupId>org.apache.wicket</groupId> 318 324 <artifactId>wicket-extensions</artifactId> 319 325 <version>${wicket.version}</version> -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/BrowsePrivateCollectionsPage.java
r960 r963 151 151 152 152 publishDialog = new PublishCollectionDialog("publishCollectionDialog", 153 table .getTable());153 table); 154 154 add(publishDialog); 155 155 deleteDialog = new DeleteCollectionDialog("deleteCollectionDialog", 156 table .getTable());156 table); 157 157 add(deleteDialog); 158 158 } -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/ColumnActions.java
r960 r963 5 5 import org.apache.wicket.extensions.markup.html.repeater.data.table.HeaderlessColumn; 6 6 import org.apache.wicket.extensions.markup.html.repeater.data.table.filter.FilterForm; 7 import org.apache.wicket.extensions.markup.html.repeater.data.table.filter.GoFilter;8 7 import org.apache.wicket.extensions.markup.html.repeater.data.table.filter.IFilteredColumn; 9 8 import org.apache.wicket.markup.repeater.Item; … … 24 23 @Override 25 24 public Component getFilter(String componentId, FilterForm<?> form) { 26 return new GoFilter(componentId);25 return new AjaxGoAndClearFilter(componentId); 27 26 } 28 27 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/ColumnCreated.java
r960 r963 6 6 import org.apache.wicket.extensions.markup.html.repeater.data.table.filter.FilterForm; 7 7 import org.apache.wicket.extensions.markup.html.repeater.data.table.filter.FilteredAbstractColumn; 8 import org.apache.wicket.extensions.markup.html.repeater.data.table.filter.NoFilter;9 8 import org.apache.wicket.markup.html.basic.Label; 10 9 import org.apache.wicket.markup.repeater.Item; 10 import org.apache.wicket.model.CompoundPropertyModel; 11 11 import org.apache.wicket.model.IModel; 12 import org.apache.wicket.model. StringResourceModel;12 import org.apache.wicket.model.ResourceModel; 13 13 14 14 import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollection; … … 20 20 21 21 ColumnCreated(VirtualCollectionTable table) { 22 super(new StringResourceModel("column.created", table, null), 23 "created"); 22 super(new ResourceModel("column.created", "Created"), "created"); 24 23 } 25 24 26 25 @Override 27 26 public Component getFilter(String componentId, FilterForm<?> form) { 28 return new NoFilter(componentId); 27 final FilterState state = 28 (FilterState) form.getStateLocator().getFilterState(); 29 final IModel<FilterState> model = 30 new CompoundPropertyModel<FilterState>(state); 31 return new CreatedDateFilter(componentId, model, form); 29 32 } 30 33 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/ColumnDescription.java
r960 r963 7 7 import org.apache.wicket.model.IModel; 8 8 import org.apache.wicket.model.PropertyModel; 9 import org.apache.wicket.model. StringResourceModel;9 import org.apache.wicket.model.ResourceModel; 10 10 11 11 import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollection; … … 15 15 16 16 ColumnDescription(VirtualCollectionTable table) { 17 super(new StringResourceModel("column.description", table, null),17 super(new ResourceModel("column.description", "Description"), 18 18 "description", "description"); 19 19 } -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/ColumnName.java
r960 r963 7 7 import org.apache.wicket.model.IModel; 8 8 import org.apache.wicket.model.PropertyModel; 9 import org.apache.wicket.model. StringResourceModel;9 import org.apache.wicket.model.ResourceModel; 10 10 11 11 import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollection; … … 15 15 16 16 ColumnName(VirtualCollectionTable table) { 17 super(new StringResourceModel("column.title", table, null), "name",17 super(new ResourceModel("column.name", "Name"), "name", 18 18 "name"); 19 19 } -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/ColumnState.java
r960 r963 14 14 import org.apache.wicket.model.IModel; 15 15 import org.apache.wicket.model.PropertyModel; 16 import org.apache.wicket.model. StringResourceModel;16 import org.apache.wicket.model.ResourceModel; 17 17 18 18 import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollection; … … 20 20 @SuppressWarnings("serial") 21 21 final class ColumnState extends FilteredAbstractColumn<VirtualCollection> { 22 private final staticList<VirtualCollection.State> STATE_VALUES =22 private static final List<VirtualCollection.State> STATE_VALUES = 23 23 Arrays.asList(VirtualCollection.State.PRIVATE, 24 24 VirtualCollection.State.PUBLIC, 25 25 VirtualCollection.State.PUBLIC_PENDING, 26 26 VirtualCollection.State.DELETED); 27 private transient final VirtualCollectionTable table;27 private final EnumChoiceRenderer<VirtualCollection.State> renderer; 28 28 29 29 ColumnState(VirtualCollectionTable table) { 30 super(new StringResourceModel("column.state", table, null), "state");31 this. table = table;30 super(new ResourceModel("column.state", "State"), "state"); 31 this.renderer = new EnumChoiceRenderer<VirtualCollection.State>(table); 32 32 } 33 33 … … 39 39 new PropertyModel<VirtualCollection.State>(state, "state"); 40 40 return new ChoiceFilter<VirtualCollection.State>(componentId, model, 41 form, STATE_VALUES, 42 new EnumChoiceRenderer<VirtualCollection.State>(table), false); 41 form, STATE_VALUES, renderer, true); 43 42 } 44 43 … … 47 46 Item<ICellPopulator<VirtualCollection>> item, 48 47 String componentId, IModel<VirtualCollection> model) { 49 final VirtualCollection.State value = model.getObject().getState(); 50 final String key = 51 value.getDeclaringClass().getSimpleName() + "." + value.name(); 52 item.add(new Label(componentId, 53 new StringResourceModel(key, table, null))); 48 final VirtualCollection.State state = model.getObject().getState(); 49 final String label = renderer.getDisplayValue(state).toString(); 50 item.add(new Label(componentId, label)); 54 51 } 55 52 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/ColumnType.java
r960 r963 14 14 import org.apache.wicket.model.IModel; 15 15 import org.apache.wicket.model.PropertyModel; 16 import org.apache.wicket.model. StringResourceModel;16 import org.apache.wicket.model.ResourceModel; 17 17 18 18 import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollection; … … 22 22 private static final List<VirtualCollection.Type> TYPE_VALUES = 23 23 Arrays.asList(VirtualCollection.Type.values()); 24 25 private transient final VirtualCollectionTable table; 26 24 private final EnumChoiceRenderer<VirtualCollection.Type> renderer; 25 27 26 ColumnType(VirtualCollectionTable table) { 28 super(new StringResourceModel("column.type", table, null), "type");29 this. table = table;27 super(new ResourceModel("column.type", "Type"), "type"); 28 this.renderer = new EnumChoiceRenderer<VirtualCollection.Type>(table); 30 29 } 31 30 … … 37 36 new PropertyModel<VirtualCollection.Type>(state, "type"); 38 37 return new ChoiceFilter<VirtualCollection.Type>(componentId, model, 39 form, TYPE_VALUES, 40 new EnumChoiceRenderer<VirtualCollection.Type>(table), false); 38 form, TYPE_VALUES, renderer, true); 41 39 } 42 40 … … 44 42 public void populateItem(Item<ICellPopulator<VirtualCollection>> item, 45 43 String componentId, IModel<VirtualCollection> model) { 46 final VirtualCollection.Type value = model.getObject().getType(); 47 final String key = 48 value.getDeclaringClass().getSimpleName() + "." + value.name(); 49 item.add(new Label(componentId, 50 new StringResourceModel(key, table, null))); 44 final VirtualCollection.Type type = model.getObject().getType(); 45 final String label = renderer.getDisplayValue(type).toString(); 46 item.add(new Label(componentId, label)); 51 47 } 52 48 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/FilterState.java
r960 r963 2 2 3 3 import java.io.Serializable; 4 import java.util.Date; 4 5 5 6 import eu.clarin.cmdi.virtualcollectionregistry.QueryOptions; 6 import eu.clarin.cmdi.virtualcollectionregistry.gui.ApplicationSession;7 7 import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollection; 8 8 … … 13 13 private VirtualCollection.State state; 14 14 private String description; 15 15 private QueryOptions.Relation createdRelation = QueryOptions.Relation.EQ; 16 private Date created; 17 16 18 public String getName() { 17 19 return name; … … 20 22 public void setName(String name) { 21 23 this.name = name; 24 } 25 26 public boolean hasName() { 27 return name != null; 22 28 } 23 29 … … 30 36 } 31 37 38 public boolean hasType() { 39 return type != null; 40 } 41 32 42 public VirtualCollection.State getState() { 33 43 return state; … … 36 46 public void setType(VirtualCollection.State state) { 37 47 this.state = state; 48 } 49 50 public boolean hasState() { 51 return state != null; 38 52 } 39 53 … … 46 60 } 47 61 48 public boolean isEmpty() { 49 return (name == null) && (type == null) && (state == null) && 50 (description == null); 62 public boolean hasDescription() { 63 return description != null; 51 64 } 52 65 53 public QueryOptions getQueryOptions(boolean privateMode) { 54 QueryOptions options = new QueryOptions(); 55 QueryOptions.Filter and = options.and(); 56 if (privateMode) { 57 ApplicationSession session = ApplicationSession.get(); 58 and.add(QueryOptions.Property.VC_OWNER, 59 QueryOptions.Relation.EQ, session.getUser()); 60 } else { 61 and.add(QueryOptions.Property.VC_STATE, 62 QueryOptions.Relation.EQ, 63 VirtualCollection.State.PUBLIC); 64 } 65 66 if (name != null) { 67 and.add(QueryOptions.Property.VC_NAME, 68 QueryOptions.Relation.EQ, name); 69 } 70 if (type != null) { 71 and.add(QueryOptions.Property.VC_TYPE, 72 QueryOptions.Relation.EQ, type); 73 } 74 if (state != null) { 75 and.add(QueryOptions.Property.VC_STATE, 76 QueryOptions.Relation.EQ, state); 77 } 78 if (description != null) { 79 and.add(QueryOptions.Property.VC_DESCRIPTION, 80 QueryOptions.Relation.EQ, description); 81 } 82 options.setFilter(and); 83 return options; 66 public QueryOptions.Relation getCreatedRelation() { 67 return createdRelation; 68 } 69 70 public void setCreatedRelation(QueryOptions.Relation createdRelation) { 71 this.createdRelation = createdRelation; 84 72 } 85 73 86 public String toString() { 87 boolean first = true; 88 StringBuilder sb = new StringBuilder("FilterState["); 89 if (name != null) { 90 sb.append("name=\""); 91 sb.append(name); 92 sb.append("\""); 93 first = false; 94 } 95 if (type != null) { 96 if (!first) { 97 sb.append(", "); 98 } else { 99 first = false; 100 } 101 sb.append("type=\""); 102 sb.append(type); 103 sb.append("\""); 104 } 105 if (state != null) { 106 if (!first) { 107 sb.append(", "); 108 } else { 109 first = false; 110 } 111 sb.append("state=\""); 112 sb.append(state); 113 sb.append("\""); 114 } 115 if (description != null) { 116 if (!first) { 117 sb.append(", "); 118 } else { 119 first = false; 120 } 121 sb.append("description=\""); 122 sb.append(description); 123 sb.append("\""); 124 } 125 sb.append("]"); 126 return sb.toString(); 74 public Date getCreated() { 75 return created; 76 } 77 78 public void setCreated(Date created) { 79 this.created = created; 80 } 81 82 public boolean hasCreated() { 83 return created != null; 84 } 85 86 public void clear() { 87 name = null; 88 type = null; 89 state = null; 90 description = null; 91 createdRelation = QueryOptions.Relation.EQ; 92 created = null; 127 93 } 128 94 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/Provider.java
r960 r963 9 9 import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider; 10 10 import org.apache.wicket.model.IModel; 11 import org.apache.wicket.model.Model;12 11 13 12 import eu.clarin.cmdi.virtualcollectionregistry.QueryOptions; … … 15 14 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistry; 16 15 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistryException; 16 import eu.clarin.cmdi.virtualcollectionregistry.gui.ApplicationSession; 17 import eu.clarin.cmdi.virtualcollectionregistry.gui.DetachableVirtualCollectionModel; 17 18 import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollection; 18 19 … … 26 27 public Provider(boolean privateMode) { 27 28 this.privateMode = privateMode; 29 setSort("created", false); 28 30 } 29 31 … … 40 42 @Override 41 43 public IModel<VirtualCollection> model(VirtualCollection vc) { 42 // FIXME: some kind of detachable model? 43 return new Model<VirtualCollection>(vc); 44 return new DetachableVirtualCollectionModel(vc); 44 45 } 45 46 … … 70 71 71 72 private QueryOptions getFilter() { 72 // XXX: caching 73 final QueryOptions options = filterstate.getQueryOptions(privateMode); 73 QueryOptions options = new QueryOptions(); 74 75 QueryOptions.Filter filter = options.and(); 76 if (privateMode) { 77 ApplicationSession session = ApplicationSession.get(); 78 filter.add(QueryOptions.Property.VC_OWNER, 79 QueryOptions.Relation.EQ, 80 session.getUser()); 81 } else { 82 filter.add(QueryOptions.Property.VC_STATE, 83 QueryOptions.Relation.EQ, 84 VirtualCollection.State.PUBLIC); 85 } 86 if (filterstate.hasName()) { 87 filter.add(QueryOptions.Property.VC_NAME, 88 QueryOptions.Relation.EQ, 89 filterstate.getName()); 90 } 91 if (filterstate.hasType()) { 92 filter.add(QueryOptions.Property.VC_TYPE, 93 QueryOptions.Relation.EQ, 94 filterstate.getType()); 95 } 96 if (filterstate.hasState()) { 97 filter.add(QueryOptions.Property.VC_STATE, 98 QueryOptions.Relation.EQ, 99 filterstate.getState()); 100 } 101 if (filterstate.hasDescription()) { 102 filter.add(QueryOptions.Property.VC_DESCRIPTION, 103 QueryOptions.Relation.EQ, 104 filterstate.getDescription()); 105 } 106 if (filterstate.hasCreated()) { 107 filter.add(QueryOptions.Property.VC_CREATION_DATE, 108 filterstate.getCreatedRelation(), 109 filterstate.getCreated()); 110 } 111 options.setFilter(filter); 112 74 113 final SortParam s = getSort(); 75 114 if (s != null) { -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/VirtualCollectionTable.html
r960 r963 12 12 </div> 13 13 <table wicket:id="table" class="collectionsTable"></table> 14 <div wicket:id="feedback" class="collectionsTableFeedback"></div> 14 15 </form> 15 16 </wicket:panel> -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/VirtualCollectionTable.java
r960 r963 9 9 import org.apache.wicket.extensions.markup.html.repeater.data.table.filter.FilterForm; 10 10 import org.apache.wicket.extensions.markup.html.repeater.data.table.filter.FilterToolbar; 11 import org.apache.wicket.markup.html.panel.FeedbackPanel; 11 12 import org.apache.wicket.markup.html.panel.Panel; 12 13 import org.apache.wicket.model.IModel; … … 16 17 @SuppressWarnings("serial") 17 18 public abstract class VirtualCollectionTable extends Panel { 18 private final DataTable<VirtualCollection> table;19 19 20 20 public VirtualCollectionTable(String id, boolean privateMode) { … … 34 34 columns.add(new ColumnActions(this)); 35 35 Provider provider = new Provider(privateMode); 36 final FilterForm<FilterState> f ilterform =36 final FilterForm<FilterState> form = 37 37 new FilterForm<FilterState>("filterform", provider); 38 add(filterform); 38 form.setOutputMarkupId(true); 39 add(form); 39 40 40 41 // table 41 table = new AjaxFallbackDefaultDataTable<VirtualCollection>("table", 42 final DataTable<VirtualCollection> table = 43 new AjaxFallbackDefaultDataTable<VirtualCollection>("table", 42 44 columns, provider, 32); 43 // XXX: implement own Ajax filter toolbar 44 table.addTopToolbar(new FilterToolbar(table, filterform, provider)); 45 table.addTopToolbar(new FilterToolbar(table, form, provider)); 45 46 table.setOutputMarkupId(true); 46 filterform.add(table); 47 add(filterform); 47 form.add(table); 48 form.add(new FeedbackPanel("feedback")); 49 add(form); 48 50 } 49 51 … … 51 53 IModel<VirtualCollection> model); 52 54 53 public DataTable<VirtualCollection> getTable() {54 return table;55 }56 57 55 } // class VirtualCollectionTable -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/table/VirtualCollectionTable.properties
r960 r963 1 column. title: Title1 column.name: Name 2 2 column.type: Type 3 3 column.state: State … … 11 11 State.DELETED: deleted 12 12 State.DEAD: dead 13 button.filter: Filter 14 button.clear: Clear
Note: See TracChangeset
for help on using the changeset viewer.