CLI report CSVs: named 'SId [id].csv', and one empty report stops the rest
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- Half a day
- Newbie friendliness
- 66/100
Research direction
Start in vcell-cli/src/main/java/org/vcell/cli/run/RunUtils.java, in generateReportsAsCSV around lines 203-220. Replace the getId() call used for the file name with getIdAsString(), and change the early return reportsHash; on an empty report to continue. The time-id heuristic at line 203 is a design question, so you can leave it alone. Done when the CSVs are named without the SId wrapper and a document with an empty report still writes the reports after it.
Written by the indexing model from the issue text.
Description
Summary
Two bugs in how the CLI writes per-report CSVs (RunUtils.generateReportsAsCSV), plus one heuristic worth revisiting.
1. Files are named SId [<report id>].csv. RunUtils.java:220 builds the name as sedmlReport.getId() + ".csv". getId() now returns a jlibsedml SId, whose toString() is "SId [" + id + "]". So BioModel1's report lands in BioModel1.sedml/SId [report_Simulation0].csv instead of report_Simulation0.csv. Those names also end up inside reports.zip. Fix: sedmlReport.getIdAsString().
2. One empty report stops CSVs for every report after it. When a report produces no rows, the method hits return reportsHash; (line 218) instead of continue. That skips all the remaining reports in the document.
3. Heuristic: time is recognised by a time_ substring in the data set id (line 203). Only such data sets are written once rather than once per job. A data set that is time under any other id gets repeated per job, and a non-time data set whose id happens to contain time_ loses all but its first job.
The new data system on the UnifiedDataModel branch writes the correct file name; its golden comparison maps the legacy name. It doesn't have bug 2. It keeps the time_ heuristic for now, so contents can be compared byte for byte.
- Dominant language
- Java
- Stars
- 140
- Forks
- 35
- Avg merge
- 17h 39m
- Merged PRs (30d)
- 19
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from virtualcell/vcell
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
virtualcell/vcell#2193 · 1 comment ·
Maintainers usually reply within 1 day
-
Accessibility Requirement Java-based User Interface
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
virtualcell/vcell#2138 ·
Maintainers usually reply within 1 day
-
Accessibility Requirement Java-based
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
virtualcell/vcell#2137 ·
Maintainers usually reply within 1 day
-
Accessibility Requirement User Interface
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
virtualcell/vcell#2135 ·
Maintainers usually reply within 1 day
-
Accessibility Requirement Java-based User Interface
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
virtualcell/vcell#2134 ·
Maintainers usually reply within 1 day
All issues in virtualcell/vcell
Similar issues
-
Type: Bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
MCP add-on: JSON responses with non-ASCII characters are truncated (wrong Content-Length)Possibly taken @dhanushbs10 claimed this today. Openadd-on bug in:mcp
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Map.Coordinate does not implement proper equalsPossibly taken A pull request linked to this issue is open or already merged. Openvaadin-map
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
vaadin/flow-components#10586 ·
Maintainers usually reply within 1 day
-
WeReadInstaller writes the launcher database on the main thread at handover (Activity pause timeout)Openbug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
wpilibsuite/SystemcoreTesting#446 ·
Maintainers usually reply within 1 day