Changeset 6813 for vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/model/FacetFieldModel.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/FacetFieldModel.java
r4869 r6813 22 22 import java.util.List; 23 23 import org.apache.solr.client.solrj.response.FacetField; 24 import org.apache.wicket.model.AbstractReadOnlyModel; 24 25 import org.apache.wicket.model.IModel; 25 26 import org.apache.wicket.model.LoadableDetachableModel; … … 38 39 * @author twagoo 39 40 */ 40 public class FacetFieldModel extends LoadableDetachableModel<FacetField> {41 public class FacetFieldModel extends AbstractReadOnlyModel<FacetField> { 41 42 42 //todo: can probably be made more efficient/elegant than wrapping fields model43 43 private final FacetFieldsModel fieldsModel; 44 private final String facetName; 44 45 45 /** 46 * 47 * @param facetField facet field to provide 48 * @param selectionModel model that provides current query/selection 49 */ 50 public FacetFieldModel(FacetFieldsService service, FacetField facetField, IModel<QueryFacetsSelection> selectionModel) { 51 super(facetField); 52 fieldsModel = new FacetFieldsModel(service, Collections.singletonList(facetField.getName()), selectionModel, -1); 53 } 54 46 55 47 /** 56 48 * … … 59 51 * @param selectionModel model that provides current query/selection 60 52 */ 61 public FacetFieldModel(FacetFieldsService service, String facet, IModel<QueryFacetsSelection> selectionModel, int valueLimit) { 62 fieldsModel = new FacetFieldsModel(service, Collections.singletonList(facet), selectionModel, valueLimit); 53 public FacetFieldModel(String facet, FacetFieldsService service, IModel<QueryFacetsSelection> selectionModel) { 54 this(facet, new FacetFieldsModel(service, Collections.singletonList(facet), selectionModel, -1)); 55 } 56 57 public FacetFieldModel(String facetName, FacetFieldsModel fieldsModel){ 58 this.fieldsModel = fieldsModel; 59 this.facetName = facetName; 63 60 } 64 61 65 62 @Override 66 protected FacetField load() { 67 final List<FacetField> fieldsList = fieldsModel.getObject(); 68 if (fieldsList == null || fieldsList.isEmpty()) { 69 return null; 70 } else { 71 return fieldsList.get(0); 72 } 63 public FacetField getObject() { 64 return fieldsModel.getFacetField(facetName); 73 65 } 74 66 75 @Override 76 public void detach() { 77 super.detach(); 78 fieldsModel.detach(); 67 68 public void detachFacetFieldsModel(){ 69 fieldsModel.detach(); 79 70 } 71 72 80 73 }
Note: See TracChangeset
for help on using the changeset viewer.