1 /*******************************************************************************
2 * ============LICENSE_START========================================================================
3 * ONAP : ccsdk feature sdnr wt
4 * =================================================================================================
5 * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
6 * =================================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8 * in compliance with the License. You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software distributed under the License
13 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14 * or implied. See the License for the specific language governing permissions and limitations under
16 * ============LICENSE_END==========================================================================
17 ******************************************************************************/
18 package org.onap.ccsdk.features.sdnr.wt.devicemanager.index.database.types;
20 import com.fasterxml.jackson.annotation.JsonProperty;
21 import org.elasticsearch.index.query.QueryBuilder;
22 import org.elasticsearch.index.query.RangeQueryBuilder;
23 import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.database.EsObject;
24 import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.internalTypes.InternalDateAndTime;
27 * Event log, used by Odlux client.
28 * Not used for writing any data by devicemanager.
29 * Type introduced to implement IndexCleanService
32 public class EsEventOdluxLog extends EsObject {
34 public static final String ESDATATYPENAME = "log";
36 private static final String LOG_FIELD_TIMESTAMP = "timestamp";
39 private String component;
40 private String message;
41 private String timestamp;
46 protected EsEventOdluxLog() {
51 * @param component string
52 * @param message string
53 * @param timestamp string with netconf format string
55 public EsEventOdluxLog(String type, String component, String message, InternalDateAndTime timestamp) {
58 this.component = component;
59 this.message = message;
60 this.timestamp = timestamp.getValue();
64 public String getType() {
68 @JsonProperty("component")
69 public String getComponent() {
73 @JsonProperty("message")
74 public String getMessage() {
78 @JsonProperty(LOG_FIELD_TIMESTAMP)
79 public String getTimestamp() {
84 * Query to get older Elements
85 * @param netconfTimeStamp to identify older Elements
86 * @return QueryBuilder for older elements related to timestamp
88 public static QueryBuilder getQueryForTimeStamp(String netconfTimeStamp) {
89 return new RangeQueryBuilder(LOG_FIELD_TIMESTAMP).lt(netconfTimeStamp);