Project

General

Profile

1
package eu.dnetlib.usagestats.sushilite.domain;
2

    
3
import com.fasterxml.jackson.annotation.JsonProperty;
4

    
5
import java.util.ArrayList;
6
import java.util.List;
7

    
8
/**
9
 * Created by tsampikos on 26/10/2016.
10
 */
11
public class Filters {
12
    private final UsageDateRange usageDateRange;
13
    private final List<Filter> filter = new ArrayList<>();
14
    private final List<Filter> reportAttribute = new ArrayList<>();
15

    
16

    
17
    public Filters(String beginDate, String endDate, String repositoryIdentifier,
18
                   String itemIdentifier, String itemDataType, String granularity, String reportItemCount) {
19
        usageDateRange = new UsageDateRange(beginDate, endDate);
20

    
21
        if (repositoryIdentifier != null && !repositoryIdentifier.equals("")) {
22
            filter.add(new Filter("RepositoryIdentifier", repositoryIdentifier));
23
        }
24
        if (itemIdentifier != null && !itemIdentifier.equals("")) {
25
            filter.add(new Filter("ItemIdentifier", itemIdentifier));
26
        }
27
        if (itemDataType != null && !itemDataType.equals("")) {
28
            filter.add(new Filter("ItemDataType", itemDataType));
29
        }
30

    
31
        reportAttribute.add(new Filter("Granularity", granularity));
32
        if (reportItemCount != null && !reportItemCount.equals("")) {
33
            reportAttribute.add(new Filter("ReportItemCount", reportItemCount));
34
        }
35
    }
36

    
37
    @JsonProperty("UsageDateRange")
38
    public UsageDateRange getUsageDateRange() {
39
        return usageDateRange;
40
    }
41

    
42
    @JsonProperty("Filter")
43
    public List<Filter> getFilter() {
44
        return filter;
45
    }
46

    
47
    @JsonProperty("ReportAttribute")
48
    public List<Filter> getReportAttribute() {
49
        return reportAttribute;
50
    }
51
}
(4-4/18)