/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.ambari.logsearch.solr.model;
import org.apache.ambari.logsearch.model.response.CommonLogData;
import org.apache.solr.client.solrj.beans.Field;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import static org.apache.ambari.logsearch.solr.SolrConstants.CommonLogConstants.*;
import static org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.KEY_DYNAMIC_FIELDS;
import static org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.STORED_TOKEN_DYNAMIC_FIELDS;
import static org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.WS_DYNAMIC_FIELDS;
public class SolrCommonLogData implements CommonLogData {
@Field(ID)
private String id;
@Field(BUNDLE_ID)
private String bundleId;
@Field(CASE_ID)
private String caseId;
@Field(CLUSTER)
private String cluster;
@Field(SEQUENCE_ID)
private Long seqNum;
@Field(LOG_MESSAGE)
private String logMessage;
@Field(LOGFILE_LINE_NUMBER)
private Integer logFileLineNumber;
@Field(EVENT_DURATION_MD5)
private Long eventDurationMs;
@Field(FILE)
private String file;
@Field(TYPE)
private String type;
@Field(EVENT_COUNT)
private Long eventCount;
@Field(EVENT_MD5)
private String eventMd5;
@Field(MESSAGE_MD5)
private String messageMd5;
@Field(TTL)
private String ttl;
@Field(EXPIRE_AT)
private Date expire;
@Field(VERSION)
private Long version;
@Field(ROUTER_FIELD)
private Integer routerField;
@Field(STORED_TOKEN_DYNAMIC_FIELDS)
private Map<String, Object> stdDynamicFields;
@Field(KEY_DYNAMIC_FIELDS)
private Map<String, Object> keyDynamicFields;
@Field(WS_DYNAMIC_FIELDS)
private Map<String, Object> wsDynamicFields;
@Override
public String getId() {
return this.id;
}
@Override
public void setId(String id) {
this.id = id;
}
@Override
public String getCaseId() {
return this.caseId;
}
@Override
public void setCaseId(String caseId) {
this.caseId = caseId;
}
@Override
public String getLogMessage() {
return this.logMessage;
}
@Override
public String getBundleId() {
return bundleId;
}
@Override
public void setBundleId(String bundleId) {
this.bundleId = bundleId;
}
@Override
public Integer getLogFileLineNumber() {
return logFileLineNumber;
}
@Override
public void setLogFileLineNumber(Integer logFileLineNumber) {
this.logFileLineNumber = logFileLineNumber;
}
@Override
public void setLogMessage(String logMessage) {
this.logMessage = logMessage;
}
@Override
public Long getEventDurationMs() {
return eventDurationMs;
}
@Override
public void setEventDurationMs(Long eventDurationMs) {
this.eventDurationMs = eventDurationMs;
}
@Override
public String getFile() {
return file;
}
@Override
public void setFile(String file) {
this.file = file;
}
@Override
public Long getSeqNum() {
return seqNum;
}
@Override
public void setSeqNum(Long seqNum) {
this.seqNum = seqNum;
}
@Override
public String getMessageMd5() {
return messageMd5;
}
@Override
public void setMessageMd5(String messageMd5) {
this.messageMd5 = messageMd5;
}
@Override
public String getEventMd5() {
return eventMd5;
}
@Override
public void setEventMd5(String eventMd5) {
this.eventMd5 = eventMd5;
}
@Override
public String getCluster() {
return cluster;
}
@Override
public void setCluster(String cluster) {
this.cluster = cluster;
}
@Override
public Long getEventCount() {
return eventCount;
}
@Override
public void setEventCount(Long eventCount) {
this.eventCount = eventCount;
}
@Override
public String getTtl() {
return this.ttl;
}
@Override
public void setTtl(String ttl) {
this.ttl = ttl;
}
@Override
public Date getExpire() {
return expire;
}
@Override
public void setExpire(Date expire) {
this.expire = expire;
}
@Override
public Long getVersion() {
return version;
}
@Override
public void setVersion(Long version) {
this.version = version;
}
@Override
public Integer getRouterField() {
return this.routerField;
}
@Override
public void setRouterField(Integer routerField) {
this.routerField = routerField;
}
@Override
public String getType() {
return type;
}
@Override
public void setType(String type) {
this.type = type;
}
@Override
public Map<String, Object> getAllDynamicFields() {
Map<String, Object> allDynamicFields = new HashMap<>();
if (stdDynamicFields != null) {
allDynamicFields.putAll(stdDynamicFields);
}
if (keyDynamicFields != null) {
allDynamicFields.putAll(keyDynamicFields);
}
if (wsDynamicFields != null) {
allDynamicFields.putAll(wsDynamicFields);
}
return allDynamicFields;
}
public void setStdDynamicFields(Map<String, Object> stdDynamicFields) {
this.stdDynamicFields = stdDynamicFields;
}
public void setKeyDynamicFields(Map<String, Object> keyDynamicFields) {
this.keyDynamicFields = keyDynamicFields;
}
public void setWsDynamicFields(Map<String, Object> wsDynamicFields) {
this.wsDynamicFields = wsDynamicFields;
}
}