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 UsageDateRange usageDateRange = null;
13
    private List<Filter> filter = new ArrayList<>();
14
    private List<Filter> reportAttribute = new ArrayList<>();
15

    
16
    public Filters() {
17
    }
18

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

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

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

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

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

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