Changeset 4220 for vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/pages/FacetedSearchPage.java
- Timestamp:
- 01/07/14 11:05:14 (10 years ago)
- Location:
- vlo/branches/to-wicket-1.6
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/branches/to-wicket-1.6
- Property svn:mergeinfo changed
/vlo/branches/to-wicket-1.6-twagoo (added) merged: 4212-4216,4218-4219
- Property svn:mergeinfo changed
-
vlo/branches/to-wicket-1.6/vlo_web_app
- Property svn:ignore
-
old new 1 1 target 2 vlo-importer.log*
-
- Property svn:ignore
-
vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/pages/FacetedSearchPage.java
r4208 r4220 21 21 import org.apache.solr.common.SolrDocument; 22 22 import org.apache.wicket.request.mapper.parameter.PageParameters; 23 import org.apache.wicket.RequestCycle;24 23 import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteTextField; 25 24 import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable; … … 41 40 import org.apache.wicket.model.IModel; 42 41 import org.apache.wicket.model.ResourceModel; 43 import org.apache.wicket.protocol.http.RequestUtils; 42 import org.apache.wicket.request.Url; 43 import org.apache.wicket.request.cycle.RequestCycle; 44 44 45 45 public class FacetedSearchPage extends BasePage { 46 46 47 private static final long serialVersionUID = 1L; 47 48 … … 50 51 private final static String facetConceptsFile = VloConfig.getFacetConceptsFile(); 51 52 private final static Map<String, FacetConcept> facetNameMap = VLOMarshaller.getFacetConceptMapping(facetConceptsFile).getFacetConceptMap(); 52 53 54 public FacetedSearchPage(PageParameters params) { 55 this(VloPageParameters.convert(params)); 56 } 57 53 58 /** 54 59 * @param parameters Page parameters … … 66 71 @SuppressWarnings("serial") 67 72 private class SearchBoxForm extends Form<SearchPageQuery> { 73 68 74 private final AutoCompleteTextField<String> searchBox; 69 75 70 76 /* 71 77 * Add multiline list of selected facet values … … 78 84 79 85 // create an interator for walking over the facets 80 Iterator<Map.Entry<String, String>> entries =81 selectedFacets.entrySet().iterator();86 Iterator<Map.Entry<String, String>> entries 87 = selectedFacets.entrySet().iterator(); 82 88 83 89 /* … … 90 96 if (!entries.hasNext()) { 91 97 // not a single facet has been selected 92 facetOverview = new MultiLineLabel("facetOverview", 98 facetOverview = new MultiLineLabel("facetOverview", 93 99 "No facets values selected"); 94 100 } else { … … 152 158 } 153 159 }; 154 160 155 161 add(searchBox); 156 162 Button submit = new Button("searchSubmit"); 157 163 add(submit); 158 164 159 165 // merge link to help menu page 160 String helpUrl = VloConfig.getHelpUrl(); 166 String helpUrl = VloConfig.getHelpUrl(); 161 167 ExternalLink helpLink = new ExternalLink("helpLink", helpUrl, "help"); 162 168 add(helpLink); 163 164 VloPageParameters param; 165 param = new VloPageParameters (query.getPageParameters()); 166 167 String thisURL; 168 thisURL = RequestUtils.toAbsolutePath( 169 RequestCycle.get().urlFor(ShowResultPage.class, param.convert()).toString(), null); 169 170 VloPageParameters param; 171 param = new VloPageParameters(query.getPageParameters()); 172 173 final RequestCycle reqCycle = getRequestCycle(); 174 final Url reqUrl = Url.parse(reqCycle.urlFor(ShowResultPage.class, param.convert())); 175 String thisURL = reqCycle.getUrlRenderer().renderFullUrl(reqUrl); 176 170 177 try { 171 178 thisURL = URLEncoder.encode(thisURL, "UTF-8"); 172 179 } catch (UnsupportedEncodingException e) { 173 180 } 174 181 175 182 String feedbackFormUrl = VloConfig.getFeedbackFromUrl() + thisURL; 176 183 ExternalLink feedbackLink = new ExternalLink("feedbackLink", feedbackFormUrl, "found an error?"); 177 184 add(feedbackLink); 178 185 179 186 addFacetOverview(); 180 187 } … … 186 193 187 194 VloPageParameters newParam = new VloPageParameters(); 188 195 189 196 setResponsePage(FacetedSearchPage.class, newParam); 190 197 } … … 194 201 add(new SearchBoxForm("searchForm", query)); 195 202 } 196 203 197 204 @SuppressWarnings("serial") 198 205 private void addFacetColumns() { 199 206 GridView<FacetField> facetColumns = new GridView<FacetField>("facetColumns", (IDataProvider<FacetField>) new SolrFacetDataProvider(query.getSolrQuery() 200 207 .getCopy())) { 201 @Override 202 protected void populateItem(Item<FacetField> item) { 203 String facetName = ((FacetField)item.getDefaultModelObject()).getName(); 204 String descriptionTooltip = ""; 205 if(facetNameMap.containsKey(facetName)) 206 descriptionTooltip = facetNameMap.get(facetName).getDescription(); 207 item.add(new FacetBoxPanel("facetBox", item.getModel(), descriptionTooltip).create(query)); 208 } 209 210 @Override 211 protected void populateEmptyItem(Item<FacetField> item) { 212 item.add(new Label("facetBox", "")); 213 } 214 }; 208 @Override 209 protected void populateItem(Item<FacetField> item) { 210 String facetName = ((FacetField) item.getDefaultModelObject()).getName(); 211 String descriptionTooltip = ""; 212 if (facetNameMap.containsKey(facetName)) { 213 descriptionTooltip = facetNameMap.get(facetName).getDescription(); 214 } 215 item.add(new FacetBoxPanel("facetBox", item.getModel(), descriptionTooltip).create(query)); 216 } 217 218 @Override 219 protected void populateEmptyItem(Item<FacetField> item) { 220 item.add(new Label("facetBox", "")); 221 } 222 }; 215 223 facetColumns.setColumns(2); 216 224 add(facetColumns); … … 222 230 columns = new ArrayList<IColumn<SolrDocument, String>>(); 223 231 columns.add(new AbstractColumn<SolrDocument, String>(new ResourceModel(Resources.NAME)) { 224 232 225 233 @Override 226 234 public void populateItem(Item<ICellPopulator<SolrDocument>> cellItem, String componentId, IModel<SolrDocument> rowModel) { … … 232 240 @Override 233 241 public void populateItem(Item<ICellPopulator<SolrDocument>> cellItem, String componentId, IModel<SolrDocument> rowModel) { 234 242 String descriptionText = (String) rowModel.getObject().getFirstValue(FacetConstants.FIELD_DESCRIPTION); 235 243 cellItem.add(new TruncatedLabel(componentId, 100, descriptionText)); 236 237 244 } 238 245 }); … … 241 248 add(searchResultList); 242 249 } 243 250 244 251 /** 245 252 * Add contentSearch form (FCS) … … 248 255 */ 249 256 private void addSearchServiceForm() { 250 257 251 258 BookmarkablePageLink link; 252 link = new BookmarkablePageLink 253 link.add (new Label("naar deze pagina"));254 259 link = new BookmarkablePageLink("link", FacetedSearchPage.class); 260 link.add(new Label("naar deze pagina")); 261 255 262 // get values for cql endpoint substitution 256 263 String cqlEndpointFilter = VloConfig.getCqlEndpointFilter(); … … 281 288 List<String> idArray = new ArrayList<String>(); 282 289 idArray.add(id); 283 290 284 291 // substitute endpoint 285 if (cqlEndpointFilter.length() == 0) {292 if (cqlEndpointFilter.length() == 0) { 286 293 // no substitution 287 294 } else { 288 295 // check for the need to substitute 289 296 } 290 291 if (cqlEndpointFilter.equals(cqlEndpointFilter)) {297 298 if (cqlEndpointFilter.equals(cqlEndpointFilter)) { 292 299 // no substitution, take the value from the record 293 300 aggregationContextMap.put(fcsEndpoint, idArray);
Note: See TracChangeset
for help on using the changeset viewer.