Changeset 770
- Timestamp:
- 10/11/10 15:09:10 (14 years ago)
- Location:
- vlo/trunk/vlo_webapp/src
- Files:
-
- 5 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/Configuration.java
r759 r770 4 4 import java.net.URLEncoder; 5 5 6 /** 7 * see applicationContext.xml resource for proper values. 8 * 9 **/ 6 10 public final class Configuration { 7 11 8 12 private final static Configuration INSTANCE = new Configuration(); 9 13 10 14 private String solrUrl; 11 15 12 private String imdiBrowserUrl = "http://corpus1.mpi.nl/ds/imdi_browser?openpath="; 16 private String imdiBrowserUrl;// = "http://corpus1.mpi.nl/ds/imdi_browser?openpath="; 17 18 private String[] facetFields;// = new String[] { "origin", "organisation", "continent", "genre", "country", "subject", "language" }; 13 19 14 20 private Configuration() { … … 41 47 } 42 48 49 public String[] getFacetFields() { 50 return facetFields; 51 } 52 53 public void setFacetFields(String[] facetFields) { 54 this.facetFields = facetFields; 55 } 43 56 } -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/dao/SearchResultsDao.java
r759 r770 14 14 private QueryResponse response; 15 15 16 public SearchResultsDao() { //TODO Patrick doing query twice not good.16 public SearchResultsDao() { 17 17 super(); 18 18 } -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/DocumentLinkPanel.java
r719 r770 16 16 super(id, model); 17 17 SolrDocument doc = model.getObject(); 18 String param = ShowResultPage.PARAM_DOC_ID + "=" + WicketURLEncoder.QUERY_INSTANCE.encode(doc.getFieldValue("id").toString()); 19 PageParameters pageParameters = new PageParameters(param); 20 pageParameters.put(FacetedSearchPage.PARAM_QUERY, query.getSolrQuery()); 18 PageParameters pageParameters = query.getPageParameters(); 19 pageParameters.put(ShowResultPage.PARAM_DOC_ID, WicketURLEncoder.QUERY_INSTANCE.encode(doc.getFieldValue("id").toString())); 21 20 BookmarkablePageLink<ShowResultPage> docLink = new BookmarkablePageLink<ShowResultPage>("docLink", ShowResultPage.class, 22 21 pageParameters); -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/FacetBoxPanel.html
r750 r770 9 9 <tr valign="top"> 10 10 <td width="50%" class="column"> 11 <span wicket:id="facetList"> <span wicket:id="facetLinks"></span>< br></span>12 < span wicket:id="showMore"/>11 <span wicket:id="facetList"> <span wicket:id="facetLinks"></span></span> 12 <a href="#" wicket:id="showMore">more...</a> 13 13 </td> 14 14 </tr> -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/FacetBoxPanel.java
r750 r770 6 6 import org.apache.solr.client.solrj.response.FacetField.Count; 7 7 import org.apache.solr.common.SolrDocument; 8 import org.apache.wicket.PageParameters; 8 9 import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable; 9 10 import org.apache.wicket.markup.html.WebMarkupContainer; 10 11 import org.apache.wicket.markup.html.basic.Label; 12 import org.apache.wicket.markup.html.link.BookmarkablePageLink; 11 13 import org.apache.wicket.markup.html.list.ListItem; 12 14 import org.apache.wicket.markup.html.list.ListView; … … 17 19 public class FacetBoxPanel extends Panel { 18 20 21 private static final int MAX_NR_OF_FACET_VALUES = 5; 19 22 private static final long serialVersionUID = 1L; 20 23 private Label label; … … 42 45 List<Count> allValues = facetField.getValues(); 43 46 List<Count> values = allValues; 44 final boolean showMore = allValues != null && allValues.size() > 5;47 final boolean showMore = allValues != null && allValues.size() > MAX_NR_OF_FACET_VALUES; 45 48 if (showMore) { 46 values = allValues.subList(0, 5);49 values = allValues.subList(0, MAX_NR_OF_FACET_VALUES); 47 50 } 48 51 ListView<Count> facetList = new ListView<Count>("facetList", values) { … … 58 61 }; 59 62 add(facetList); 60 add(new Label("showMore", "more... (coming soon)") { 63 PageParameters pageParameters = query.getPageParameters(); 64 pageParameters.add(ShowAllFacetValuesPage.SELECTED_FACET_PARAM, facetField.getName()); 65 add(new BookmarkablePageLink("showMore", ShowAllFacetValuesPage.class, pageParameters) { //TODO PD when nr of facet values is 6 show all instead of 5+more 66 61 67 public boolean isVisible() { 62 68 return !facetModel.isSelected() && showMore; 63 69 } 70 64 71 }); 65 72 return this; -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/FacetHeaderPanel.java
r750 r770 3 3 import org.apache.wicket.PageParameters; 4 4 import org.apache.wicket.markup.html.basic.Label; 5 import org.apache.wicket.markup.html.link. Link;5 import org.apache.wicket.markup.html.link.BookmarkablePageLink; 6 6 import org.apache.wicket.markup.html.panel.Panel; 7 7 import org.apache.wicket.model.IModel; … … 11 11 private static final long serialVersionUID = 1L; 12 12 13 @SuppressWarnings("serial")14 13 public FacetHeaderPanel(String id, IModel<FacetModel> model, final SearchPageQuery query) { 15 14 super(id, model); 16 add(new Link<FacetModel>("allLink", model) { 17 18 @Override 19 public void onClick() { 20 query.removeFilterQuery(getModelObject().getFacetField()); 21 PageParameters pageParameters = new PageParameters(); 22 pageParameters.put(FacetedSearchPage.PARAM_QUERY, query.getSolrQuery().toString()); 23 setResponsePage(FacetedSearchPage.class, pageParameters); 24 } 25 26 }); 15 SearchPageQuery copy = query.getShallowCopy(); 16 copy.removeFilterQuery(model.getObject().getFacetField()); 17 PageParameters pageParameters = copy.getPageParameters(); 18 add(new BookmarkablePageLink("allLink", FacetedSearchPage.class, pageParameters)); 27 19 add(new Label("headerLabelSelect", model.getObject().getSelectedValue())); 28 20 } -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/FacetLinkPanel.html
r719 r770 1 1 <wicket:panel> 2 <a href="#" wicket:id="facetLink"><span wicket:id="facetLinkLabel">[facetLink]</span></a> (<span wicket:id="facetCount"/>) 2 <a href="#" wicket:id="facetLink"><span wicket:id="facetLinkLabel">[facetLink]</span></a> (<span wicket:id="facetCount"/>)<br> 3 3 </wicket:panel> -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/FacetLinkPanel.java
r719 r770 4 4 import org.apache.wicket.PageParameters; 5 5 import org.apache.wicket.markup.html.basic.Label; 6 import org.apache.wicket.markup.html.link.BookmarkablePageLink; 6 7 import org.apache.wicket.markup.html.link.Link; 7 8 import org.apache.wicket.markup.html.panel.Panel; … … 12 13 private static final long serialVersionUID = 1L; 13 14 14 @SuppressWarnings("serial")15 15 public FacetLinkPanel(String id, IModel<Count> model, final SearchPageQuery query) { 16 16 super(id, model); 17 Link<Count> facetLink = new Link<Count>("facetLink", model) {18 17 19 @Override 20 public void onClick() { 21 Count count = getModelObject(); 22 query.setFilterQuery(count); 23 PageParameters pageParameters = new PageParameters(); 24 pageParameters.put(FacetedSearchPage.PARAM_QUERY, query.getSolrQuery().toString()); 25 setResponsePage(FacetedSearchPage.class, pageParameters); 26 } 27 28 }; 18 Count count = model.getObject(); 19 SearchPageQuery q = query.getShallowCopy(); 20 q.setFilterQuery(count); 21 PageParameters params = q.getPageParameters(); 22 Link<Count> facetLink = new BookmarkablePageLink("facetLink", FacetedSearchPage.class, params); 29 23 facetLink.add(new Label("facetLinkLabel", model.getObject().getName())); 30 24 add(facetLink); -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/FacetedSearchPage.html
r750 r770 1 1 <!doctype html public "-//W3C//DTD HTML 3.2 Final//EN"> 2 2 <html> 3 <head> 4 <link rel=stylesheet type="text/css" href="css/main.css"> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <title>CLARIN Virtual Language Observatory - Resources</title> 7 </head> 8 <body onload=""> 9 10 <div class="title"> 11 <h1>CLARIN Virtual Language Observatory - Resources</h1> 12 <h2>Demonstrator with IMDI, OLAC, ELRA and CLARIN data (contact:vlw@clarin.eu)</h2> 13 </div> 3 <head></head> 4 <body> 5 <wicket:extend> 14 6 <div class="middlegame"> 15 7 <p /> … … 23 15 <input type="text" wicket:id="searchQuery" /> 24 16 <button wicket:id="searchSubmit">submit</button> 25 <!-- <input type="submit" value="search"> -->26 <!-- <input type="hidden" name="q" value=""> -->27 <!-- <input type="hidden" name="facet" value=""> -->28 <!-- <input type="hidden" name="in" value="all">-->29 17 </td> 30 18 </tr> … … 50 38 </table> 51 39 </div> 40 </wicket:extend> 52 41 </body> 53 42 </html> -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/FacetedSearchPage.java
r750 r770 12 12 import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn; 13 13 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; 14 import org.apache.wicket.markup.html.WebPage;15 14 import org.apache.wicket.markup.html.basic.Label; 16 15 import org.apache.wicket.markup.html.form.Button; … … 22 21 import org.apache.wicket.model.IModel; 23 22 import org.apache.wicket.model.Model; 24 import org.apache.wicket.protocol.http.WicketURLDecoder;25 23 26 public class FacetedSearchPage extends WebPage {24 public class FacetedSearchPage extends BasePage { 27 25 28 26 private static final long serialVersionUID = 1L; 29 30 public static final String PARAM_QUERY = "query";31 27 32 28 private AjaxFallbackDefaultDataTable<SolrDocument> searchResultList; … … 39 35 public FacetedSearchPage(final PageParameters parameters) { 40 36 super(parameters); 41 String queryParam = WicketURLDecoder.QUERY_INSTANCE.decode(parameters.getString(PARAM_QUERY, null)); 42 if (queryParam != null) { 43 query = new SearchPageQuery(queryParam); 44 } else { 45 query = SearchPageQuery.getDefaultQuery(); 46 } 37 query = new SearchPageQuery(parameters); 47 38 addSearchBox(); 48 39 addFacetColumns(); … … 66 57 protected void onSubmit() { 67 58 SearchPageQuery query = getModelObject(); 68 PageParameters pageParameters = new PageParameters(); 69 pageParameters.put(FacetedSearchPage.PARAM_QUERY, query.getSolrQuery().toString()); 59 PageParameters pageParameters = query.getPageParameters(); 70 60 setResponsePage(FacetedSearchPage.class, pageParameters); 71 61 } … … 79 69 @SuppressWarnings("serial") 80 70 private void addFacetColumns() { 81 GridView<FacetField> facetColumns = new GridView<FacetField>("facetColumns", new SolrFacetDataProvider(query.getSolrQuery() )) {71 GridView<FacetField> facetColumns = new GridView<FacetField>("facetColumns", new SolrFacetDataProvider(query.getSolrQuery().getCopy())) { 82 72 @Override 83 73 protected void populateItem(Item<FacetField> item) { … … 97 87 private void addSearchResults() { 98 88 List<IColumn<SolrDocument>> columns = new ArrayList<IColumn<SolrDocument>>(); 99 columns.add(new AbstractColumn<SolrDocument>(new Model<String>(" Name")) {89 columns.add(new AbstractColumn<SolrDocument>(new Model<String>("Results")) { 100 90 101 91 @Override … … 104 94 } 105 95 }); 106 searchResultList = new AjaxFallbackDefaultDataTable("searchResults", columns, new SolrDocumentDataProvider(query.getSolrQuery() ),96 searchResultList = new AjaxFallbackDefaultDataTable("searchResults", columns, new SolrDocumentDataProvider(query.getSolrQuery().getCopy()), 107 97 10); 108 98 add(searchResultList); -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/SearchPageQuery.java
r750 r770 8 8 import org.apache.solr.client.solrj.response.FacetField; 9 9 import org.apache.solr.client.solrj.response.FacetField.Count; 10 import org.apache.solr.common.params.CommonParams; 11 import org.apache.wicket.PageParameters; 12 13 import eu.clarin.cmdi.vlo.Configuration; 10 14 11 15 public class SearchPageQuery implements Serializable { 16 17 private static final String SOLR_SEARCH_ALL = "*:*"; 12 18 13 19 private static final long serialVersionUID = 1L; 14 20 15 21 private SolrQuery query; 16 private Map<String, String> filterqueryMap = new HashMap<String, String>(); 22 private Map<String, String> filterQueryMap = new HashMap<String, String>(); 23 private String searchQuery; 17 24 18 public SearchPageQuery(String queryParam) { 19 //http://localhost:8983/solr/select/?wt=json&indent=on&q=*:*&fl=name&facet=true&facet.field=cat&facet.field=inStock 20 //TODO PD test for encoding etc etcc, maybe don't encapulate the solr params inside on request param? 21 query = new SolrQuery(); 22 String[] params = queryParam.split("&"); 23 for (String param : params) { 24 String[] keyValue = param.split("="); 25 query.add(keyValue[0], keyValue[1]); 26 } 25 public SearchPageQuery(PageParameters parameters) { 26 query = getDefaultQuery(); 27 query.setQuery(parameters.getString(CommonParams.Q, SOLR_SEARCH_ALL)); 28 String[] filterQueries = parameters.getStringArray(CommonParams.FQ); 29 query.setFilterQueries(filterQueries); 30 init(); 31 } 32 33 public SearchPageQuery(SolrQuery query) { 34 this.query = query; 35 init(); 36 } 37 38 private void init() { 39 searchQuery = query.getQuery(); 27 40 String[] filterQueries = query.getFilterQueries(); 28 41 if (filterQueries != null) { 29 42 for (String fq : filterQueries) { 30 String[] fqSplit = fq.split(":"); 31 String facet = fqSplit[0]; 32 filterqueryMap.put(facet, fqSplit[1]); 43 String[] keyValue = fq.split(":"); 44 filterQueryMap.put(keyValue[0], keyValue[1]); 33 45 } 34 46 } 35 47 } 36 48 37 public SearchPageQuery (SolrQuery query) {38 this.query = query;49 public SearchPageQuery getShallowCopy() { 50 return new SearchPageQuery(query); 39 51 } 40 52 41 public static SearchPageQuery getDefaultQuery() { 42 SolrQuery query = new SolrQuery(); 43 query.setQuery("*:*"); 44 query.setRows(10); 45 query.setStart(0); 46 query.setFields("name", "id"); 47 query.setFacet(true); 48 query.setFacetMinCount(1); 49 query.addFacetField("origin", "continent", "organisation", "country", "language", "genre");//, "subject", "description"); 50 return new SearchPageQuery(query); 53 private SolrQuery getDefaultQuery() { 54 SolrQuery result = new SolrQuery(); 55 result.setRows(10); 56 result.setStart(0); 57 result.setFields("name", "id"); 58 result.setFacet(true); 59 result.setFacetMinCount(1); 60 result.addFacetField(Configuration.getInstance().getFacetFields()); 61 return result; 51 62 } 52 63 … … 55 66 } 56 67 57 public void setFilterQuery(Count count) { 58 filterqueryMap.put(count.getFacetField().getName(), count.getName()); 59 setFilterQuery(); 68 public void removeFilterQuery(FacetField facetField) { 69 filterQueryMap.remove(facetField.getName()); 60 70 } 61 71 62 private void setFilterQuery() { 63 query.setFilterQueries((String[]) null); 64 for (String facet : filterqueryMap.keySet()) { 65 query.addFilterQuery(facet + ":" + filterqueryMap.get(facet)); 66 } 67 } 68 69 public void removeFilterQuery(FacetField facetField) { 70 filterqueryMap.remove(facetField.getName()); 71 setFilterQuery(); 72 public void setFilterQuery(Count count) { 73 filterQueryMap.put(count.getFacetField().getName(), count.getName()); 72 74 } 73 75 74 76 public boolean isSelected(FacetField facetField) { 75 return filter queryMap.containsKey(facetField.getName());77 return filterQueryMap.containsKey(facetField.getName()); 76 78 } 77 79 78 80 public String getSelectedValue(FacetField field) { 79 return filter queryMap.get(field.getName());81 return filterQueryMap.get(field.getName()); 80 82 } 81 83 82 84 public void setSearchQuery(String searchQuery) { 83 85 if (searchQuery == null || searchQuery.isEmpty()) { 84 searchQuery = "*:*"; //search all86 searchQuery = SOLR_SEARCH_ALL; 85 87 } 86 88 query.setQuery(searchQuery); 89 this.searchQuery = searchQuery; 87 90 } 88 91 89 92 public String getSearchQuery() { 90 String result = query.getQuery(); 91 if (result.equals("*:*")) { 92 result = ""; 93 if (searchQuery.equals(SOLR_SEARCH_ALL)) { 94 searchQuery = ""; 95 } 96 return searchQuery; 97 } 98 99 public PageParameters getPageParameters() { 100 PageParameters result = new PageParameters(); 101 if (!getSearchQuery().isEmpty()) { 102 result.add(CommonParams.Q, getSearchQuery()); 103 } 104 for (String facet : filterQueryMap.keySet()) { 105 String facetValue = filterQueryMap.get(facet); 106 result.add(CommonParams.FQ, facet + ":" + facetValue); 93 107 } 94 108 return result; -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/ShowResultPage.html
r719 r770 1 1 <!doctype html public "-//W3C//DTD HTML 3.2 Final//EN"> 2 2 <html> 3 <head> 4 <link rel=stylesheet type="text/css" href="css/main.css"> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <title>CLARIN Virtual Language Observatory - Resources</title> 7 </head> 3 <head></head> 8 4 <body> 9 10 <div class="title"> 11 <h1>CLARIN Virtual Language Observatory - Resources</h1> 12 <h2>Demonstrator with IMDI, OLAC, ELRA and CLARIN data (contact:vlw@clarin.eu)</h2> 13 </div> 14 15 <div class="endgame"> 16 <div><a wicket:id="backLink" href="#">back to results</a> | <a wicket:id="openBrowserLink" href="#">open in IMDI Browser</a><p/></div> 17 <table wicket:id="attributesTable"> 18 </table> 19 </div> 5 <wicket:extend> 6 <div class="endgame"> 7 <div><a wicket:id="backLink" href="#">back to results</a> | <a wicket:id="openBrowserLink" href="#">open in IMDI 8 Browser</a> 9 <p /> 10 </div> 11 <table wicket:id="attributesTable"> 12 </table> 13 </div> 14 </wicket:extend> 20 15 </body> 21 16 </html> -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/ShowResultPage.java
r759 r770 10 10 import org.apache.wicket.markup.ComponentTag; 11 11 import org.apache.wicket.markup.MarkupStream; 12 import org.apache.wicket.markup.html.WebPage;13 12 import org.apache.wicket.markup.html.basic.MultiLineLabel; 14 13 import org.apache.wicket.markup.html.link.BookmarkablePageLink; … … 21 20 import eu.clarin.cmdi.vlo.StringUtils; 22 21 23 public class ShowResultPage extends WebPage {22 public class ShowResultPage extends BasePage { 24 23 25 24 public static final String PARAM_DOC_ID = "docId"; … … 28 27 super(parameters); 29 28 String docId = getPageParameters().getString(PARAM_DOC_ID, null); 30 PageParameters params = new PageParameters(); 31 params.put(FacetedSearchPage.PARAM_QUERY, parameters.get(FacetedSearchPage.PARAM_QUERY)); 32 BookmarkablePageLink backLink = new BookmarkablePageLink("backLink", FacetedSearchPage.class, params); 29 SearchPageQuery query = new SearchPageQuery(parameters); 30 BookmarkablePageLink backLink = new BookmarkablePageLink("backLink", FacetedSearchPage.class, query.getPageParameters()); 33 31 add(backLink); 34 32 String handle = docId.substring("test-".length()); -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/SolrDocumentDataProvider.java
r719 r770 5 5 import org.apache.solr.client.solrj.SolrQuery; 6 6 import org.apache.solr.common.SolrDocument; 7 import org.apache.solr.common.SolrDocumentList; 7 8 import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider; 8 9 import org.apache.wicket.model.IModel; … … 16 17 private static final long serialVersionUID = 1L; 17 18 private final SolrQuery query; 19 private SolrDocumentList docList; 18 20 19 21 public SolrDocumentDataProvider(SolrQuery query) { 20 22 this.query = query; 23 query.setFacet(false); 21 24 } 22 25 … … 25 28 } 26 29 30 private SolrDocumentList getDocList() { 31 if (docList == null) { 32 docList = getSearchResultsDao().getResults(query); 33 } 34 return docList; 35 } 36 27 37 @Override 28 38 public Iterator<? extends SolrDocument> iterator(int first, int count) { 29 SearchResultsDao searchResultsDao = getSearchResultsDao(); 30 query.setStart(first).setRows(count); 31 return searchResultsDao.getResults(query).iterator(); 39 if (first != query.getStart().intValue() || count != query.getRows().intValue()) { 40 query.setStart(first).setRows(count); 41 docList = null; 42 } 43 return getDocList().iterator(); 32 44 } 33 45 … … 39 51 @Override 40 52 public int size() { 41 return (int) get SearchResultsDao().getResults(query).getNumFound();53 return (int) getDocList().getNumFound(); 42 54 } 43 55 -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/SolrFacetDataProvider.java
r719 r770 17 17 private static final long serialVersionUID = 1L; 18 18 private final SolrQuery query; 19 private List<FacetField> facets; 19 20 20 21 public SolrFacetDataProvider(SolrQuery query) { 21 22 this.query = query; 23 query.setFacet(true).setStart(0).setRows(0); //only get facets 22 24 } 23 25 … … 28 30 @Override 29 31 public Iterator<? extends FacetField> iterator(int first, int count) { 30 SearchResultsDao searchResultsDao = getSearchResultsDao();31 query.setStart(first).setRows(count);32 List<FacetField> facets = searchResultsDao.getFacets(query);33 32 return facets.iterator(); 33 } 34 35 private List<FacetField> getFacets() { 36 if (facets == null) { 37 SearchResultsDao searchResultsDao = getSearchResultsDao(); 38 facets = searchResultsDao.getFacets(query); 39 } 40 return facets; 34 41 } 35 42 … … 41 48 @Override 42 49 public int size() { 43 return (int) get SearchResultsDao().getFacets(query).size();50 return (int) getFacets().size(); 44 51 } 45 52 -
vlo/trunk/vlo_webapp/src/main/resources/applicationContext.xml
r759 r770 7 7 <!-- <property name="solrUrl" value="http://lux16.mpi.nl:8080/vlo_solr" />--> 8 8 <property name="IMDIBrowserUrl" value="http://corpus1.mpi.nl/ds/imdi_browser?openpath=" /> 9 <property name="facetFields"> 10 <list> <!-- List of facets to be shown as columns, the order specified is kept in the application --> 11 <value>origin</value> 12 <value>organisation</value> 13 <value>continent</value> 14 <value>genre</value> 15 <value>country</value> 16 <value>subject</value> 17 <value>language</value> 18 </list> 19 </property> 9 20 </bean> 10 21 -
vlo/trunk/vlo_webapp/src/test/java/eu/clarin/cmdi/vlo/SearchPageQueryTest.java
r719 r770 5 5 6 6 import org.apache.solr.client.solrj.response.FacetField; 7 import org.apache.solr.common.params.CommonParams; 8 import org.apache.wicket.PageParameters; 9 import org.junit.Before; 7 10 import org.junit.Test; 8 11 … … 11 14 public class SearchPageQueryTest { 12 15 16 @Before 17 public void setup() { 18 Configuration.getInstance().setFacetFields(new String[] { "origin", "continent", "organisation", "genre", "country", "language" }); 19 } 20 13 21 @Test 14 22 public void testQueryParse() throws Exception { 15 String queryParam = "q=*:*&fl=name&facet=true&facet.field=cat&facet.field=inStock"; 16 SearchPageQuery q = new SearchPageQuery(queryParam); 17 assertEquals("*:*", q.getSolrQuery().getQuery()); 18 assertEquals("name", q.getSolrQuery().getFields()); 19 assertEquals(2, q.getSolrQuery().getFacetFields().length); 20 assertEquals("cat", q.getSolrQuery().getFacetFields()[0]); 21 assertEquals("inStock", q.getSolrQuery().getFacetFields()[1]); 22 assertNull(q.getSolrQuery().getFilterQueries()); 23 24 queryParam = "q=*:*&rows=10&start=0&fl=name,id&facet=true&facet.field=country&facet.field=genre&fq=country:New\\ Zealand"; 25 q = new SearchPageQuery(queryParam); 23 PageParameters params = new PageParameters(); 24 SearchPageQuery q = new SearchPageQuery(params); 25 assertEquals("", q.getSearchQuery()); 26 26 assertEquals("*:*", q.getSolrQuery().getQuery()); 27 27 assertEquals("name,id", q.getSolrQuery().getFields()); 28 assertEquals(2, q.getSolrQuery().getFacetFields().length); 29 assertEquals("country", q.getSolrQuery().getFacetFields()[0]); 30 assertEquals("genre", q.getSolrQuery().getFacetFields()[1]); 28 assertEquals(6, q.getSolrQuery().getFacetFields().length); 29 assertEquals("origin", q.getSolrQuery().getFacetFields()[0]); 30 assertEquals("continent", q.getSolrQuery().getFacetFields()[1]); 31 assertNull(q.getSolrQuery().getFilterQueries()); 32 33 params = new PageParameters(); 34 params.add(CommonParams.Q, "test"); 35 params.add(CommonParams.FQ, "country:New\\ Zealand"); 36 q = new SearchPageQuery(params); 37 assertEquals("test", q.getSearchQuery()); 38 assertEquals("test", q.getSolrQuery().getQuery()); 39 assertEquals("name,id", q.getSolrQuery().getFields()); 40 assertEquals(6, q.getSolrQuery().getFacetFields().length); 41 assertEquals("origin", q.getSolrQuery().getFacetFields()[0]); 42 assertEquals("continent", q.getSolrQuery().getFacetFields()[1]); 31 43 assertEquals(1, q.getSolrQuery().getFilterQueries().length); 32 44 assertEquals("country:New\\ Zealand", q.getSolrQuery().getFilterQueries()[0]);
Note: See TracChangeset
for help on using the changeset viewer.