Cleanup project's name in Sonar
[aai/search-data-service.git] / src / main / java / org / onap / aai / sa / searchdbabstraction / searchapi / DateRange.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  * Copyright © 2017 Amdocs
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *       http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  *
21  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  */
23 package org.onap.aai.sa.searchdbabstraction.searchapi;
24
25 import com.fasterxml.jackson.annotation.JsonProperty;
26
27 /**
28  * This class represents the ranges specification in an date_range statement.
29  * <p>
30  * The expected JSON structure for a ranges is as follows:
31  * <p>
32  * <pre>
33  * {
34  *  "from": <from-date>
35  * }
36  * </pre>
37  * <p>
38  * or
39  * <p>
40  * <pre>
41  * {
42  *  "to": <to-date>
43  * }
44  * </pre>
45  * <p>
46  * or
47  * <p>
48  * <pre>
49  * {
50  *  "from": <from-date>,
51  *  "to": <to-date>
52  * }
53  * </pre>
54  *
55  * @author sye
56  */
57 public class DateRange {
58
59   @JsonProperty("from")
60   private String fromDate;
61
62   @JsonProperty("to")
63   private String toDate;
64
65   public String getFromDate() {
66     return fromDate;
67   }
68
69   public void setFromDate(String fromDate) {
70     this.fromDate = fromDate;
71   }
72
73   public String getToDate() {
74     return toDate;
75   }
76
77   public void setToDate(String toDate) {
78     this.toDate = toDate;
79   }
80
81   public String toElasticSearch() {
82     StringBuilder sb = new StringBuilder();
83
84     sb.append("{");
85
86     if (fromDate != null) {
87       sb.append("\"from\": \"");
88       sb.append(fromDate.toString());
89       sb.append("\"");
90     }
91
92     if (toDate != null) {
93       if (fromDate != null) {
94         sb.append(", \"to\": \"");
95         sb.append(toDate.toString());
96         sb.append("\"");
97       } else {
98         sb.append("\"to\": \"");
99         sb.append(toDate.toString());
100         sb.append("\"");
101       }
102     }
103
104     sb.append("}");
105
106     return sb.toString();
107   }
108
109   public String toString() {
110     return "{from: " + fromDate + ", to: " + toDate + "}";
111   }
112
113 }