Changeset 5995
- Timestamp:
- 02/19/15 09:36:41 (9 years ago)
- Location:
- vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/model/SolrFieldStringModel.java
r4996 r5995 17 17 package eu.clarin.cmdi.vlo.wicket.model; 18 18 19 import eu.clarin.cmdi.vlo.FacetConstants; 19 20 import java.util.Collection; 20 21 import java.util.Iterator; … … 25 26 /** 26 27 * Model that provides field values as String values for a given field values 27 * model, both for singular values and multiple values (imploding the 28 * latterinto a single string)28 * model, both for singular values and multiple values (imploding the latter 29 * into a single string) 29 30 * 30 31 * @author twagoo … … 33 34 34 35 private final IModel<Collection<Object>> fieldModel; 36 private final String field; 35 37 36 38 /** … … 42 44 */ 43 45 public SolrFieldStringModel(IModel<SolrDocument> documentModel, String fieldName) { 44 this(new SolrFieldModel<Object>(documentModel, fieldName)); 45 } 46 47 /** 48 * 49 * @param fieldModel model that provides field values as a collection 50 */ 51 public SolrFieldStringModel(IModel<Collection<Object>> fieldModel) { 52 this.fieldModel = fieldModel; 46 fieldModel = new SolrFieldModel<Object>(documentModel, fieldName); 47 field = fieldName; 53 48 } 54 49 … … 65 60 final Iterator<Object> iterator = fieldValues.iterator(); 66 61 if (iterator.hasNext()) { 67 final String firstValue = iterator.next().toString();62 final String firstValue = postprocessValue(iterator.next().toString()); 68 63 if (iterator.hasNext()) { 69 64 return getMultipleValuesString(firstValue, iterator); … … 93 88 } 94 89 90 private String postprocessValue(String value) { 91 if (value != null) { 92 if (FacetConstants.FIELD_DESCRIPTION.equals(field)) { 93 //remove language prefix 94 return value.replaceAll(FacetConstants.DESCRIPTION_LANGUAGE_PATTERN, ""); 95 } 96 } 97 return value; 98 } 99 95 100 } -
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/FieldsTablePanel.java
r5268 r5995 24 24 import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection; 25 25 import eu.clarin.cmdi.vlo.service.PageParametersConverter; 26 import eu.clarin.cmdi.vlo.wicket.model.DescriptionFieldModel; 26 27 import eu.clarin.cmdi.vlo.wicket.model.HandleLinkModel; 27 28 import eu.clarin.cmdi.vlo.wicket.model.SolrFieldNameModel; … … 116 117 } 117 118 118 private Label createValueLabel(String id, final IModel<String> facetNameModel, final IModel<String> valueModel) {119 private Label createValueLabel(String id, final IModel<String> facetNameModel, final IModel<String> originalValueModel) { 119 120 final String fieldName = facetNameModel.getObject(); 121 122 // allow for postprocessing or wrapping of the value model depending on the field 123 final IModel<String> valueModel = getValueModel(facetNameModel, originalValueModel); 124 120 125 if (SMART_LINK_FIELDS.contains(fieldName)) { 121 126 // create label that generates links … … 124 129 // add a label for the facet value 125 130 final Label fieldLabel = new Label(id, valueModel); 131 126 132 // some selected fields may have HTML that needs to be preserved... 127 133 fieldLabel.setEscapeModelStrings(!UNESCAPED_VALUE_FIELDS.contains(fieldName)); … … 155 161 } 156 162 163 private IModel<String> getValueModel(IModel<String> facetNameModel, IModel<String> valueModel) { 164 if (FacetConstants.FIELD_DESCRIPTION.equals(facetNameModel.getObject())) { 165 //wrap in model that removes the language prefix 166 return new DescriptionFieldModel(valueModel); 167 } 168 return valueModel; 169 } 170 157 171 }
Note: See TracChangeset
for help on using the changeset viewer.