Changeset 6437
- Timestamp:
- 08/11/15 13:34:50 (9 years ago)
- Location:
- vlo/trunk/vlo-web-app
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo-web-app/pom.xml
r6436 r6437 19 19 20 20 <properties> 21 <wicket.version> 6.20.0</wicket.version>22 <spring.version> 3.2.14.RELEASE</spring.version>21 <wicket.version>7.0.0</wicket.version> 22 <spring.version>4.2.0.RELEASE</spring.version> 23 23 <jetty.version>8.1.17.v20150415</jetty.version> 24 24 <!-- selects the appender for the log4j root logger --> -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/ResourceTypeCssBehaviour.java
r4881 r6437 19 19 import eu.clarin.cmdi.vlo.pojo.ResourceInfo; 20 20 import org.apache.wicket.behavior.AttributeAppender; 21 import org.apache.wicket.migrate.StringResourceModelMigration; 21 22 import org.apache.wicket.model.IModel; 22 import org.apache.wicket.model.StringResourceModel;23 23 24 24 /** … … 35 35 // to one of the properties in resourceTypeClass.properties file 36 36 // (defaults to "") 37 new StringResourceModel("resourcetype.${resourceType}.class", resourceInfoModel, "", new Object[0]));37 StringResourceModelMigration.of("resourcetype.${resourceType}.class", resourceInfoModel, "", new Object[0])); 38 38 // separate CSS classes with a space 39 39 setSeparator(" "); -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/model/SolrFieldNameModel.java
r6206 r6437 20 20 import org.apache.wicket.Application; 21 21 import org.apache.wicket.model.IModel; 22 import org.apache.wicket.model.Model; 22 23 import org.apache.wicket.model.PropertyModel; 23 24 import org.apache.wicket.model.StringResourceModel; 24 import org.apache.wicket.settings.def.ResourceSettings;25 25 26 26 /** … … 41 41 42 42 public SolrFieldNameModel(IModel<String> model) { 43 super("field.${}", 44 model, 45 model.getObject()); // default to internal field name) 43 super("field.${}", model); 44 setDefaultValue(Model.of(model.getObject())); //TODO: check if this is necessary, added on migration to Wicket 7 46 45 } 47 46 -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/RecordPage.java
r6305 r6437 213 213 214 214 private void createSearchLinks(String id) { 215 final SolrFieldModel<String> searchPageModel = new SolrFieldModel< String>(getModel(), FacetConstants.FIELD_SEARCHPAGE);216 final SolrFieldModel<String> searchServiceModel = new SolrFieldModel< String>(getModel(), FacetConstants.FIELD_SEARCH_SERVICE);215 final SolrFieldModel<String> searchPageModel = new SolrFieldModel<>(getModel(), FacetConstants.FIELD_SEARCHPAGE); 216 final SolrFieldModel<String> searchServiceModel = new SolrFieldModel<>(getModel(), FacetConstants.FIELD_SEARCH_SERVICE); 217 217 add(new WebMarkupContainer(id) { 218 218 { 219 219 //Add search page links (can be multiple) 220 add(new ListView<String>("searchPage", new CollectionListModel< String>(searchPageModel)) {220 add(new ListView<String>("searchPage", new CollectionListModel<>(searchPageModel)) { 221 221 222 222 @Override … … 227 227 228 228 // We assume there can be multiple content search endpoints too 229 add(new ListView<String>("contentSearch", new CollectionListModel< String>(searchServiceModel)) {229 add(new ListView<String>("contentSearch", new CollectionListModel<>(searchServiceModel)) { 230 230 231 231 @Override … … 305 305 // Put the name of the record in the page title 306 306 return new StringResourceModel("recordpage.title", 307 new NullFallbackModel(new SolrFieldStringModel(getModel(), FacetConstants.FIELD_NAME), getString("recordpage.unnamedrecord")) ,308 DEFAULT_PAGE_TITLE);307 new NullFallbackModel(new SolrFieldStringModel(getModel(), FacetConstants.FIELD_NAME), getString("recordpage.unnamedrecord"))) 308 .setDefaultValue(DEFAULT_PAGE_TITLE); 309 309 } 310 310 -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/VloBasePage.java
r6405 r6437 33 33 import org.apache.wicket.markup.html.link.ExternalLink; 34 34 import org.apache.wicket.markup.html.panel.FeedbackPanel; 35 import org.apache.wicket.migrate.StringResourceModelMigration; 35 36 import org.apache.wicket.model.IModel; 36 37 import org.apache.wicket.model.Model; 37 import org.apache.wicket.model.StringResourceModel;38 38 import org.apache.wicket.request.mapper.parameter.PageParameters; 39 39 import org.apache.wicket.request.resource.CssResourceReference; … … 155 155 */ 156 156 public IModel<String> getPageDescriptionModel() { 157 return new StringResourceModel("vloDescription", null, (Object[]) null);157 return StringResourceModelMigration.of("vloDescription", null, (Object[]) null); 158 158 } 159 159 -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/RecordNavigationPanel.java
r4872 r6437 22 22 import org.apache.wicket.markup.html.basic.Label; 23 23 import org.apache.wicket.markup.html.panel.GenericPanel; 24 import org.apache.wicket.migrate.StringResourceModelMigration; 24 25 import org.apache.wicket.model.AbstractReadOnlyModel; 25 26 import org.apache.wicket.model.IModel; 26 27 import org.apache.wicket.model.PropertyModel; 27 import org.apache.wicket.model.StringResourceModel;28 28 29 29 /** … … 38 38 super(id, model); 39 39 40 41 40 42 // Add a label 'record X of Y' 41 add(new Label("recordIndex", new StringResourceModel("record.navigation.index", this, model,43 add(new Label("recordIndex", StringResourceModelMigration.of("record.navigation.index", this, model, 42 44 new Object[]{ 43 45 // These values get inserted into the string … … 45 47 new ShiftedIndexModel(new PropertyModel<Long>(model, "index"), +1), 46 48 // Second: total result count, unmodified 47 new PropertyModel< Integer>(model, "resultCount")49 new PropertyModel<>(model, "resultCount") 48 50 } 49 51 ))); -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/ResourceLinkDetailsPanel.java
r4907 r6437 20 20 import org.apache.wicket.markup.html.basic.Label; 21 21 import org.apache.wicket.markup.html.panel.Panel; 22 import org.apache.wicket.migrate.StringResourceModelMigration; 22 23 import org.apache.wicket.model.CompoundPropertyModel; 23 24 import org.apache.wicket.model.IModel; 24 import org.apache.wicket.model.StringResourceModel;25 25 26 26 /** … … 34 34 public ResourceLinkDetailsPanel(String id, IModel<ResourceInfo> model) { 35 35 super(id, model); 36 setDefaultModel(new CompoundPropertyModel< ResourceInfo>(model));36 setDefaultModel(new CompoundPropertyModel<>(model)); 37 37 // get the friendly name of the resource type dynamically from the resource bundle 38 add(new Label("resourceType", new StringResourceModel("resourcetype.${resourceType}.singular", model, model.getObject().getResourceType())));38 add(new Label("resourceType", StringResourceModelMigration.of("resourcetype.${resourceType}.singular", model, model.getObject().getResourceType()))); 39 39 add(new Label("fileName")); 40 40 add(new Label("mimeType")); -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/ResourceLinksPanel.java
r6331 r6437 25 25 import java.util.Collection; 26 26 import java.util.List; 27 import org.apache.wicket.Component;28 27 import org.apache.wicket.MarkupContainer; 29 28 import org.apache.wicket.ajax.AjaxRequestTarget; … … 62 61 63 62 // list view that shows all resources as links that show a resource details panel when clicked 64 final ResourcesListView resourceListing = new ResourcesListView("resource", new CollectionListModel< String>(model));63 final ResourcesListView resourceListing = new ResourcesListView("resource", new CollectionListModel<>(model)); 65 64 add(resourceListing); 66 65 … … 90 89 private class ResourcesListView extends PageableListView<String> { 91 90 92 public ResourcesListView(String id, IModel<? extends List< ? extendsString>> model) {91 public ResourcesListView(String id, IModel<? extends List<String>> model) { 93 92 super(id, model, ITEMS_PER_PAGE); 94 93 setReuseItems(true); -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/AllFacetValuesPanel.java
r6005 r6437 129 129 130 130 private DataView<FacetField.Count> createValuesView(String id) { 131 final IModel<String> fieldNameModel = new PropertyModel< String>(getModel(), "name");131 final IModel<String> fieldNameModel = new PropertyModel<>(getModel(), "name"); 132 132 return new DataView<FacetField.Count>(id, valuesProvider, ITEMS_PER_PAGE) { 133 133 134 134 @Override 135 135 protected void populateItem(final Item<FacetField.Count> item) { 136 item.setDefaultModel(new CompoundPropertyModel< FacetField.Count>(item.getModel()));136 item.setDefaultModel(new CompoundPropertyModel<>(item.getModel())); 137 137 138 138 // link to select an individual facet value … … 169 169 options.add(sortSelect); 170 170 171 final TextField filterField = new TextField< String>("filter", new PropertyModel(filterModel, "name"));171 final TextField filterField = new TextField<>("filter", new PropertyModel(filterModel, "name")); 172 172 filterField.add(new AjaxFormComponentUpdatingBehavior("keyup") { 173 173 … … 201 201 202 202 // Model that holds the actual number of occurences filtered on 203 final IModel<Integer> minOccurenceModel = new PropertyModel< Integer>(filterModel, "minimalOccurence");203 final IModel<Integer> minOccurenceModel = new PropertyModel<>(filterModel, "minimalOccurence"); 204 204 // Model that represents the filter state ('bridge' between filter and selection) 205 205 final IModel<Boolean> bridgeStateModel = Model.of(false); 206 206 // Model that represents the *selected* number of minimal occurences (passes it on if not decoupled) 207 final IModel<Integer> minOccurenceSelectModel = new BridgeOuterModel< Integer>(minOccurenceModel, bridgeStateModel, 2);207 final IModel<Integer> minOccurenceSelectModel = new BridgeOuterModel<>(minOccurenceModel, bridgeStateModel, 2); 208 208 // Model that links the actual filter, selection and bridge (object opens and closes it) 209 final IModel<Boolean> minOccurenceCheckBoxModel = new BridgeModel< Integer>(minOccurenceModel, minOccurenceSelectModel, bridgeStateModel, 0);209 final IModel<Boolean> minOccurenceCheckBoxModel = new BridgeModel<>(minOccurenceModel, minOccurenceSelectModel, bridgeStateModel, 0); 210 210 211 211 // checkbox to open and close the 'bridge' … … 215 215 216 216 // Dropdown to select a value (which is applied to the filter if the 'bridge' is open) 217 final DropDownChoice<Integer> minOccurence = new DropDownChoice< Integer>("minOccurences", minOccurenceSelectModel, ImmutableList.of(2, 5, 10, 100, 1000));217 final DropDownChoice<Integer> minOccurence = new DropDownChoice<>("minOccurences", minOccurenceSelectModel, ImmutableList.of(2, 5, 10, 100, 1000)); 218 218 minOccurence.add(new UpdateOptionsFormBehavior(options) { 219 219 -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/FacetValuesPanel.java
r6005 r6437 76 76 @SpringBean 77 77 private FieldValueConverterProvider fieldValueConverterProvider; 78 78 79 /** 79 80 * Creates a new panel with selectable values for a single facet … … 132 133 private Form createFilterForm(String id) { 133 134 final Form filterForm = new Form(id); 134 final TextField<String> filterField = new TextField< String>("filterText",135 final TextField<String> filterField = new TextField<>("filterText", 135 136 new PropertyModel<String>(filterModel, "name")); 136 137 // make field update … … 154 155 */ 155 156 private DataView createValuesView(String id) { 156 final FacetFieldValuesProvider valuesProvider = new FacetFieldValuesProvider(getModel(), MAX_NUMBER_OF_FACETS_TO_SHOW, LOW_PRIORITY_VALUES, fieldValueConverterProvider) {157 final FacetFieldValuesProvider valuesProvider = new FacetFieldValuesProvider(getModel(), MAX_NUMBER_OF_FACETS_TO_SHOW, LOW_PRIORITY_VALUES, fieldValueConverterProvider) { 157 158 158 159 @Override … … 163 164 }; 164 165 // partition the values according to the specified partition size 165 final PartitionedDataProvider<Count, FieldValuesOrder> partitionedValuesProvider = new PartitionedDataProvider< FacetField.Count, FieldValuesOrder>(valuesProvider, subListSize);166 final PartitionedDataProvider<Count, FieldValuesOrder> partitionedValuesProvider = new PartitionedDataProvider<>(valuesProvider, subListSize); 166 167 167 168 // create the view for the partitions 168 final DataView<List< ? extends Count>> valuesView = new DataView<List<? extendsCount>>(id, partitionedValuesProvider) {169 170 @Override 171 protected void populateItem(Item<List< ? extendsCount>> item) {169 final DataView<List<Count>> valuesView = new DataView<List<Count>>(id, partitionedValuesProvider) { 170 171 @Override 172 protected void populateItem(Item<List<Count>> item) { 172 173 // create a list view for the values in this partition 173 item.add(new ListView <Count>("facetValues", item.getModel()) {174 item.add(new ListView("facetValues", item.getModel()) { 174 175 175 176 @Override 176 protected void populateItem(ListItem <Count>item) {177 protected void populateItem(ListItem item) { 177 178 addFacetValue("facetSelect", item); 178 179 } … … 190 191 */ 191 192 private void addFacetValue(String id, final ListItem<Count> item) { 192 item.setDefaultModel(new CompoundPropertyModel< Count>(item.getModel()));193 item.setDefaultModel(new CompoundPropertyModel<>(item.getModel())); 193 194 194 195 // link to select an individual facet value -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/SearchResultItemCollapsedPanel.java
r4998 r6437 33 33 import org.apache.wicket.markup.repeater.data.DataView; 34 34 import org.apache.wicket.markup.repeater.data.IDataProvider; 35 import org.apache.wicket.migrate.StringResourceModelMigration; 35 36 import org.apache.wicket.model.IModel; 36 37 import org.apache.wicket.model.StringResourceModel; … … 59 60 60 61 // get model for resources 61 final SolrFieldModel<String> resourcesModel = new SolrFieldModel< String>(documentModel, FacetConstants.FIELD_RESOURCE);62 final SolrFieldModel<String> resourcesModel = new SolrFieldModel<>(documentModel, FacetConstants.FIELD_RESOURCE); 62 63 // wrap with a count provider 63 64 final ResouceTypeCountDataProvider countProvider = new ResouceTypeCountDataProvider(resourcesModel, countingService); … … 112 113 // first create a string model that provides the type of resources 113 114 // in the right number (plural or singular, conveniently supplied by ResourceTypeCount) 114 final StringResourceModel resourceTypeModel = new StringResourceModel("resourcetype.${resourceType}.${number}", resourceTypeCountModel, "?");115 final StringResourceModel resourceTypeModel = StringResourceModelMigration.of("resourcetype.${resourceType}.${number}", resourceTypeCountModel, "?"); 115 116 // inject this into the resource string that combines it with count 116 return new StringResourceModel("resources.typecount", this, resourceTypeCountModel, resourceTypeModel);117 return StringResourceModelMigration.of("resources.typecount", this, resourceTypeCountModel, resourceTypeModel); 117 118 } 118 119 } -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/SearchResultItemExpandedPanel.java
r6268 r6437 37 37 import org.apache.solr.common.SolrDocument; 38 38 import org.apache.wicket.ajax.AjaxRequestTarget; 39 import org.apache.wicket.extensions.markup.html.basic.SmartLinkLabel;40 39 import org.apache.wicket.markup.html.WebMarkupContainer; 41 40 import org.apache.wicket.markup.html.basic.Label; … … 44 43 import org.apache.wicket.markup.html.list.PageableListView; 45 44 import org.apache.wicket.markup.html.panel.GenericPanel; 45 import org.apache.wicket.migrate.StringResourceModelMigration; 46 46 import org.apache.wicket.model.AbstractReadOnlyModel; 47 47 import org.apache.wicket.model.IModel; 48 48 import org.apache.wicket.model.Model; 49 49 import org.apache.wicket.model.PropertyModel; 50 import org.apache.wicket.model.StringResourceModel;51 50 import org.apache.wicket.spring.injection.annot.SpringBean; 52 51 … … 94 93 95 94 private WebMarkupContainer createResourcesView(String id, final IModel<SearchContext> selectionModel) { 96 final SolrFieldModel<String> resourceModel = new SolrFieldModel< String>(getModel(), FacetConstants.FIELD_RESOURCE);95 final SolrFieldModel<String> resourceModel = new SolrFieldModel<>(getModel(), FacetConstants.FIELD_RESOURCE); 97 96 // create a container for the list view that is only visible if there actually are resources 98 97 final WebMarkupContainer container = new WebMarkupContainer(id) { … … 119 118 }; 120 119 // add a record page link that shows the number of resources not shown 121 moreLink.add(new Label("moreLabel", new StringResourceModel("resources.more", new AbstractReadOnlyModel<Integer>() {120 moreLink.add(new Label("moreLabel", StringResourceModelMigration.of("resources.more", new AbstractReadOnlyModel<Integer>() { 122 121 123 122 @Override … … 134 133 private PageableListView createResourcesList(String id, SolrFieldModel<String> resourceModel) { 135 134 // list of resources in this record 136 final IModel<List<String>> resourceListModel = new CollectionListModel< String>(resourceModel);135 final IModel<List<String>> resourceListModel = new CollectionListModel<>(resourceModel); 137 136 // use a a pageable view so that the number of resources actually shown is limited 138 137 return new PageableListView<String>(id, resourceListModel, MAX_RESOURCES_TO_SHOW) { -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/SimpleSearchBrowsePanel.java
r6248 r6437 38 38 import org.apache.wicket.markup.html.list.ListView; 39 39 import org.apache.wicket.markup.html.panel.GenericPanel; 40 import org.apache.wicket.migrate.StringResourceModelMigration; 40 41 import org.apache.wicket.model.AbstractReadOnlyModel; 41 42 import org.apache.wicket.model.IModel; 42 43 import org.apache.wicket.model.Model; 43 44 import org.apache.wicket.model.PropertyModel; 44 import org.apache.wicket.model.StringResourceModel;45 45 import org.apache.wicket.spring.injection.annot.SpringBean; 46 46 … … 82 82 }; 83 83 // set label on basis of string defined in resource bundle that takes the count model as a parameter 84 browseAllLink.add(new Label("recordCount", new StringResourceModel("simplesearch.allrecords", documentCountModel, new Object[]{})));84 browseAllLink.add(new Label("recordCount", StringResourceModelMigration.of("simplesearch.allrecords", documentCountModel, new Object[]{}))); 85 85 add(browseAllLink); 86 86 … … 110 110 * Model that holds the currently selected facet 111 111 */ 112 private final IModel<String> selectedFacetModel = new Model< String>(null);112 private final IModel<String> selectedFacetModel = new Model<>(null); 113 113 private final IModel<QueryFacetsSelection> selectionModel; 114 114 -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/provider/FacetFieldValuesProvider.java
r6040 r6437 88 88 */ 89 89 public FacetFieldValuesProvider(IModel<FacetField> model, int max, Collection<String> lowPriorityValues, FieldValueConverterProvider fieldValueConverterProvider) { 90 this(model, max, lowPriorityValues, new SortParam< FieldValuesOrder>(FieldValuesOrder.COUNT, false), fieldValueConverterProvider);90 this(model, max, lowPriorityValues, new SortParam<>(FieldValuesOrder.COUNT, false), fieldValueConverterProvider); 91 91 } 92 92 … … 122 122 123 123 @Override 124 public Iterator< ? extendsFacetField.Count> iterator(long first, long count) {124 public Iterator<FacetField.Count> iterator(long first, long count) { 125 125 // return iterator starting at specified offset 126 126 return getList().listIterator((int) first); … … 128 128 129 129 @Override 130 public List< ? extendsFacetField.Count> getList() {130 public List<FacetField.Count> getList() { 131 131 final Iterable<Count> filteredValues = getFilteredValues(); 132 132 // sort what remains -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/provider/ListProvider.java
r5140 r6437 26 26 public interface ListProvider<T> { 27 27 28 List< ? extendsT> getList();28 List<T> getList(); 29 29 30 30 } -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/provider/PartitionedDataProvider.java
r5154 r6437 17 17 package eu.clarin.cmdi.vlo.wicket.provider; 18 18 19 import com.google.common.base.Functions; 19 20 import com.google.common.collect.ImmutableList; 20 21 import com.google.common.collect.Iterators; … … 34 35 * @param <S> the type of the sorting parameter 35 36 */ 36 public class PartitionedDataProvider<T, S> implements ISortableDataProvider<List< ? extendsT>, S> {37 public class PartitionedDataProvider<T, S> implements ISortableDataProvider<List<T>, S> { 37 38 38 private final ISortableDataProvider< ? extendsT, S> provider;39 private final ISortableDataProvider<T, S> provider; 39 40 private final int partitionSize; 40 41 … … 51 52 52 53 @Override 53 public Iterator<? extends List< ? extendsT>> iterator(long first, long count) {54 public Iterator<? extends List<T>> iterator(long first, long count) { 54 55 if (partitionSize > 0) { 55 56 // translate first, count to item level 56 57 final long itemsFirst = first * partitionSize; 57 58 final long itemsCount = count * partitionSize; 59 // reduce wildcard to upper bound (i.e. remove "? extends") 60 final Iterator<T> iterator 61 = Iterators.transform(provider.iterator(itemsFirst, itemsCount), Functions.<T>identity()); 58 62 // split up values 59 return Iterators.partition( provider.iterator(itemsFirst, itemsCount), partitionSize);63 return Iterators.partition(iterator, partitionSize); 60 64 } else { 61 65 // return a single list (wrapped in a singleton iterator) 62 final List< ? extendsT> valuesList;66 final List<T> valuesList; 63 67 if (provider instanceof ListProvider) { 64 68 // get list straight out of provider, prevent double wrapping … … 91 95 92 96 @Override 93 public IModel<List< ? extends T>> model(List<? extendsT> object) {97 public IModel<List<T>> model(List<T> object) { 94 98 // Iterators.partition sometimes returns lists that are not deeply serializable, 95 99 // so we need to copy this into a serializable list here :(
Note: See TracChangeset
for help on using the changeset viewer.