• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pkiraly / metadata-qa-marc / #1527

22 Aug 2025 02:21PM UTC coverage: 90.345%. Remained the same
#1527

push

pkiraly
Improve timeline handling

5191 of 6416 new or added lines in 219 files covered. (80.91%)

886 existing lines in 78 files now uncovered.

36717 of 40641 relevant lines covered (90.34%)

0.9 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

89.74
/src/main/java/de/gwdg/metadataqa/marc/cli/CliParameterDefinitionsExporter.java
1
package de.gwdg.metadataqa.marc.cli;
2

3
import de.gwdg.metadataqa.marc.cli.parameters.ClassificationParameters;
4
import de.gwdg.metadataqa.marc.cli.parameters.CommonParameters;
5
import de.gwdg.metadataqa.marc.cli.parameters.CompletenessParameters;
6
import de.gwdg.metadataqa.marc.cli.parameters.FormatterParameters;
7
import de.gwdg.metadataqa.marc.cli.parameters.MarcToSolrParameters;
8
import de.gwdg.metadataqa.marc.cli.parameters.NetworkParameters;
9
import de.gwdg.metadataqa.marc.cli.parameters.SerialScoreParameters;
10
import de.gwdg.metadataqa.marc.cli.parameters.Shacl4bibParameters;
11
import de.gwdg.metadataqa.marc.cli.parameters.ShelfReadyCompletenessParameters;
12
import de.gwdg.metadataqa.marc.cli.parameters.ThompsonTraillCompletenessParameters;
13
import de.gwdg.metadataqa.marc.cli.parameters.TranslationParameters;
14
import de.gwdg.metadataqa.marc.cli.parameters.ValidatorParameters;
15
import net.minidev.json.JSONValue;
16
import org.apache.commons.cli.Option;
17

18
import java.io.IOException;
19
import java.util.LinkedHashMap;
20
import java.util.LinkedList;
21
import java.util.List;
22
import java.util.Map;
23
import java.util.logging.Logger;
24

25
/**
26
 * Extracts the CLI parameter definitions of each component and saves them to a JSON file.
27
 */
28
public class CliParameterDefinitionsExporter {
29
  private static final Logger logger = Logger.getLogger(CliParameterDefinitionsExporter.class.getCanonicalName());
1✔
30

31
  private Map<String, List> options;
32
  private CommonParameters commonParameters;
33

34
  public CliParameterDefinitionsExporter() {
1✔
35
    commonParameters = new CommonParameters();
1✔
36
    options = new LinkedHashMap<>();
1✔
37
  }
1✔
38

39
  public String exportAll() {
40

41
    options.put("common", export(commonParameters));
1✔
42
    options.put("completeness", export(new CompletenessParameters()));
1✔
43
    options.put("validate", export(new ValidatorParameters()));
1✔
44
    options.put("index", export(new MarcToSolrParameters()));
1✔
45
    options.put("classifications", export(new ClassificationParameters()));
1✔
46
    options.put("authorities", export(new ValidatorParameters())); // TODO
1✔
47
    options.put("tt-completeness", export(new ThompsonTraillCompletenessParameters()));
1✔
48
    options.put("shelf-ready-completeness", export(new ShelfReadyCompletenessParameters()));
1✔
49
    options.put("bl-classification", export(new CommonParameters())); // TODO
1✔
50
    options.put("serial-score", export(new SerialScoreParameters()));
1✔
51
    options.put("formatter", export(new FormatterParameters())); // TODO at common-script
1✔
52
    options.put("functional-analysis", export(new CompletenessParameters())); // TODO
1✔
53
    options.put("network-analysis", export(new NetworkParameters()));
1✔
54
    options.put("marc-history", export(new CommonParameters()));
1✔
55
    options.put("record-patterns", export(new CompletenessParameters())); // TODO
1✔
56
    // options.put("export-schema", read(new MappingParameters()));
57
    options.put("shacl4bib", export(new Shacl4bibParameters()));
1✔
58
    options.put("translations", export(new TranslationParameters()));
1✔
59

60
    return mapToJson();
1✔
61
  }
62

63
  private String mapToJson() {
64
    return JSONValue.toJSONString(options);
1✔
65
  }
66

67
  private <T extends CommonParameters> List<Map> export(T parameters) {
68
    List<Map> list = new LinkedList<>();
1✔
69
    for (Option option : parameters.getOptions().getOptions()) {
1✔
70
      if (parameters.equals(commonParameters) || !commonParameters.getOptions().getOptions().contains(option)) {
1✔
71
        Map<String, Object> map = new LinkedHashMap<>();
1✔
72
        map.put("short", option.getOpt());
1✔
73
        map.put("long", option.getLongOpt());
1✔
74
        map.put("hasArg", option.hasArg());
1✔
75
        map.put("description", option.getDescription());
1✔
76
        list.add(map);
1✔
77
      }
78
    }
1✔
79
    return list;
1✔
80
  }
81

82
  public static void main(String[] args) throws IOException {
NEW
83
    CliParameterDefinitionsExporter cliParameterDefinitionsExporter = new CliParameterDefinitionsExporter();
×
NEW
84
    String json = cliParameterDefinitionsExporter.exportAll();
×
NEW
85
    System.out.println(json);
×
NEW
86
  }
×
87
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc