Changeset 5473
- Timestamp:
- 07/10/14 13:24:47 (10 years ago)
- Location:
- vlo/branches/vlo-3.1-vcr
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/branches/vlo-3.1-vcr/vlo-commons/src/main/java/eu/clarin/cmdi/vlo/config/VloConfig.java
r5470 r5473 1 1 package eu.clarin.cmdi.vlo.config; 2 2 3 import java.io.UnsupportedEncodingException;4 import java.net.URLEncoder;5 3 import java.util.ArrayList; 6 4 import java.util.Collection; … … 97 95 98 96 private String vcrSubmitEndpoint; 97 98 private Long vcrMaximumItemsCount = 0L; 99 99 100 /** 100 101 * A set of fields to be excluded from display<br><br> … … 636 637 public void setVcrSubmitEndpoint(String vcrSubmitEndpoint) { 637 638 this.vcrSubmitEndpoint = vcrSubmitEndpoint; 639 } 640 641 public Long getVcrMaximumItemsCount() { 642 return vcrMaximumItemsCount; 643 } 644 645 public void setVcrMaximumItemsCount(Long vcrMaximumItemsCount) { 646 this.vcrMaximumItemsCount = vcrMaximumItemsCount; 638 647 } 639 648 -
vlo/branches/vlo-3.1-vcr/vlo-commons/src/main/resources/VloConfig.xml
r5470 r5473 150 150 <cqlEndpointAlternative>http://cqlservlet.mpi.nl/</cqlEndpointAlternative> 151 151 152 <!-- Set to -1 to disable virtual collection creation from VLO --> 153 <vcrMaximumItemsCount>1000</vcrMaximumItemsCount> 154 152 155 <vcrSubmitEndpoint>http://catalog-clarin.esc.rzg.mpg.de/vcr/service/submit</vcrSubmitEndpoint> 156 153 157 </VloConfig> -
vlo/branches/vlo-3.1-vcr/vlo-commons/src/test/java/eu/clarin/cmdi/vlo/config/DefaultVloConfigFactoryTest.java
r5470 r5473 2 2 3 3 import java.io.File; 4 import java.io.UnsupportedEncodingException;5 import java.net.URLEncoder;6 import java.util.ArrayList;7 4 import java.util.Arrays; 8 import java.util.HashSet;9 5 import java.util.List; 10 6 import java.util.Set; … … 939 935 assertEquals(5, result.size()); 940 936 } 941 942 @Test 943 public void testGetVcrSubmitEndpoint() {937 938 @Test 939 public void testGetVcrSubmitEndpoint() { 944 940 assertEquals("http://catalog-clarin.esc.rzg.mpg.de/vcr/service/submit", config.getVcrSubmitEndpoint()); 945 941 } 942 943 @Test 944 public void testGetVcrMaximumItemsCount() { 945 assertEquals(Long.valueOf(1000), config.getVcrMaximumItemsCount()); 946 } 946 947 } -
vlo/branches/vlo-3.1-vcr/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/FacetedSearchPage.java
r5205 r5473 15 15 import eu.clarin.cmdi.vlo.wicket.panels.TopLinksPanel; 16 16 import eu.clarin.cmdi.vlo.wicket.panels.search.AdvancedSearchOptionsPanel; 17 import eu.clarin.cmdi.vlo.wicket.provider.SolrDocumentProvider; 17 18 import java.util.List; 18 19 import org.apache.solr.client.solrj.response.FacetField; 20 import org.apache.solr.common.SolrDocument; 19 21 import org.apache.wicket.Component; 20 22 import org.apache.wicket.ajax.AjaxRequestTarget; … … 22 24 import org.apache.wicket.request.mapper.parameter.PageParameters; 23 25 import org.apache.wicket.markup.html.panel.Panel; 26 import org.apache.wicket.markup.repeater.data.IDataProvider; 24 27 import org.apache.wicket.model.IModel; 25 28 import org.apache.wicket.model.Model; … … 42 45 private PageParametersConverter<QueryFacetsSelection> paramsConverter; 43 46 47 private IDataProvider<SolrDocument> documentsProvider; 44 48 private SearchResultsPanel searchResultsPanel; 45 49 private Component facetsPanel; 46 50 private Component collectionsPanel; 47 51 private Component navigation; 52 private Component optionsPanel; 48 53 49 54 public FacetedSearchPage(IModel<QueryFacetsSelection> queryModel) { … … 62 67 63 68 private void addComponents() { 69 documentsProvider = new SolrDocumentProvider(getModel()); 70 64 71 navigation = createNavigation("navigation"); 65 72 add(navigation); … … 73 80 add(facetsPanel); 74 81 75 PaneloptionsPanel = createOptionsPanel("options");82 optionsPanel = createOptionsPanel("options"); 76 83 add(optionsPanel); 77 84 78 searchResultsPanel = new SearchResultsPanel("searchResults", getModel() );85 searchResultsPanel = new SearchResultsPanel("searchResults", getModel(), documentsProvider); 79 86 add(searchResultsPanel); 80 87 } … … 105 112 } 106 113 107 private PanelcreateOptionsPanel(String id) {108 final Panel optionsPanel = new AdvancedSearchOptionsPanel(id, getModel()) {114 private Component createOptionsPanel(String id) { 115 final Panel panel = new AdvancedSearchOptionsPanel(id, getModel(), documentsProvider) { 109 116 110 117 @Override … … 113 120 } 114 121 }; 115 return optionsPanel;122 return panel.setOutputMarkupId(true); 116 123 } 117 124 … … 174 181 target.add(facetsPanel); 175 182 target.add(collectionsPanel); 183 target.add(optionsPanel); 176 184 } 177 185 } -
vlo/branches/vlo-3.1-vcr/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/VirtualCollectionSubmissionPage.java
r5471 r5473 35 35 import org.apache.wicket.markup.repeater.Item; 36 36 import org.apache.wicket.markup.repeater.data.DataView; 37 import org.apache.wicket.markup.repeater.data.IDataProvider; 37 38 import org.apache.wicket.model.AbstractReadOnlyModel; 38 39 import org.apache.wicket.model.IModel; … … 50 51 @SpringBean 51 52 private VloConfig vloConfig; 52 private final SolrDocumentProviderdocumentProvider;53 private final IDataProvider<SolrDocument> documentProvider; 53 54 54 public VirtualCollectionSubmissionPage(IModel<QueryFacetsSelection> model ) {55 public VirtualCollectionSubmissionPage(IModel<QueryFacetsSelection> model, IDataProvider<SolrDocument> documentProvider) { 55 56 super(model); 56 this.documentProvider = new SolrDocumentProvider(getModel());57 this.documentProvider = documentProvider; 57 58 58 59 // add a label with the number of URI's for the description -
vlo/branches/vlo-3.1-vcr/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/AdvancedSearchOptionsPanel.java
r5464 r5473 18 18 19 19 import eu.clarin.cmdi.vlo.FacetConstants; 20 import eu.clarin.cmdi.vlo.config.VloConfig; 20 21 import eu.clarin.cmdi.vlo.pojo.ExpansionState; 21 22 import eu.clarin.cmdi.vlo.pojo.FacetSelection; … … 26 27 import eu.clarin.cmdi.vlo.wicket.pages.VirtualCollectionSubmissionPage; 27 28 import eu.clarin.cmdi.vlo.wicket.panels.ExpandablePanel; 29 import org.apache.solr.common.SolrDocument; 28 30 import org.apache.wicket.ajax.AjaxRequestTarget; 29 31 import org.apache.wicket.ajax.form.OnChangeAjaxBehavior; … … 32 34 import org.apache.wicket.markup.html.form.Form; 33 35 import org.apache.wicket.markup.html.link.Link; 36 import org.apache.wicket.markup.repeater.data.IDataProvider; 34 37 import org.apache.wicket.model.IModel; 38 import org.apache.wicket.spring.injection.annot.SpringBean; 35 39 36 40 /** … … 45 49 public abstract class AdvancedSearchOptionsPanel extends ExpandablePanel<QueryFacetsSelection> { 46 50 47 public AdvancedSearchOptionsPanel(String id, final IModel<QueryFacetsSelection> model) { 51 @SpringBean 52 private VloConfig vloConfig; 53 54 private final IDataProvider<SolrDocument> documentProvider; 55 56 /** 57 * 58 * @param id component id 59 * @param model model of current search query 60 * @param documentProvider provider for looking up number of search results 61 */ 62 public AdvancedSearchOptionsPanel(String id, final IModel<QueryFacetsSelection> model, final IDataProvider<SolrDocument> documentProvider) { 48 63 super(id, model); 64 this.documentProvider = documentProvider; 49 65 50 66 // create a model for the selection state for the FCS facet … … 68 84 69 85 @Override 86 protected void onConfigure() { 87 // hide if there are no documents to create collection from 88 // or number of items is too high (according to configuration) 89 final long documentCount = documentProvider.size(); 90 setVisible(documentCount > 0 && documentCount <= vloConfig.getVcrMaximumItemsCount()); 91 } 92 93 @Override 70 94 public void onClick() { 71 setResponsePage(new VirtualCollectionSubmissionPage(model ));95 setResponsePage(new VirtualCollectionSubmissionPage(model, documentProvider)); 72 96 } 73 97 }); … … 84 108 } 85 109 110 @Override 111 public void detachModels() { 112 super.detachModels(); 113 documentProvider.detach(); 114 } 115 86 116 protected abstract void selectionChanged(AjaxRequestTarget target); 87 117 -
vlo/branches/vlo-3.1-vcr/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/SearchResultsPanel.java
r5353 r5473 20 20 import eu.clarin.cmdi.vlo.wicket.model.SearchContextModel; 21 21 import eu.clarin.cmdi.vlo.wicket.model.SearchResultExpansionStateModel; 22 import eu.clarin.cmdi.vlo.wicket.provider.SolrDocumentProvider;23 22 import java.util.Arrays; 24 23 import java.util.HashSet; … … 41 40 import org.apache.wicket.model.Model; 42 41 import org.apache.wicket.model.PropertyModel; 43 import org.apache.wicket.model.StringResourceModel;44 42 45 43 /** … … 56 54 private final IModel<Set<Object>> expansionsModel; 57 55 58 public SearchResultsPanel(String id, final IModel<QueryFacetsSelection> selectionModel ) {56 public SearchResultsPanel(String id, final IModel<QueryFacetsSelection> selectionModel, IDataProvider<SolrDocument> solrDocumentProvider) { 59 57 super(id, selectionModel); 58 this.solrDocumentProvider = solrDocumentProvider; 59 60 60 add(new Label("title", new SearchResultsTitleModel(selectionModel))); 61 62 solrDocumentProvider = new SolrDocumentProvider(selectionModel);63 61 64 62 expansionsModel = new Model(new HashSet<Object>()); … … 165 163 } 166 164 165 @Override 166 public void detachModels() { 167 super.detachModels(); 168 solrDocumentProvider.detach(); 169 } 170 167 171 private static class SearchResultsTitleModel extends AbstractReadOnlyModel<String> { 168 172
Note: See TracChangeset
for help on using the changeset viewer.