Changeset 4987
- Timestamp:
- 04/16/14 09:35:01 (10 years ago)
- Location:
- vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo
- Files:
-
- 2 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/VloWebAppParameters.java
r4967 r4987 28 28 public static final String FILTER_QUERY = "fq"; 29 29 public static final String FILTER_QUERY_TYPE = "fqType"; 30 public static final String SEARCH_INDEX = "index"; 31 public static final String SEARCH_COUNT = "count"; 30 32 } -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/config/VloSpringConfig.java
r4983 r4987 22 22 import eu.clarin.cmdi.vlo.VloWicketApplication; 23 23 import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection; 24 import eu.clarin.cmdi.vlo.pojo.SearchContext; 24 25 import eu.clarin.cmdi.vlo.service.FieldFilter; 25 26 import eu.clarin.cmdi.vlo.service.handle.HandleClient; … … 31 32 import eu.clarin.cmdi.vlo.service.impl.ExclusiveFieldFilter; 32 33 import eu.clarin.cmdi.vlo.service.handle.impl.HandleRestApiClient; 34 import eu.clarin.cmdi.vlo.service.impl.DocumentParametersConverter; 33 35 import eu.clarin.cmdi.vlo.service.impl.UriResolverImpl; 34 36 import eu.clarin.cmdi.vlo.service.impl.InclusiveFieldFilter; … … 43 45 import eu.clarin.cmdi.vlo.service.solr.impl.AutoCompleteServiceImpl; 44 46 import eu.clarin.cmdi.vlo.service.impl.QueryFacetsSelectionParametersConverter; 47 import eu.clarin.cmdi.vlo.service.impl.SearchContextParametersConverter; 45 48 import eu.clarin.cmdi.vlo.service.solr.impl.SearchResultsDaoImpl; 46 49 import eu.clarin.cmdi.vlo.service.solr.impl.SolrDocumentQueryFactoryImpl; … … 57 60 import org.apache.solr.client.solrj.SolrServer; 58 61 import org.apache.solr.client.solrj.impl.HttpSolrServer; 62 import org.apache.solr.common.SolrDocument; 59 63 import org.springframework.context.annotation.Bean; 60 64 import org.springframework.context.annotation.Configuration; … … 150 154 } 151 155 152 @Bean 156 @Bean(name="queryParametersConverter") 153 157 public PageParametersConverter<QueryFacetsSelection> queryParametersConverter() { 154 158 return new QueryFacetsSelectionParametersConverter(); 159 } 160 161 @Bean(name="documentParamsConverter") 162 public PageParametersConverter<SolrDocument> documentParamsConverter() { 163 return new DocumentParametersConverter(); 164 } 165 166 @Bean(name="searchContextParamsConverter") 167 public PageParametersConverter<SearchContext> searchContextParamsConverter(){ 168 return new SearchContextParametersConverter(queryParametersConverter()); 155 169 } 156 170 -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/NextRecordLink.java
r4690 r4987 18 18 19 19 import eu.clarin.cmdi.vlo.pojo.SearchContext; 20 import eu.clarin.cmdi.vlo.service.PageParametersConverter; 20 21 import eu.clarin.cmdi.vlo.service.solr.SolrDocumentService; 21 22 import eu.clarin.cmdi.vlo.wicket.model.SearchContextModel; 22 import eu.clarin.cmdi.vlo.wicket.model.SolrDocumentModel;23 23 import eu.clarin.cmdi.vlo.wicket.pages.RecordPage; 24 24 import java.util.List; … … 26 26 import org.apache.wicket.markup.html.link.Link; 27 27 import org.apache.wicket.model.IModel; 28 import org.apache.wicket.request.mapper.parameter.PageParameters; 28 29 import org.apache.wicket.spring.injection.annot.SpringBean; 29 30 … … 39 40 @SpringBean 40 41 private SolrDocumentService documentService; 42 @SpringBean(name="documentParamsConverter") 43 private PageParametersConverter<SolrDocument> documentParamConverter; 44 @SpringBean(name="searchContextParamsConverter") 45 private PageParametersConverter<SearchContext> contextParamConverter; 41 46 private final IModel<SearchContext> model; 42 47 … … 54 59 if (documents.size() > 0) { 55 60 // found it, go there 56 setResponsePage(new RecordPage(new SolrDocumentModel(documents.get(0)), SearchContextModel.next(context))); 61 final PageParameters params = documentParamConverter.toParameters(documents.get(0)); 62 params.mergeWith(contextParamConverter.toParameters(SearchContextModel.next(context))); 63 setResponsePage(RecordPage.class, params); 57 64 } 58 65 } -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/PreviousRecordLink.java
r4690 r4987 18 18 19 19 import eu.clarin.cmdi.vlo.pojo.SearchContext; 20 import eu.clarin.cmdi.vlo.service.PageParametersConverter; 20 21 import eu.clarin.cmdi.vlo.service.solr.SolrDocumentService; 21 22 import eu.clarin.cmdi.vlo.wicket.model.SearchContextModel; 22 import eu.clarin.cmdi.vlo.wicket.model.SolrDocumentModel;23 23 import eu.clarin.cmdi.vlo.wicket.pages.RecordPage; 24 24 import java.util.List; … … 26 26 import org.apache.wicket.markup.html.link.Link; 27 27 import org.apache.wicket.model.IModel; 28 import org.apache.wicket.request.mapper.parameter.PageParameters; 28 29 import org.apache.wicket.spring.injection.annot.SpringBean; 29 30 … … 39 40 @SpringBean 40 41 private SolrDocumentService documentService; 42 @SpringBean(name="documentParamsConverter") 43 private PageParametersConverter<SolrDocument> documentParamConverter; 44 @SpringBean(name="searchContextParamsConverter") 45 private PageParametersConverter<SearchContext> contextParamConverter; 46 41 47 private final IModel<SearchContext> model; 42 48 … … 54 60 if (documents.size() > 0) { 55 61 // found it, go there 56 setResponsePage(new RecordPage(new SolrDocumentModel(documents.get(0)), SearchContextModel.previous(context))); 62 final PageParameters params = documentParamConverter.toParameters(documents.get(0)); 63 params.mergeWith(contextParamConverter.toParameters(SearchContextModel.previous(context))); 64 setResponsePage(RecordPage.class, params); 57 65 } 58 66 } -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/RecordPageLink.java
r4686 r4987 18 18 19 19 import eu.clarin.cmdi.vlo.pojo.SearchContext; 20 import eu.clarin.cmdi.vlo.service.PageParametersConverter; 20 21 import eu.clarin.cmdi.vlo.wicket.pages.RecordPage; 21 22 import org.apache.solr.common.SolrDocument; 22 23 import org.apache.wicket.markup.html.link.Link; 23 24 import org.apache.wicket.model.IModel; 25 import org.apache.wicket.request.mapper.parameter.PageParameters; 26 import org.apache.wicket.spring.injection.annot.SpringBean; 24 27 25 28 /** … … 28 31 */ 29 32 public class RecordPageLink extends Link { 33 34 @SpringBean(name="documentParamsConverter") 35 private PageParametersConverter<SolrDocument> documentParamConverter; 36 @SpringBean(name="searchContextParamsConverter") 37 private PageParametersConverter<SearchContext> contextParamConverter; 30 38 31 39 private final IModel<SolrDocument> documentModel; … … 40 48 @Override 41 49 public void onClick() { 42 setResponsePage(new RecordPage(documentModel, selectionModel)); 50 final PageParameters params = documentParamConverter.toParameters(documentModel.getObject()); 51 params.mergeWith(contextParamConverter.toParameters(selectionModel.getObject())); 52 setResponsePage(RecordPage.class, params); 43 53 } 44 54 … … 49 59 selectionModel.detach(); 50 60 } 51 52 53 61 54 62 } -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/AllFacetValuesPage.java
r4963 r4987 25 25 import eu.clarin.cmdi.vlo.wicket.panels.search.AllFacetValuesPanel; 26 26 import eu.clarin.cmdi.vlo.wicket.panels.BreadCrumbPanel; 27 import java.util.Collection;28 27 import org.apache.solr.client.solrj.response.FacetField; 29 28 import org.apache.wicket.RestartResponseException; … … 48 47 @SpringBean 49 48 private FacetFieldsService facetFieldsService; 50 @SpringBean 49 @SpringBean(name="queryParametersConverter") 51 50 private PageParametersConverter<QueryFacetsSelection> parametersConverter; 52 51 -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/FacetedSearchPage.java
r4971 r4987 38 38 @SpringBean 39 39 private VloConfig vloConfig; 40 @SpringBean 40 @SpringBean(name="queryParametersConverter") 41 41 private PageParametersConverter<QueryFacetsSelection> paramsConverter; 42 42 -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/RecordPage.java
r4986 r4987 26 26 import eu.clarin.cmdi.vlo.wicket.model.CollectionListModel; 27 27 import eu.clarin.cmdi.vlo.wicket.model.HandleLinkModel; 28 import eu.clarin.cmdi.vlo.wicket.model.SearchContextModel; 28 29 import eu.clarin.cmdi.vlo.wicket.model.SolrDocumentModel; 29 30 import eu.clarin.cmdi.vlo.wicket.model.SolrFieldModel; … … 54 55 import org.apache.wicket.request.mapper.parameter.PageParameters; 55 56 import org.apache.wicket.spring.injection.annot.SpringBean; 56 import org.apache.wicket.util.string.StringValue;57 57 58 58 /** … … 62 62 public class RecordPage extends VloBasePage<SolrDocument> { 63 63 64 @SpringBean 64 @SpringBean(name="documentParamsConverter") 65 private PageParametersConverter<SolrDocument> documentParamConverter; 66 @SpringBean(name="queryParametersConverter") 65 67 private PageParametersConverter<QueryFacetsSelection> selectionParametersConverter; 68 @SpringBean(name="searchContextParamsConverter") 69 private PageParametersConverter<SearchContext> contextParamConverter; 66 70 @SpringBean(name = "basicPropertiesFilter") 67 71 private FieldFilter basicPropertiesFilter; … … 80 84 public RecordPage(PageParameters params) { 81 85 super(params); 82 // Coming from bookmark or external link, so no navigation context 83 this.navigationModel = null; 84 85 final QueryFacetsSelection selection = selectionParametersConverter.fromParameters(params); 86 selectionModel = Model.of(selection); 87 88 final StringValue docId = params.get(VloWebAppParameters.DOCUMENT_ID); 89 if (docId.isEmpty()) { 90 Session.get().error("No document ID provided"); 86 87 // get search context from params if available 88 final SearchContext searchContext = contextParamConverter.fromParameters(params); 89 if (searchContext instanceof SearchContextModel) { 90 this.navigationModel = (SearchContextModel) (searchContext); 91 } else if (searchContext != null) { 92 this.navigationModel = Model.of(searchContext); 93 } else { 94 this.navigationModel = null; 95 } 96 97 // get selection from context or parameters 98 if (navigationModel == null) { 99 final QueryFacetsSelection selection = selectionParametersConverter.fromParameters(params); 100 selectionModel = Model.of(selection); 101 } else { 102 selectionModel = new PropertyModel(navigationModel, "selection"); 103 } 104 105 // get document from parameters 106 final SolrDocument document = documentParamConverter.fromParameters(params); 107 if (null == document) { 108 Session.get().error(String.format("Document with ID %s could not be found", params.get(VloWebAppParameters.DOCUMENT_ID))); 91 109 throw new RestartResponseException(new FacetedSearchPage(selectionModel)); 92 } 93 final SolrDocumentModel documentModel = new SolrDocumentModel(docId.toString()); 94 if (null == documentModel.getObject()) { 95 Session.get().error(String.format("Document with ID %s could not be found", docId)); 96 throw new RestartResponseException(new FacetedSearchPage(selectionModel)); 97 } 98 setModel(documentModel); 99 100 addComponents(); 101 } 102 103 /** 104 * Constructor using existing models (when constructed explicitly in code) 105 * 106 * @param documentModel 107 * @param contextModel 108 */ 109 public RecordPage(IModel<SolrDocument> documentModel, IModel<SearchContext> contextModel) { 110 super(documentModel); 111 this.navigationModel = contextModel; 112 this.selectionModel = new PropertyModel(contextModel, "selection"); 110 } else { 111 setModel(new SolrDocumentModel(document)); 112 } 113 113 114 addComponents(); 114 115 } -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/BreadCrumbPanel.java
r4973 r4987 51 51 public class BreadCrumbPanel extends GenericPanel<QueryFacetsSelection> { 52 52 53 @SpringBean 53 @SpringBean(name="queryParametersConverter") 54 54 private PageParametersConverter<QueryFacetsSelection> paramsConverter; 55 55 -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/TopLinksPanel.java
r4966 r4987 55 55 public class TopLinksPanel extends GenericPanel<QueryFacetsSelection> { 56 56 57 @SpringBean 57 @SpringBean(name="queryParametersConverter") 58 58 private PageParametersConverter<QueryFacetsSelection> paramsConverter; 59 59 @SpringBean
Note: See TracChangeset
for help on using the changeset viewer.