Project

General

Profile

1
package eu.dnetlib.data.search.resources;
2

    
3
/**
4
 * Created by kiatrop on 10/11/2016.
5
 */
6
public class FieldQuery {
7
    String indexField;
8
    String operator; //TODO change this
9
    String[] values;
10

    
11
    public String getIndexField() {
12
        return indexField;
13
    }
14

    
15
    public void setIndexField(String indexField) {
16
        this.indexField = indexField;
17
    }
18

    
19
    public String getOperator() {
20
        return operator;
21
    }
22

    
23
    public void setOperator(String operator) {
24
        this.operator = operator;
25
    }
26

    
27
    public String[] getValues() {
28
        return values;
29
    }
30

    
31
    public void setValues(String[] values) {
32
        this.values = values;
33
    }
34

    
35
    public FieldQuery(String indexField, String operator, String[] values) {
36
        this.indexField = indexField;
37
        this.operator = operator;
38
        this.values = values;
39
    }
40

    
41
    public FieldQuery(String indexField, String[] values) {
42
        this.indexField = indexField;
43
        this.operator = "AND";
44
        this.values = values;
45
    }
46

    
47
    public String toSolrQuery() {
48
        StringBuilder stringBuilder = new StringBuilder();
49

    
50
        if ( values!=null && values.length>0 ) {
51
            for(int i=0; i< values.length; i++) {
52
                stringBuilder.append(indexField).append(":").append("\"").append(values[i]).append("\"");
53
                if( i<values.length-1) {
54
                    stringBuilder.append("+").append(operator).append("+");
55
                }
56
            }
57
        }
58

    
59
        return stringBuilder.toString();
60
    }
61

    
62
    @Override
63
    public String toString() {
64
        if(getValues()!=null)
65
            return indexField + "(" + operator + "): " + getValues();
66
        return indexField;
67
    }
68
}
(1-1/7)