Changeset 2025
- Timestamp:
- 07/11/12 07:35:47 (12 years ago)
- Location:
- vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/AlphabeticalPanel.java
r948 r2025 13 13 import java.util.Map.Entry; 14 14 import java.util.TreeMap; 15 15 16 import org.apache.solr.client.solrj.response.FacetField.Count; 16 17 import org.apache.wicket.markup.html.WebMarkupContainer; 17 18 18 import org.apache.wicket.markup.html.basic.Label; 19 19 import org.apache.wicket.markup.html.link.ExternalLink; … … 28 28 29 29 private static final long serialVersionUID = 1L; 30 private List<String> foundCharacters = new LinkedList<String>(); 30 private final List<String> foundCharacters = new LinkedList<String>(); 31 private final Integer facetMinOccurs; 31 32 32 public AlphabeticalPanel(String id, IDataProvider data, final SearchPageQuery query ) {33 public AlphabeticalPanel(String id, IDataProvider data, final SearchPageQuery query, Integer facetMinOccurs) { 33 34 super(id); 35 this.facetMinOccurs = facetMinOccurs; 34 36 35 37 RepeatingView sortedDataViewLeft = new RepeatingView("sortedDataViewLeft"); … … 97 99 while (iter.hasNext()) { 98 100 Count count = iter.next(); 101 if(count.getCount() < facetMinOccurs) 102 continue; 99 103 Character key = count.getName().trim().charAt(0); 100 104 if (Character.isDigit(key)) { -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/FacetBoxPanel.java
r1093 r2025 37 37 } 38 38 39 @SuppressWarnings( "serial")39 @SuppressWarnings({"serial"}) 40 40 public FacetBoxPanel create(final SearchPageQuery query) { 41 41 final FacetField facetField = (FacetField) getDefaultModelObject(); … … 66 66 PageParameters pageParameters = query.getPageParameters(); 67 67 pageParameters.add(ShowAllFacetValuesPage.SELECTED_FACET_PARAM, facetField.getName()); 68 pageParameters.add(ShowAllFacetValuesPage.FACET_MIN_OCCURS, "1"); 68 69 add(new BookmarkablePageLink("showMore", ShowAllFacetValuesPage.class, pageParameters) { 69 70 70 public boolean isVisible() { 71 @Override 72 public boolean isVisible() { 71 73 return !facetModel.isSelected() && showMore; 72 74 } -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/ShowAllFacetValuesPage.html
r1007 r2025 11 11 </tr> 12 12 </table> 13 <div class="filter"> 14 <a href="#" wicket:id="filter"><span wicket:id="filterLabel">Filter</span></a> 15 </div> 16 <br> 13 17 <div class="message"><wicket:message key="subcategoriesIn">[Subcategories]</wicket:message> <span class="facet" wicket:id="category"></span>:</div> 14 18 <div wicket:id="alphaPanel"></div> -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/ShowAllFacetValuesPage.java
r940 r2025 6 6 import org.apache.wicket.markup.html.WebMarkupContainer; 7 7 import org.apache.wicket.markup.html.basic.Label; 8 import org.apache.wicket.markup.html.link.BookmarkablePageLink; 8 9 import org.apache.wicket.markup.repeater.RepeatingView; 9 10 10 11 public class ShowAllFacetValuesPage extends BasePage { 11 12 12 public static final String SELECTED_FACET_PARAM = "selectedFacet"; 13 public static final String SELECTED_FACET_PARAM = "selectedFacet"; 14 public static final String FACET_MIN_OCCURS = "facetMinOccurs"; 15 public static final Integer FACET_MIN_OCCURS_VALUE = 2; // for parameter FACET_MIN_OCCURS to show only values that occur with this minimal frequency 13 16 14 15 16 17 public ShowAllFacetValuesPage(PageParameters parameters) { 18 super(parameters); 19 final SearchPageQuery query = new SearchPageQuery(parameters); 17 20 18 21 Map<String, String> filterQueries = query.getFilterQueryMap(); 19 22 20 RepeatingView filteredFacets = new RepeatingView("filteredFacets"); 21 if (filterQueries != null && !filterQueries.isEmpty()) { 22 WebMarkupContainer wmc = new WebMarkupContainer(filteredFacets.newChildId()); 23 wmc.add(new Label("filteredFacet", "Selected categories:")); 24 filteredFacets.add(wmc); 25 for (String fq : filterQueries.keySet()) { 26 wmc = new WebMarkupContainer(filteredFacets.newChildId()); 27 wmc.add(new Label("filteredFacet", fq + " = " + filterQueries.get(fq))); 28 filteredFacets.add(wmc); 29 } 30 } 31 add(filteredFacets); 32 String selectedFacet = parameters.getString(SELECTED_FACET_PARAM); 33 add(new Label("category", selectedFacet)); 34 SolrFacetFieldDataProvider data = new SolrFacetFieldDataProvider(selectedFacet, query); 35 add(new AlphabeticalPanel("alphaPanel", data, query)); 36 } 23 // filter for minimal frequency of values 24 addOccurrencesFilter(parameters); 25 26 RepeatingView filteredFacets = new RepeatingView("filteredFacets"); 27 if (filterQueries != null && !filterQueries.isEmpty()) { 28 WebMarkupContainer wmc = new WebMarkupContainer(filteredFacets.newChildId()); 29 wmc.add(new Label("filteredFacet", "Selected categories:")); 30 filteredFacets.add(wmc); 31 for (String fq : filterQueries.keySet()) { 32 wmc = new WebMarkupContainer(filteredFacets.newChildId()); 33 wmc.add(new Label("filteredFacet", fq + " = " + filterQueries.get(fq))); 34 filteredFacets.add(wmc); 35 } 36 } 37 add(filteredFacets); 38 String selectedFacet = parameters.getString(SELECTED_FACET_PARAM); 39 Integer facetMinOccurs = parameters.getAsInteger(FACET_MIN_OCCURS, 1); 40 add(new Label("category", selectedFacet)); 41 SolrFacetFieldDataProvider data = new SolrFacetFieldDataProvider(selectedFacet, query); 42 add(new AlphabeticalPanel("alphaPanel", data, query, facetMinOccurs)); 43 } 44 45 /** 46 * Adds a link to allow filtering for minimal occurrences of a value or to show all values again 47 * @param parameters 48 */ 49 private void addOccurrencesFilter(PageParameters parameters) { 50 PageParameters newParameters = (PageParameters) parameters.clone(); 51 newParameters.remove(FACET_MIN_OCCURS); 52 if(!parameters.containsKey(FACET_MIN_OCCURS) || parameters.getAsInteger(FACET_MIN_OCCURS) == 1) { 53 newParameters.add(FACET_MIN_OCCURS, FACET_MIN_OCCURS_VALUE.toString()); 54 add(new BookmarkablePageLink<Void>("filter", ShowAllFacetValuesPage.class, newParameters).add(new Label("filterLabel", "Show only values that occur at least "+FACET_MIN_OCCURS_VALUE+" times"))); 55 } else { 56 add(new BookmarkablePageLink<Void>("filter", ShowAllFacetValuesPage.class, newParameters).add(new Label("filterLabel", "Show all values"))); 57 } 58 } 37 59 }
Note: See TracChangeset
for help on using the changeset viewer.