Skip to content

Commit

Permalink
(#24): use QualifiedMap's YAML for todo data-transfer
Browse files Browse the repository at this point in the history
  • Loading branch information
andi-huber committed Jun 18, 2024
1 parent dc896b0 commit 830eea1
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 11 deletions.
9 changes: 6 additions & 3 deletions antora/modules/ROOT/pages/designdocs/NutrientMapping.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -120,20 +120,22 @@ NutriDb <- TodoReporter : import \nnutmap-todo.yaml
----

[source,yaml]
.Fully qualified data transfer format
.Todo data-transfer-format (QualifiedMap with empty targets)
----
# nutmap-todo.yaml example
qualifiedKeys:
qualifiedMapEntries:
- source: "SID[GD-AT20240507,00010]"
qualifier:
elements:
- "SID[GD-AT20240507,0204]"
- "SID[GD-AT20240507,0301]"
- "SID[GD-AT20240507,0402]"
- "SID[GD-AT20240507,0801]"
target: null
- source: "SID[GD-AT20240507,00025]"
qualifier:
elements:
elements:
target: null
- source: "SID[GD-AT20240507,00100]"
qualifier:
elements:
Expand All @@ -142,6 +144,7 @@ qualifiedKeys:
- "SID[GD-AT20240507,0334]"
- "SID[GD-AT20240507,0400]"
- "SID[GD-AT20240507,0999]"
target: null
----

[source]
Expand Down
12 changes: 12 additions & 0 deletions commons/src/main/java/dita/commons/qmap/QualifiedMap.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
*/
package dita.commons.qmap;

import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Stream;
Expand Down Expand Up @@ -93,6 +95,16 @@ public static int compare(

final Map<QualifiedMapKey, QualifiedMapEntry> internalMap;

/**
* Creates a {@link QualifiedMap} with entries that have no target. (A <i>todo</i> map.)
*/
public static QualifiedMap todo(final Iterable<QualifiedMapKey> keys) {
var map = new LinkedHashMap<QualifiedMapKey, QualifiedMapEntry>();
keys.forEach(key->
map.put(key, new QualifiedMapEntry(key.source, key.qualifier, null)));
return new QualifiedMap(Collections.unmodifiableMap(map));
}

public QualifiedMap put(@Nullable final QualifiedMapEntry entry) {
if(entry==null) return this;
if(entry.source()==null) return this;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
import dita.commons.qmap.QualifiedMap;
import dita.commons.qmap.QualifiedMap.QualifiedMapKey;
import dita.commons.qmap.QualifiedMapEntry;
import dita.globodiet.connectors.nutridb.util.NutriDbConverters;
import dita.globodiet.survey.DitaGdSurveyIntegrationTest;
import dita.globodiet.survey.DitaTestModuleGdSurvey;
import dita.globodiet.survey.PrivateDataTest;
Expand Down Expand Up @@ -80,7 +79,8 @@ void parsingFromBlobStore() {

var interviewSet = InterviewUtils
.interviewSetFromBlobStrore(NamedPath.of("at-national-2026"), surveyBlobStore, correction, null)
.transform(new NutriDbConverters.ToNutriDbTransfomer());
//.transform(new NutriDbConverters.ToNutriDbTransfomer())
;

var todoReporter = new TodoReportUtils.TodoReporter(systemId, nutMapping, interviewSet);
todoReporter.report(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,14 +65,11 @@ public void report(
}
});

var sb = new StringBuilder();

//gd:N176,gd:F2.04,gd:F3.98,gd:F4.01,gd:F5.27,gd:F9.06,gd:F12.00
unmapped.forEach(key->{
sb.append(key.shortFormat(",", ",")).append("\n");
});
var qmap = QualifiedMap.todo(unmapped);

DataSource.ofStringUtf8(sb.toString())

DataSource.ofStringUtf8(qmap.toYaml())
.pipe(dataSink);
}

Expand Down

0 comments on commit 830eea1

Please sign in to comment.