com.axibase.tsd.network.MultipleInsertCommand Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of atsd-api-java Show documentation
Show all versions of atsd-api-java Show documentation
The ATSD Client for Java enables Java developers to easily read
and write statistics and metadata from Axibase Time-Series Database. Build reporting,
analytics, and alerting solutions with minimal effort.
/*
* Copyright 2016 Axibase Corporation or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* https://www.axibase.com/atsd/axibase-apache-2.0.pdf
*
* or in the "license" file accompanying this file. This file 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 com.axibase.tsd.network;
import java.util.Collections;
import java.util.Map;
import static com.axibase.tsd.util.AtsdUtil.formatMetricValue;
public class MultipleInsertCommand extends AbstractInsertCommand {
private final Map numericValues;
private final Map textValues;
public MultipleInsertCommand(String entityName, long time, Map tags,
Map numericValues) {
this(entityName, time, tags, numericValues, Collections.emptyMap());
}
public MultipleInsertCommand(String entityName, long time, Map tags,
Map numericValues, Map textValues) {
super(InsertCommand.SERIES_COMMAND, entityName, time, null, tags);
this.numericValues = numericValues == null ? Collections.emptyMap() : numericValues;
this.textValues = textValues == null ? Collections.emptyMap() : textValues;
}
@Override
protected void appendValues(StringBuilder sb) {
for (Map.Entry metricNameAndValue : numericValues.entrySet()){
sb.append(" m:").append(handleName(metricNameAndValue.getKey()))
.append('=').append(formatMetricValue(metricNameAndValue.getValue()));
}
appendKeysAndValues(sb, " x:", textValues);
}
}