Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.1.0 #454

Merged
merged 26 commits into from
May 24, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
d702791
fix bug in dropUndeclaredWriteIns
tarheel Sep 10, 2019
4f1a605
don't let UWI win
tarheel Sep 10, 2019
08e7929
Merge pull request #395 from BrightSpots/uwi-bug
tarheel Sep 12, 2019
3c474cf
additional CastVoteRecord fields to support #407 #404
moldover Feb 25, 2020
c06981b
typo
moldover Feb 26, 2020
6fddc1b
use Integer for contestId
moldover Feb 26, 2020
c2e7293
update Id types
moldover Feb 27, 2020
4d988a5
Updates to latest version: JDK, JavaFX, Checkstyle google_checks.xml,…
HEdingfield Mar 1, 2020
f3e5eba
read Dominion manifest data and CVR json: #406 #407 (#411)
moldover Mar 1, 2020
06aa918
Copyright update and code reformat (#416)
HEdingfield Mar 1, 2020
daf23a2
export generic csv functionality #404 (#417)
moldover Mar 5, 2020
413038d
Adds CLI option to convert Dominion CVR to generic .csv (progress on …
HEdingfield Mar 8, 2020
f9914ca
Increments version from "1.0.1" to "1.0.1_20200320_internal" (#423)
HEdingfield Mar 21, 2020
1f485ed
Adds multiSeatBottomsUpPercentageThreshold (#428)
HEdingfield Mar 24, 2020
bcc71c1
Tests for Dominion CSV conversion routine (#429)
HEdingfield Mar 24, 2020
1efb7f7
New GUI menu and conversion options (#430)
HEdingfield Mar 25, 2020
3ac6674
Adds AUTOMATED_TEST_VERSION code so tests can remain stable as app ve…
HEdingfield Mar 25, 2020
1749a09
Fixes Dominion conversion output filenames and path (#436)
HEdingfield Mar 25, 2020
caffc4c
read and write precinct portion and precinct (#433)
moldover Mar 25, 2020
f364f1f
UWI test (#440)
tarheel Mar 26, 2020
ac791b4
make batch elimination work properly with singleSeatContinueUntilTwoC…
tarheel Mar 26, 2020
f325473
Increments version from "1.0.1_20200320_internal" to "1.0.1_20200325_…
HEdingfield Mar 26, 2020
c13db7b
Adds Dominion Alaska CVR for sample_input in release (#444)
HEdingfield Mar 27, 2020
cccf61b
Increments version from "1.0.1_20200325_internal" to "1.0.1"
moldover Mar 28, 2020
e2bcb36
Fixes menu separator. (#447)
HEdingfield Mar 30, 2020
90ab8d3
Dominion cvr bug fixes #448 (#449)
moldover Apr 13, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ tmp

# Generated files
.idea/**/contentModel.xml
.idea/**/Project_Default.xml

# Sensitive or high-churn files
.idea/**/dataSources/
Expand Down
20 changes: 20 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 13 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,11 @@ In either case, please reference the [config file documentation](src/main/resour

The Tabulator includes several example contest configuration files and associated CVR files.

1. Click "Load..." at the top of the window and navigate to the `sample_input` folder (if you used Method 2 to install the Tabulator, navigate to the `test_data` folder).
1. Click "File > Load..." in the menu and navigate to the `sample_input` folder (if you used Method 2 to install the Tabulator, navigate to the `test_data` folder).
2. Open one of the folders listed here and select the config file (it will have the `_config.json` suffix).
3. Click on the configuration tabs (Output, CVR Files, Candidates, Rules) to see how this contest is configured.
4. Click "Validate" to check if this configuration is valid. You will see the results in the console at the bottom of the main window.
5. Click "Tabulate" to tabulate the election. You will see the results in the console, including the location of the output files.
3. Click on the configuration tabs (Output, CVR Files, Candidates, Required Rules, Optional Rules) to see how this contest is configured.
4. Click "Tabulation > Validate" in the menu to check if this configuration is valid. You will see the results in the console at the bottom of the main window.
5. Click "Tabulation > Tabulate" in the menu to tabulate the election. You will see the results in the console, including the location of the output files.

## Command-Line Interface

Expand All @@ -85,14 +85,22 @@ Or, if you're compiling and running using Gradle:

`$ gradlew run --args="-cli path/to/config"`

Finally, you can activate a special `convert-to-cdf` function via the command line to export the CVR as a NIST common data format (CDF) .json instead of tabulating the results, e.g.:
You can also activate a special `convert-to-cdf` function via the command line to export the CVR as a NIST common data format (CDF) .json instead of tabulating the results, e.g.:

`$ rcv -cli path/to/config convert-to-cdf`

This option is available in the GUI by selecting the "Conversion > Convert CVRs in Current Config to CDF" menu option.

Or, again, if you're compiling and running using Gradle:

`$ gradlew run --args="-cli path/to/config convert-to-cdf"`

Finally, there's a `convert-dominion-to-generic-csv` option as well for converting Dominion JSON CVRs into a standardized, generic .csv format:

`$ rcv -cli path/to/folder/containing/jsons convert-dominion-to-generic-csv`

This option is available in the GUI by selecting the "Conversion > Convert Dominion to Generic Format..." menu option.

## Viewing Tabulator Output

Tabulator output file names automatically include the current date and time, e.g. `2019-06-25_17-19-28_summary.csv`. This keeps them separate if you tabulate the same contest multiple times.
Expand Down
19 changes: 10 additions & 9 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@ plugins {
id "checkstyle"
id "idea"
id "java"
id "org.openjfx.javafxplugin" version "0.0.7"
id "org.beryx.jlink" version "2.10.4"
id "org.openjfx.javafxplugin" version "0.0.8"
id "org.beryx.jlink" version "2.17.2"
}

repositories {
mavenCentral()
}

dependencies {
compile "org.apache.commons:commons-csv:1.6"
compile "org.apache.poi:poi-ooxml:4.1.0"
compile "com.fasterxml.jackson.core:jackson-core:2.9.9"
compile "com.fasterxml.jackson.core:jackson-annotations:2.9.9"
compile "com.fasterxml.jackson.core:jackson-databind:2.9.9"
compile "org.apache.commons:commons-csv:1.8"
compile "org.apache.poi:poi-ooxml:4.1.2"
compile "com.fasterxml.jackson.core:jackson-core:2.10.2"
compile "com.fasterxml.jackson.core:jackson-annotations:2.10.2"
compile "com.fasterxml.jackson.core:jackson-databind:2.10.2"
testCompile "org.junit.jupiter:junit-jupiter-api:5.5.0-M1"
testRuntime "org.junit.jupiter:junit-jupiter-engine:5.5.0-M1"
}
Expand All @@ -34,7 +34,7 @@ application {

// ### Checkstyle plugin settings
checkstyle {
toolVersion = "8.23"
toolVersion = "8.30"
// Keep the below file updated along with subsequent versions of Checkstyle (make sure to choose
// the tag matching the toolVersion above):
// https://github.com/checkstyle/checkstyle/blob/checkstyle-8.23/src/main/resources/google_checks.xml
Expand Down Expand Up @@ -64,7 +64,7 @@ test {

// ### JavaFX plugin settings
javafx {
version = "12.0.1"
version = "13.0.2"
modules = ["javafx.controls", "javafx.fxml"]
}

Expand Down Expand Up @@ -99,6 +99,7 @@ def sampleInputToCopy = copySpec {
include "sample_interactive_tiebreak/sample_interactive_tiebreak_cvr.xlsx"
include "precinct_example/precinct_example_config.json"
include "precinct_example/precinct_example_cvr.xlsx"
include "dominion_cvr_conversion_alaska/*.json"
exclude "output"
exclude "**/*expected*"
}
Expand Down
Loading