Changeset 5346


Ignore:
Timestamp:
06/11/14 10:45:55 (10 years ago)
Author:
teckart@informatik.uni-leipzig.de
Message:

Values for organisation facet are now splitted at semicolon (#48)

Location:
vlo/trunk/vlo-importer/src/main/java/eu/clarin/cmdi/vlo/importer
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • vlo/trunk/vlo-importer/src/main/java/eu/clarin/cmdi/vlo/importer/MetadataImporter.java

    r5345 r5346  
    7979        POST_PROCESSORS.put(FacetConstants.FIELD_LANGUAGES, new LanguageLinkPostProcessor());
    8080        POST_PROCESSORS.put(FacetConstants.FIELD_LANGUAGE_CODE, new LanguageCodePostProcessor());
     81        POST_PROCESSORS.put(FacetConstants.FIELD_ORGANISATION, new OrganisationPostProcessor());
    8182        POST_PROCESSORS.put(FacetConstants.FIELD_YEAR, new YearPostProcessor());
    8283        POST_PROCESSORS.put(FacetConstants.FIELD_NATIONAL_PROJECT, new NationalProjectPostProcessor());
  • vlo/trunk/vlo-importer/src/main/java/eu/clarin/cmdi/vlo/importer/OrganisationPostProcessor.java

    r5221 r5346  
    22
    33import java.util.Arrays;
    4 import java.util.HashSet;
    5 import java.util.Set;
     4import java.util.List;
    65
    7 public class IdPostProcessor implements PostProcessor {
    86
    9     private static final Set<Character> reservedCharacters = new HashSet<Character>(Arrays.asList('!', '*', '\'', '(',
    10             ')', ';', ':', '@', '&', '=', '+', '$', ',', '/', '?', '#', '[', ']'));
     7public class OrganisationPostProcessor implements PostProcessor {
    118
    129    /**
    13      * Return normalized String where all reserved characters in URL encoding
    14      * are replaced by their ASCII code (in underscores)
    15      *
    16      * @param value String that will be normalized
    17      * @return normalized version of value where all reserved
    18      * characters in URL encoding are replaced by their ASCII code
     10     * Splits values for organisation facet at delimiter ';'
     11     * @param value extracted organisation name/names
     12     * @return List of organisation names (splitted at semicolon)
    1913     */
    2014    @Override
    21     public String process(String value) {
    22         StringBuilder normalizedString = new StringBuilder();
    23         for (int i = 0; i < value.length(); i++) {
    24             Character character = value.charAt(i);
    25             if (reservedCharacters.contains(character)) {
    26                 normalizedString.append("_").append((int) character).append("_");
    27             } else {
    28                 normalizedString.append(character);
    29             }
    30         }
    31 
    32         return normalizedString.toString();
     15    public List<String> process(String value) {
     16        String[] splitArray = value.split(";");
     17        return Arrays.asList(splitArray);
    3318    }
    3419}
Note: See TracChangeset for help on using the changeset viewer.