Skip to content

Commit b77ddf9

Browse files
committed
Removed unnecessary and wrong flatten
Signed-off-by: Andrea Lamparelli <a.lamparelli95@gmail.com>
1 parent a64098d commit b77ddf9

File tree

3 files changed

+37
-34
lines changed

3 files changed

+37
-34
lines changed

horreum-backend/src/main/java/io/hyperfoil/tools/horreum/svc/DatasetServiceImpl.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -520,7 +520,7 @@ void calculateLabelValues(int testId, int datasetId, Integer[] queryLabelIds) {
520520
FingerprintDAO.deleteById(datasetId);
521521
Util.evaluateWithCombinationFunction(toCompute,
522522
(row) -> (String) row[2],
523-
(row) -> (row[3] instanceof ArrayNode ? flatten((ArrayNode) row[3]) : (JsonNode) row[3]),
523+
(row) -> (JsonNode) row[3],
524524
(row, result) -> createLabelValue(datasetId, (int) row[0], Util.convertToJson(result)),
525525
(row) -> createLabelValue(datasetId, (int) row[0], (JsonNode) row[3]),
526526
(row, e, jsCode) -> logMessage(datasetId, PersistentLogDAO.ERROR,
@@ -583,18 +583,6 @@ public void deleteDataset(int datasetId) {
583583
em.createNativeQuery("DELETE FROM dataset WHERE id = ?1").setParameter(1, datasetId).executeUpdate();
584584
}
585585

586-
private ArrayNode flatten(ArrayNode bucket) {
587-
JsonNode data = bucket.get(0);
588-
if (data == null)
589-
return bucket;
590-
591-
if (data instanceof ArrayNode) {
592-
bucket.removeAll();
593-
data.forEach(bucket::add);
594-
}
595-
return bucket;
596-
}
597-
598586
@WithRoles(extras = Roles.HORREUM_SYSTEM)
599587
@Transactional(Transactional.TxType.REQUIRES_NEW)
600588
protected void findFailingExtractor(int datasetId) {

horreum-backend/src/test/java/io/hyperfoil/tools/horreum/svc/DatasetServiceTest.java

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public void testDatasetLabelsSingle() {
112112
@org.junit.jupiter.api.Test
113113
public void testDatasetLabelSingleWithReduceFunctionArray() {
114114
withExampleSchemas((schemas) -> {
115-
int labelReduce = addLabel(schemas[0], "sum", "value => { return value.reduce((a,b) => a+b); }",
115+
int labelReduce = addLabel(schemas[0], "sum", "value => { return value[0].reduce((a,b) => a+b); }",
116116
new Extractor("value", "$.samplesArray", true));
117117
List<Label.Value> values = withLabelValues(createSampleArray());
118118
assertEquals(30, values.stream().filter(v -> v.labelId == labelReduce).map(v -> v.value.numberValue()).findFirst()
@@ -123,7 +123,7 @@ public void testDatasetLabelSingleWithReduceFunctionArray() {
123123
@org.junit.jupiter.api.Test
124124
public void testDatasetLabelAsyncSingleWithReduceFunctionArray() {
125125
withExampleSchemas((schemas) -> {
126-
int labelReduce = addLabel(schemas[0], "sum", "async (value) => { return value.reduce((a,b) => a+b); }",
126+
int labelReduce = addLabel(schemas[0], "sum", "async (value) => { return value[0].reduce((a,b) => a+b); }",
127127
new Extractor("value", "$.samplesArray", true));
128128
List<Label.Value> values = withLabelValues(createSampleArray());
129129
assertEquals(30, values.stream().filter(v -> v.labelId == labelReduce).map(v -> v.value.numberValue()).findFirst()
@@ -568,7 +568,12 @@ public void labelValuesWithAllMatchMultipleExtractorsAndJs() {
568568
addLabelResponse.then().statusCode(201);
569569

570570
List<Integer> ids = uploadRun(
571-
"{ \"bar\": \"test1\", \"foo\": [{\"inner\":[{\"id\": 1}, {\"id\": 2}]}, {\"inner\":[{\"id\": 3}]}, {\"inner\":[{\"id\": 4}, {\"id\": 5}]}]}",
571+
"""
572+
{
573+
"bar": "test1",
574+
"foo": [{"inner":[{"id": 1}, {"id": 2}]}, {"inner":[{"id": 3}]}, {"inner":[{"id": 4}, {"id": 5}]}]
575+
}
576+
""",
572577
t.name, fooSchema.uri);
573578
assertEquals(1, ids.size());
574579
// force to recalculate datasets and label values sync
@@ -586,7 +591,6 @@ public void labelValuesWithAllMatchMultipleExtractorsAndJs() {
586591
.as(JsonNode.class);
587592

588593
// expecting an array of arrays [[1, 2], [3], [4, 5]]
589-
Log.info(preview.toString());
590594
JsonNode previewValue = preview.get("value");
591595
assertInstanceOf(ArrayNode.class, previewValue);
592596
assertEquals(3, previewValue.size());
@@ -607,7 +611,6 @@ public void labelValuesWithAllMatchMultipleExtractorsAndJs() {
607611
assertInstanceOf(ObjectNode.class, arrayResponse.get(0));
608612
ObjectNode objectNode = (ObjectNode) arrayResponse.get(0);
609613

610-
Log.info(objectNode.toString());
611614
assertEquals("labelFoo", objectNode.get("name").asText());
612615
assertTrue(objectNode.get("value").isArray());
613616
// expecting an array of arrays [[1, 2], [3], [4, 5]]
@@ -635,7 +638,12 @@ public void labelValuesWithAllMatchSingleExtractorAndJs() {
635638
addLabelResponse.then().statusCode(201);
636639

637640
List<Integer> ids = uploadRun(
638-
"{ \"bar\": \"test1\", \"foo\": [{\"inner\":[{\"id\": 1}, {\"id\": 2}]}, {\"inner\":[{\"id\": 3}]}, {\"inner\":[{\"id\": 4}, {\"id\": 5}]}]}",
641+
"""
642+
{
643+
"bar": "test1",
644+
"foo": [{"inner":[{"id": 1}, {"id": 2}]}, {"inner":[{"id": 3}]}, {"inner":[{"id": 4}, {"id": 5}]}]
645+
}
646+
""",
639647
t.name, fooSchema.uri);
640648
assertEquals(1, ids.size());
641649
// force to recalculate datasets and label values sync
@@ -653,7 +661,6 @@ public void labelValuesWithAllMatchSingleExtractorAndJs() {
653661
.as(JsonNode.class);
654662

655663
// expecting an array of arrays [[1, 2], [3], [4, 5]]
656-
Log.info(preview.toString());
657664
JsonNode previewValue = preview.get("value");
658665
assertInstanceOf(ArrayNode.class, previewValue);
659666
assertEquals(3, previewValue.size());
@@ -674,7 +681,6 @@ public void labelValuesWithAllMatchSingleExtractorAndJs() {
674681
assertInstanceOf(ObjectNode.class, arrayResponse.get(0));
675682
ObjectNode objectNode = (ObjectNode) arrayResponse.get(0);
676683

677-
Log.info(objectNode.toString());
678684
assertEquals("labelFoo", objectNode.get("name").asText());
679685
assertTrue(objectNode.get("value").isArray());
680686
// expecting an array of arrays [[1, 2], [3], [4, 5]]
@@ -702,7 +708,12 @@ public void labelValuesWithFirstMatchSingleExtractorAndJs() {
702708
addLabelResponse.then().statusCode(201);
703709

704710
List<Integer> ids = uploadRun(
705-
"{ \"bar\": \"test1\", \"foo\": [{\"inner\":[{\"id\": 1}, {\"id\": 2}]}, {\"inner\":[{\"id\": 3}]}, {\"inner\":[{\"id\": 4}, {\"id\": 5}]}]}",
711+
"""
712+
{
713+
"bar": "test1",
714+
"foo": [{"inner":[{"id": 1}, {"id": 2}]}, {"inner":[{"id": 3}]}, {"inner":[{"id": 4}, {"id": 5}]}]
715+
}
716+
""",
706717
t.name, fooSchema.uri);
707718
assertEquals(1, ids.size());
708719
// force to recalculate datasets and label values sync
@@ -720,7 +731,6 @@ public void labelValuesWithFirstMatchSingleExtractorAndJs() {
720731
.as(JsonNode.class);
721732

722733
// expecting an array of arrays [1, 2]
723-
Log.info(preview.toString());
724734
JsonNode previewValue = preview.get("value");
725735
assertInstanceOf(ArrayNode.class, previewValue);
726736
assertEquals(2, previewValue.size());
@@ -741,7 +751,6 @@ public void labelValuesWithFirstMatchSingleExtractorAndJs() {
741751
assertInstanceOf(ObjectNode.class, arrayResponse.get(0));
742752
ObjectNode objectNode = (ObjectNode) arrayResponse.get(0);
743753

744-
Log.info(objectNode.toString());
745754
assertEquals("labelFoo", objectNode.get("name").asText());
746755
assertTrue(objectNode.get("value").isArray());
747756
// expecting an array of arrays [1, 2]

horreum-backend/src/test/java/io/hyperfoil/tools/horreum/svc/RunServiceTest.java

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@
6666
import io.hyperfoil.tools.horreum.test.InMemoryAMQTestProfile;
6767
import io.hyperfoil.tools.horreum.test.PostgresResource;
6868
import io.hyperfoil.tools.horreum.test.TestUtil;
69-
import io.quarkus.logging.Log;
7069
import io.quarkus.test.common.QuarkusTestResource;
7170
import io.quarkus.test.junit.QuarkusTest;
7271
import io.quarkus.test.junit.TestProfile;
@@ -342,7 +341,12 @@ public void labelValuesWithAllMatchMultipleExtractorsAndJs() {
342341
addLabelResponse.then().statusCode(201);
343342

344343
List<Integer> ids = uploadRun(
345-
"{ \"bar\": \"test1\", \"foo\": [{\"inner\":[{\"id\": 1}, {\"id\": 2}]}, {\"inner\":[{\"id\": 3}]}, {\"inner\":[{\"id\": 4}, {\"id\": 5}]}]}",
344+
"""
345+
{
346+
"bar": "test1",
347+
"foo": [{"inner":[{"id": 1}, {"id": 2}]}, {"inner":[{"id": 3}]}, {"inner":[{"id": 4}, {"id": 5}]}]
348+
}
349+
""",
346350
t.name, fooSchema.uri);
347351
assertEquals(1, ids.size());
348352
// force to recalculate datasets and label values sync
@@ -360,7 +364,6 @@ public void labelValuesWithAllMatchMultipleExtractorsAndJs() {
360364
.as(JsonNode.class);
361365

362366
// expecting an array of arrays [[1, 2], [3], [4, 5]]
363-
Log.info(preview.toString());
364367
JsonNode previewValue = preview.get("value");
365368
assertInstanceOf(ArrayNode.class, previewValue);
366369
assertEquals(3, previewValue.size());
@@ -382,7 +385,6 @@ public void labelValuesWithAllMatchMultipleExtractorsAndJs() {
382385
assertInstanceOf(ObjectNode.class, arrayResponse.get(0));
383386
ObjectNode objectNode = (ObjectNode) arrayResponse.get(0).get("values");
384387

385-
Log.info(objectNode.toString());
386388
assertTrue(objectNode.has("labelFoo"));
387389
assertTrue(objectNode.get("labelFoo").isArray());
388390
// expecting an array of arrays [[1, 2], [3], [4, 5]]
@@ -410,7 +412,11 @@ public void labelValuesWithAllMatchSingleExtractorAndJs() {
410412
addLabelResponse.then().statusCode(201);
411413

412414
List<Integer> ids = uploadRun(
413-
"{ \"foo\": [{\"inner\":[{\"id\": 1}, {\"id\": 2}]}, {\"inner\":[{\"id\": 3}]}, {\"inner\":[{\"id\": 4}, {\"id\": 5}]}]}",
415+
"""
416+
{
417+
"foo": [{"inner":[{"id": 1}, {"id": 2}]}, {"inner":[{"id": 3}]}, {"inner":[{"id": 4}, {"id": 5}]}]
418+
}
419+
""",
414420
t.name, fooSchema.uri);
415421
assertEquals(1, ids.size());
416422
// force to recalculate datasets and label values sync
@@ -428,7 +434,6 @@ public void labelValuesWithAllMatchSingleExtractorAndJs() {
428434
.as(JsonNode.class);
429435

430436
// expecting an array of arrays [[1, 2], [3], [4, 5]]
431-
Log.info(preview.toString());
432437
JsonNode previewValue = preview.get("value");
433438
assertInstanceOf(ArrayNode.class, previewValue);
434439
assertEquals(3, previewValue.size());
@@ -450,7 +455,6 @@ public void labelValuesWithAllMatchSingleExtractorAndJs() {
450455
assertInstanceOf(ObjectNode.class, arrayResponse.get(0));
451456
ObjectNode objectNode = (ObjectNode) arrayResponse.get(0).get("values");
452457

453-
Log.info(objectNode.toString());
454458
assertTrue(objectNode.has("labelFoo"));
455459
assertTrue(objectNode.get("labelFoo").isArray());
456460
// expecting an array of arrays [[1, 2], [3], [4, 5]]
@@ -478,7 +482,11 @@ public void labelValuesWithFirstMatchSingleExtractorAndJs() {
478482
addLabelResponse.then().statusCode(201);
479483

480484
List<Integer> ids = uploadRun(
481-
"{ \"foo\": [{\"inner\":[{\"id\": 1}, {\"id\": 2}]}, {\"inner\":[{\"id\": 3}]}, {\"inner\":[{\"id\": 4}, {\"id\": 5}]}]}",
485+
"""
486+
{
487+
"foo": [{"inner":[{"id": 1}, {"id": 2}]}, {"inner":[{"id": 3}]}, {"inner":[{"id": 4}, {"id": 5}]}]
488+
}
489+
""",
482490
t.name, fooSchema.uri);
483491
assertEquals(1, ids.size());
484492
// force to recalculate datasets and label values sync
@@ -496,7 +504,6 @@ public void labelValuesWithFirstMatchSingleExtractorAndJs() {
496504
.as(JsonNode.class);
497505

498506
// expecting an array of arrays [1, 2]
499-
Log.info(preview.toString());
500507
JsonNode previewValue = preview.get("value");
501508
assertInstanceOf(ArrayNode.class, previewValue);
502509
assertEquals(2, previewValue.size());
@@ -518,7 +525,6 @@ public void labelValuesWithFirstMatchSingleExtractorAndJs() {
518525
assertInstanceOf(ObjectNode.class, arrayResponse.get(0));
519526
ObjectNode objectNode = (ObjectNode) arrayResponse.get(0).get("values");
520527

521-
Log.info(objectNode.toString());
522528
assertTrue(objectNode.has("labelFoo"));
523529
assertTrue(objectNode.get("labelFoo").isArray());
524530
// expecting an array of arrays [1, 2]

0 commit comments

Comments
 (0)