Changeset 6813 for vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/model/FacetFieldsModel.java
- Timestamp:
- 11/17/15 11:55:14 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/model/FacetFieldsModel.java
r4943 r6813 17 17 package eu.clarin.cmdi.vlo.wicket.model; 18 18 19 import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection;20 import eu.clarin.cmdi.vlo.service.solr.FacetFieldsService;21 19 import java.util.List; 20 22 21 import org.apache.solr.client.solrj.response.FacetField; 23 22 import org.apache.wicket.model.IModel; 24 23 import org.apache.wicket.model.LoadableDetachableModel; 24 25 import eu.clarin.cmdi.vlo.pojo.FacetSelection; 26 import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection; 27 import eu.clarin.cmdi.vlo.service.solr.FacetFieldsService; 25 28 26 29 /** … … 41 44 private final IModel<QueryFacetsSelection> selectionModel; 42 45 private final int valueLimit; 46 47 48 /** 49 * now we are returning all facets and model is shared between facetValuesPanel and FacetsPagePanel 50 * 51 * @param service service to use for facet field retrieval 52 * @param facets facets to include 53 * @param selectionModel model that provides current query/selection 54 */ 55 public FacetFieldsModel(FacetFieldsService service, List<String> facets, IModel<QueryFacetsSelection> selectionModel) { 56 this(service, facets, selectionModel, -1); 57 } 43 58 44 59 /** … … 56 71 this.valueLimit = valueLimit; 57 72 } 73 74 75 58 76 59 77 @Override … … 67 85 selectionModel.detach(); 68 86 } 87 88 public FacetField getFacetField(String facetName){ 89 List<FacetField> facetList = getObject(); 90 if(facetList != null) 91 for(FacetField facet: facetList) 92 if(facet.getName().equals(facetName)) 93 return removeSelected(facet, selectionModel.getObject().getSelectionValues(facetName)); 94 95 return null; 96 } 97 98 private FacetField removeSelected(FacetField facetField, FacetSelection selection){ 99 FacetField filtered = new FacetField(facetField.getName()); 100 if(selection != null) 101 for(FacetField.Count value: facetField.getValues()) 102 if(selection.getValues().contains(value.getName())) 103 continue; 104 else 105 filtered.add(value.getName(), value.getCount()); 106 else 107 filtered = facetField; 108 109 return filtered; 110 } 69 111 70 112 }
Note: See TracChangeset
for help on using the changeset viewer.