Changeset 4645


Ignore:
Timestamp:
03/07/14 13:27:40 (10 years ago)
Author:
Twan Goosen
Message:

Moveddefinition of property filters from record page into configuration (todo: read from actual config file)

Location:
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/config/VloSpringConfig.java

    r4639 r4645  
    1717package eu.clarin.cmdi.vlo.config;
    1818
     19import eu.clarin.cmdi.vlo.service.impl.ExclusiveFieldFilter;
     20import eu.clarin.cmdi.vlo.service.impl.InclusiveFieldFilter;
     21import com.google.common.collect.Sets;
     22import eu.clarin.cmdi.vlo.FacetConstants;
    1923import eu.clarin.cmdi.vlo.VloWicketApplication;
    2024import eu.clarin.cmdi.vlo.service.FacetFieldsService;
     25import eu.clarin.cmdi.vlo.service.FieldFilter;
    2126import eu.clarin.cmdi.vlo.service.ResourceStringConverter;
    2227import eu.clarin.cmdi.vlo.service.ResourceTypeCountingService;
     
    3237import eu.clarin.cmdi.vlo.service.impl.SolrFacetQueryFactoryImpl;
    3338import java.io.IOException;
     39import java.util.Set;
    3440import org.apache.solr.client.solrj.SolrServer;
    3541import org.apache.solr.client.solrj.impl.HttpSolrServer;
     42import org.springframework.beans.factory.annotation.Qualifier;
    3643import org.springframework.context.annotation.Bean;
    3744import org.springframework.context.annotation.Configuration;
     
    112119        return new HttpSolrServer(vloConfig().getSolrUrl());
    113120    }
     121
     122    @Bean(name = "basicPropertiesFilter")
     123    public FieldFilter basicPropertiesFieldFilter() {
     124        return new ExclusiveFieldFilter(Sets.union(IGNORE_FIELDS, TECHNICAL_FIELDS));
     125    }
     126
     127    @Bean(name="technicalPropertiesFilter")
     128    public FieldFilter technicalPropertiesFieldFilter() {
     129        return new InclusiveFieldFilter(TECHNICAL_FIELDS);
     130    }
     131
     132    /**
     133     * Fields to be ignored. TODO: read this from config
     134     */
     135    public static final Set<String> IGNORE_FIELDS
     136            = Sets.newHashSet(
     137                    FacetConstants.FIELD_FORMAT);
     138
     139    /**
     140     * Fields to be included in technical details. TODO: read this from config
     141     */
     142    public static final Set<String> TECHNICAL_FIELDS
     143            = Sets.newHashSet(
     144                    FacetConstants.FIELD_ID,
     145                    FacetConstants.FIELD_DATA_PROVIDER,
     146                    FacetConstants.FIELD_FORMAT,
     147                    FacetConstants.FIELD_LANDINGPAGE,
     148                    FacetConstants.FIELD_SEARCHPAGE,
     149                    FacetConstants.FIELD_SEARCH_SERVICE,
     150                    FacetConstants.FIELD_LAST_SEEN);
    114151}
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/RecordPage.java

    r4640 r4645  
    1717package eu.clarin.cmdi.vlo.wicket.pages;
    1818
    19 import com.google.common.collect.Sets;
    2019import eu.clarin.cmdi.vlo.FacetConstants;
    2120import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection;
     
    2726import eu.clarin.cmdi.vlo.wicket.model.SolrFieldStringModel;
    2827import eu.clarin.cmdi.vlo.wicket.provider.DocumentFieldsProvider;
    29 import java.io.Serializable;
    30 import java.util.Collection;
    3128import org.apache.solr.common.SolrDocument;
    3229import org.apache.wicket.markup.html.WebPage;
    3330import org.apache.wicket.markup.html.link.ExternalLink;
    3431import org.apache.wicket.model.IModel;
     32import org.apache.wicket.spring.injection.annot.SpringBean;
    3533
    3634/**
     
    4038public class RecordPage extends WebPage {
    4139
    42     /**
    43      * Fields to be ignored. TODO: read this from config
    44      */
    45     private static final Collection<String> IGNORE_FIELDS
    46             = Sets.newHashSet(
    47                     FacetConstants.FIELD_FORMAT);
    48     /**
    49      * Fields to be included in technical details. TODO: read this from config
    50      */
    51     private static final Collection<String> TECHNICAL_FIELDS
    52             = Sets.newHashSet(
    53                     FacetConstants.FIELD_ID,
    54                     FacetConstants.FIELD_DATA_PROVIDER,
    55                     FacetConstants.FIELD_FORMAT,
    56                     FacetConstants.FIELD_LANDINGPAGE,
    57                     FacetConstants.FIELD_SEARCHPAGE,
    58                     FacetConstants.FIELD_SEARCH_SERVICE,
    59                     FacetConstants.FIELD_LAST_SEEN);
     40    @SpringBean(name = "basicPropertiesFilter")
     41    private FieldFilter basicPropertiesFilter;
     42    @SpringBean(name = "technicalPropertiesFilter")
     43    private FieldFilter technicalPropertiesFilter;
     44   
    6045    private final IModel<QueryFacetsSelection> contextModel;
    6146
     
    6651        add(new SolrFieldLabel("name", documentModel, FacetConstants.FIELD_NAME, "Unnamed record"));
    6752        add(createLandingPageLink("landingPageLink", documentModel));
    68         add(new FieldsTablePanel("documentProperties", new DocumentFieldsProvider(documentModel, new BasicPropertiesFieldFilter())));
     53        add(new FieldsTablePanel("documentProperties", new DocumentFieldsProvider(documentModel, basicPropertiesFilter)));
    6954        add(new ResourceLinksPanel("resources", new SolrFieldModel<String>(documentModel, FacetConstants.FIELD_RESOURCE)));
    70         add(new FieldsTablePanel("technicalProperties", new DocumentFieldsProvider(documentModel, new TechnicalPropertiesFieldFilter())));
     55        add(new FieldsTablePanel("technicalProperties", new DocumentFieldsProvider(documentModel, technicalPropertiesFilter)));
    7156    }
    7257
     
    9378    }
    9479
    95     private class BasicPropertiesFieldFilter implements FieldFilter, Serializable {
    96 
    97         @Override
    98         public boolean allowField(String fieldName) {
    99             return !(fieldName.startsWith("_")
    100                     || IGNORE_FIELDS.contains(fieldName)
    101                     || TECHNICAL_FIELDS.contains(fieldName));
    102         }
    103     }
    104 
    105     private class TechnicalPropertiesFieldFilter implements FieldFilter, Serializable {
    106 
    107         @Override
    108         public boolean allowField(String fieldName) {
    109             return TECHNICAL_FIELDS.contains(fieldName);
    110         }
    111     }
    112 
    11380}
Note: See TracChangeset for help on using the changeset viewer.