buildframework/helium/sf/java/metadata/src/com/nokia/helium/metadata/ant/types/MetaDataFilterSet.java
author wbernard
Fri, 13 Aug 2010 14:59:05 +0300
changeset 628 7c4a911dc066
parent 588 c7c26511138f
permissions -rw-r--r--
helium_11.0.0-e00f171ca185
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     1
/*
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     2
* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     3
* All rights reserved.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     4
* This component and the accompanying materials are made available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     6
* which accompanies this distribution, and is available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     8
*
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     9
* Initial Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    11
*
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    12
* Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    13
*
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    14
* Description:  
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    15
*
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    16
*/
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    17
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    18
 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    19
package com.nokia.helium.metadata.ant.types;
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    20
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    21
import java.io.File;
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    22
import java.io.FileNotFoundException;
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    23
import java.io.FileReader;
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    24
import java.util.Collection;
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    25
import java.util.Vector;
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    26
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    27
import org.apache.tools.ant.BuildException;
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    28
import org.apache.tools.ant.Project;
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    29
import org.apache.tools.ant.types.DataType;
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    30
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    31
import fmpp.models.CsvSequence;
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    32
import fmpp.util.StringUtil.ParseException;
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    33
import freemarker.template.TemplateModelException;
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    34
import freemarker.template.TemplateSequenceModel;
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    35
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    36
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    37
/**
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    38
 * This type contains set of filters to be used by the metadatarecord. Two options:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    39
 * <pre>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    40
 * Example 1:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    41
 * &lt;metadatafilterset id=&quot;common&quot; filterfile=&quot;filters.csv&quot; /&gt;
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    42
 * 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    43
 * Example 2:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    44
 * &lt;metadatafilterset id=&quot;common&quot;/&gt;
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    45
 *   &lt;metadatafilter severity=&quot;error&quot; regex=&quot;^make(?:\[\d+\])?:\s+.*\s+not\s+remade&quot; description=&quot;make error&quot; />
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    46
 *   &lt;metadatafilter severity=&quot;error&quot;regex=&quot;&quot; description=&quot;&quot; /&gt; 
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    47
 * &lt;metadatafilterset/&gt;
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    48
 *
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    49
 * Example 3:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    50
 * &lt;metadatafilterset refid=&quot;common&quot; /&gt;
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    51
 * </pre>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    52
 * @ant.task name="metadatafilterset" category="Metadata"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    53
 */
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    54
public class MetaDataFilterSet extends DataType implements MetaDataFilterCollection {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    55
    private Vector<MetaDataFilterCollection> filterCollections = new Vector<MetaDataFilterCollection>();
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    56
    private File filterFile;
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    57
    private boolean initialized;
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    58
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    59
    /**
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    60
     * Helper function called by ant to set the FilterFile
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    61
     * @param FilterFile the csv file used by the filterset
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    62
     */
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    63
    public void setFilterFile(File file) throws Exception {
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    64
        filterFile = file;
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    65
    }
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    66
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    67
    /**
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    68
     * Helper function called to get FilterFile.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    69
     * @return filterfile used by this filterset
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    70
     */
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    71
    public File getFilterFile() {
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    72
        return filterFile;
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    73
    }
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    74
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    75
    /**
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    76
     * Helper function called to get filterlist.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    77
     * FilterSet can contain nested filterset, individual filter.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    78
     * Individual filter is created as nestedFilterSet and appended so that
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    79
     * the precedence is maintained.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    80
     * @return All filters
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    81
     */
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    82
    public Collection<MetaDataFilter> getAllFilters() {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    83
        // Shall we treat current object as a reference?
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    84
        if (this.isReference()) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    85
            if (filterFile != null) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    86
                throw new BuildException("You cannot use the 'filterFile' in reference object.");
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    87
            }
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    88
            if (!filterCollections.isEmpty()) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    89
                throw new BuildException("You cannot have nested filters when using a reference object.");
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    90
            }
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    91
            Object filterSetObject = this.getRefid().getReferencedObject();
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    92
            if (filterSetObject != null && filterSetObject instanceof MetaDataFilterCollection) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    93
                Collection<MetaDataFilter> allFilters = ((MetaDataFilterCollection)filterSetObject).getAllFilters();
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    94
                checkInvalidFilters(allFilters);
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    95
                return allFilters;                
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    96
            } else {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    97
                throw new BuildException("Filterset object is not instance of MetaDataFilterCollection");
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    98
            }
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
    99
        } else {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   100
            if (!initialized) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   101
                if (filterFile != null) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   102
                    addDataFromCSVFile();
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   103
                }
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   104
                initialized = true;
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   105
            }
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   106
            Collection<MetaDataFilter> allFilters = new Vector<MetaDataFilter>();
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   107
            // Add any nested filterCollection
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   108
            for (MetaDataFilterCollection filterCollection : filterCollections) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   109
                allFilters.addAll(filterCollection.getAllFilters());
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   110
            }
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   111
            checkInvalidFilters(allFilters);
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   112
            return allFilters;
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   113
        }
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   114
    }
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   115
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   116
    /**
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   117
     * Helper function called to remove any invalid filters
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   118
     * @return only the valid filters
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   119
     */
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   120
    private void checkInvalidFilters(Collection<MetaDataFilter> filterList) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   121
        int count = 0;
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   122
        for (MetaDataFilter filter : filterList) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   123
            SeverityEnum.Severity severity = filter.getSeverity();
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   124
            String regEx = filter.getRegex();
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   125
            if (severity == null || regEx == null) {                
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   126
                log("Invalid filter found at " + filter.getLocation().toString(), Project.MSG_ERR);
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   127
                count++;
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   128
            }
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   129
        }
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   130
        if (count > 0) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   131
            throw new BuildException("Invalid filter have been found. Please check your configuration.");
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   132
        }
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   133
    }
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   134
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   135
    /**
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   136
     * Helper function called by ant to create the new filter
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   137
     */
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   138
    public MetaDataFilter createMetaDataFilter() {
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   139
        MetaDataFilter filter =  new MetaDataFilter();
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   140
        add(filter);
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   141
        return filter;
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   142
    }
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   143
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   144
     /**
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   145
     * Helper function called by ant to create the new filter
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   146
     */
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   147
    public MetaDataFilterSet createMetaDataFilterSet() {
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   148
        MetaDataFilterSet filterSet =  new MetaDataFilterSet();
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   149
        add(filterSet);
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   150
        return filterSet;
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   151
    }
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   152
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   153
    /**
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   154
     * Helper function to add the created filter
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   155
     * @param filter to be added to the filterset
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   156
     */
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   157
    public void add(MetaDataFilterCollection filterCollection) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   158
        if (filterCollection != null) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   159
            filterCollections.add(filterCollection);
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   160
        }
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   161
    }
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   162
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   163
    /**
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   164
     * Helper function to add the filters from the csv files
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   165
     * @param csv file path from which the filters needs to be added.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   166
     */
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   167
    private void addDataFromCSVFile() {
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   168
        CsvSequence csvs = new CsvSequence();
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   169
        csvs.setSeparator(',');
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   170
        try {
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   171
            csvs.load(new FileReader(filterFile));
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   172
            int size = 0;
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   173
            size = csvs.size();
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   174
            for (int i = 0; i < size; i++) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   175
                TemplateSequenceModel model = (TemplateSequenceModel)csvs.get(i);
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   176
                int modelSize = model.size();
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   177
                if (modelSize != 3 ) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   178
                    throw new BuildException("Metadata CSV file filter file format is invalid. It model must have 3 column, it currently has " + size);
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   179
                }
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   180
                MetaDataFilter filter = new MetaDataFilter();
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   181
                SeverityEnum severity = new SeverityEnum();
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   182
                severity.setValue(model.get(0).toString());
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   183
                filter.setSeverity(severity);
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   184
                filter.setRegex(model.get(1).toString());
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   185
                filter.setDescription(model.get(2).toString());
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   186
                filterCollections.add(filter);
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   187
            }
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   188
        } catch (FileNotFoundException fex) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   189
            throw new BuildException(fex.getMessage(), fex);
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   190
        } catch (ParseException pex) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   191
            throw new BuildException(pex.getMessage(), pex);
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   192
        } catch (java.io.IOException iex) {
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   193
            throw new BuildException(iex.getMessage(), iex);
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   194
        } catch (TemplateModelException e) {
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   195
            throw new BuildException(e.getMessage(), e);
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   196
        }
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   197
    }
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   198
}
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   199
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   200