use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class SeriesSearchResultRecordDeserializer method deserialize.
@Override
public SeriesSearchResultRecord deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
SeriesSearchResultRecord result = new SeriesSearchResultRecord();
JsonNode node = jsonParser.getCodec().readTree(jsonParser);
JsonNode metricNameNode = node.get(0);
String metricName = null;
if (metricNameNode != null) {
metricName = metricNameNode.textValue();
}
JsonNode metricLabelNode = node.get(1);
String metricLabel = null;
if (metricLabelNode != null) {
metricLabel = metricLabelNode.textValue();
}
Metric metric = null;
JsonNode metricNode = node.get(2);
if (metricNode != null) {
metric = mapper.convertValue(metricNode, Metric.class);
}
if (metric == null) {
metric = new Metric();
}
metric.setName(metricName);
metric.setLabel(metricLabel);
Map<String, String> metricTags = null;
JsonNode metricTagsNode = node.get(3);
if (metricTagsNode != null) {
metricTags = mapper.convertValue(metricTagsNode, Map.class);
}
if (metricTags != null && metricTags.size() != 0) {
metric.setTags(metricTags);
}
result.setMetric(metric);
JsonNode entityNameNode = node.get(4);
String entityName = null;
if (entityNameNode != null) {
entityName = entityNameNode.textValue();
}
JsonNode entityLabelNode = node.get(5);
String entityLabel = null;
if (entityLabelNode != null) {
entityLabel = entityLabelNode.textValue();
}
Entity entity = null;
JsonNode entityNode = node.get(6);
if (entityNode != null) {
entity = mapper.convertValue(entityNode, Entity.class);
}
if (entity == null) {
entity = new Entity();
}
entity.setName(entityName);
entity.setLabel(entityLabel);
Map<String, String> entityTags = null;
JsonNode entityTagsNode = node.get(7);
if (entityTagsNode != null) {
entityTags = mapper.convertValue(entityTagsNode, Map.class);
}
if (entityTags != null && entityTags.size() != 0) {
entity.setTags(entityTags);
}
result.setEntity(entity);
Map<String, String> seriesTags = null;
JsonNode seriesTagsNode = node.get(8);
if (seriesTagsNode != null) {
seriesTags = mapper.convertValue(seriesTagsNode, Map.class);
}
if (seriesTags != null && seriesTags.size() != 0) {
result.setSeriesTags(seriesTags);
}
Double relevanceScore = null;
JsonNode relevanceScoreNode = node.get(9);
if (relevanceScoreNode != null) {
relevanceScore = relevanceScoreNode.doubleValue();
}
result.setRelevanceScore(relevanceScore);
return result;
}
use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class CSVUploadTest method testFileWithCRLineBreakAndDST.
@Issue("3591")
@Test
public void testFileWithCRLineBreakAndDST(Method method) throws Exception {
Entity entity = new Entity("e-cr-dst-parser-ms-2");
Metric metric = new Metric("m-cr-dst-parser-ms-2");
File csvPath = resolvePath(Paths.get(RESOURCE_DIR, "test-cr-dst-parser.csv").toString());
Response response = binaryCsvUpload(csvPath, CRLF_PARSER, entity.getName());
assertEquals("Failed to upload file", OK.getStatusCode(), response.getStatus());
SeriesQuery seriesQuery = new SeriesQuery(entity.getName(), metric.getName(), MIN_QUERYABLE_DATE, MAX_QUERYABLE_DATE);
assertSeriesQueryDataSize(seriesQuery, 3);
Sample sample = SeriesMethod.querySeriesAsList(seriesQuery).get(0).getData().get(0);
Calendar serverCalendar = new GregorianCalendar(TimeZone.getTimeZone(timezone));
serverCalendar.clear();
serverCalendar.set(2015, Calendar.NOVEMBER, 24, 6, 17);
assertEquals("Date failed to save", serverCalendar.getTime(), parseDate(sample.getRawDate()));
}
use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class CSVUploadTest method testTimeRangeInISO.
@Issue("2957")
@Test
public void testTimeRangeInISO(Method method) throws Exception {
Entity entity = new Entity("e-csv-simple-parser-iso-0");
Metric metric = new Metric("m-csv-simple-parser-iso-0");
File csvPath = resolvePath(Paths.get(RESOURCE_DIR, "test-time-range-iso.csv").toString());
Response response = binaryCsvUpload(csvPath, SIMPLE_PARSER_ISO);
assertEquals("Failed to upload file", OK.getStatusCode(), response.getStatus());
SeriesQuery seriesQuery = new SeriesQuery(entity.getName(), metric.getName(), MIN_QUERYABLE_DATE, MAX_QUERYABLE_DATE);
assertSeriesQueryDataSize(seriesQuery, 2);
List<Series> seriesList = SeriesMethod.querySeriesAsList(seriesQuery);
Series series = seriesList.get(0);
assertEquals("Min storable date failed to save", MIN_STORABLE_DATE, series.getData().get(0).getRawDate());
assertEquals("Incorrect stored value", "12.45", series.getData().get(0).getValue().toString());
assertEquals("Max storable date failed to save", MAX_STORABLE_DATE, series.getData().get(1).getRawDate());
assertEquals("Incorrect stored value", "10.8", series.getData().get(1).getValue().toString());
}
use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class MetricCreateOrReplaceTest method testMetricTagNameIsLowerCased.
@Issue("3141")
@Test
public void testMetricTagNameIsLowerCased() throws Exception {
final String TAG_NAME = "SoMeTaG";
final String TAG_VALUE = "value";
Map<String, String> tags = new HashMap<>();
tags.put(TAG_NAME, TAG_VALUE);
Metric metric = new Metric("create-metric-with-tag", tags);
Response response1 = createOrReplaceMetric(metric);
assertEquals("Failed to create metric", OK.getStatusCode(), response1.getStatus());
Response response2 = queryMetric(metric.getName());
Metric createdMetric = response2.readEntity(Metric.class);
assertEquals("Wrong metric name", metric.getName(), createdMetric.getName());
Map<String, String> expectedTags = new HashMap<>();
expectedTags.put(TAG_NAME.toLowerCase(), TAG_VALUE);
assertEquals("Wrong metric tags", expectedTags, createdMetric.getTags());
}
use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class MetricCreateOrReplaceTest method testTimeZone.
@Test
public void testTimeZone() throws Exception {
Metric metric = new Metric(metric());
metric.setTimeZoneID("GMT0");
createOrReplaceMetricCheck(metric);
Metric actualMetric = queryMetric(metric.getName()).readEntity(Metric.class);
assertEquals(String.format("Failed to create metric with the %s timezone", metric.getTimeZoneID()), actualMetric.getTimeZoneID(), metric.getTimeZoneID());
}
Aggregations