Skip to content

Commit bd932e9

Browse files
authored
Merge pull request #2 from IronHeart7334/master
Release 2.5
2 parents 0cae47d + 7f23220 commit bd932e9

File tree

75 files changed

+2417
-1251
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+2417
-1251
lines changed

.gitignore

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
# Ignored directories
12
.gradle/
23
.nb-gradle/
4+
5+
# https://stackoverflow.com/questions/5533050/gitignore-exclude-folder-but-include-specific-subfolder
6+
/build/*
7+
!/build/libs/
8+
9+
# Ignored files
310
.nb-gradle-properties
4-
/build/classes/*
5-
/build/tmp/*
6-
/build/docs/*
7-
/build/distributions/*
8-
!/build/libs/*
911
gradle.properties

README.md

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# AutoCAD Drawing Checker
2-
A simple, extendable Java program used to compare Excel exports from AutoCAD.
2+
A simple, extendable Java program used to compare Excel and CSV files
33

44
## Project Summary
55
Instructors and teachers in college classes are expected to teach their students by giving lectures and providing learning resources.
@@ -10,6 +10,11 @@ Fortunately, computers are very good at doing tedious processes with objective s
1010
This program is meant to compare data exports from AutoCAD to each other, grading them based upon how similar they both are.
1111
These AutoCAD exports are in either XLS or XLSX format, which is easily parse-able by the Apache POI Library.
1212

13+
This application also supports a wider variety of files, including:
14+
* any Excel file with headers in the first row
15+
* CSV data with or without headers
16+
* GPS survey data (see an example under src/main/resources/exports
17+
1318
## Required Software
1419
* Users need only ensure they have [Java](https://java.com/en/) installed on their computer to run the application.
1520
* Developers wishing to change this application for their own use will need [Gradle](https://gradle.org/) installed to build the application.
@@ -20,15 +25,19 @@ This file is a self-contained application, so you can move it wherever you want
2025
it doesn't rely on the other project files to run. Simply double-click the JAR file to run it.
2126

2227
### Steps
23-
* Step 1: Choosing instructor and student files. The first page of the application has you choose at least 2 files:
28+
* Step 1: choose the file format. This tells the program the format of the data you will provide, and determines which criteria it can grade.
29+
* Step 2: Choosing instructor and student files. You will choose at least 2 files:
2430
the instructor file, and 1 or more student files. The instructor file is what the student files will be graded on:
2531
The more similar their file is to the instructor file, the higher their grade will be. When selecting student files, you have several options:
26-
* Choose 1 or more Excel files
27-
* Choose 1 or more folders. Note that the program locates all Excel files under this folder, so it's OK if it has other files in there, the program will just ignore them.
32+
* Choose 1 or more Excel or CSV files
33+
* Choose 1 or more folders. Note that the program locates all relevant files under this folder, so it's OK if it has other files in there, the program will just ignore them.
2834
* A combination of the above.
2935
Also of interest: you can drag and drop files into the two selectors instead of clicking the button.
30-
* Step 2: Choosing Grading Criteria. You can choose what the program grades students on by toggling these check boxes on or off. Regardless of what you select, the program will still grade every column in the instructor file.
31-
* Step 3: Running the Autograder. (Don't forget to click 'Run'!) Once the program is done grading, it will ask you where you want to save the grading report. Simply choose a folder, and the program will automatically name the file for you.
36+
* Step 3: Choosing Grading Criteria. You can choose what the program grades students on by toggling these check boxes on or off.
37+
* Step 4: Running the Autograder. The program will automatically run the grader when you get to the last page.
38+
Once the program is done grading, it will ask you where you want to save the grading report.
39+
Simply choose a folder, and the program will automatically name the file for you.
40+
If you forget to save the file, just click "Run" to rerun the autograder.
3241

3342
### Troubleshooting
3443
If anything goes wrong, and you are unsure what to do about it, you'll want to click Log -> Save Log in the program menu bar along the top.
@@ -37,13 +46,14 @@ You can contact Matt if you need help, and you provide him with the Log file you
3746
## Matt's To Do List
3847
* see AutoCADElementMatcher
3948
* Should we match rows for each comparison, or for the export as a whole? (wait on this)
40-
* Given double X and double Y, don't do "X == Y", instead do "Math.abs(X - Y) < threshold"
4149
* Look into Federal Section 508
4250
* https://www.epa.gov/accessibility/what-section-508
4351
* https://www.section508.gov/
4452
* https://www.section508.gov/create
4553
* https://www.access-board.gov/guidelines-and-standards/communications-and-it/about-the-ict-refresh/final-rule/text-of-the-standards-and-guidelines
46-
54+
* maybe just add a check for AbstractGradingCriteria.canGradeDataType(...)
4755

4856
## Helpful Links
57+
* [Apache CLI](https://commons.apache.org/proper/commons-cli/javadocs/api-release/index.html)
58+
* [CSV Library](https://javadoc.io/doc/org.apache.commons/commons-csv/latest/index.html)
4959
* [Excel Library](https://poi.apache.org/apidocs/4.1/)

build.gradle

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
1-
apply plugin: 'java'
2-
apply plugin: 'application'
1+
plugins { // Double quotes evaluate some expressions a-la backticks in JS. Sounds like I should use single quotes by default
2+
id 'java'
3+
id 'application'
4+
}
5+
6+
/*
7+
* Needs this specific name to work with the application
8+
* plugin. Change this property to set the main class for
9+
* running and Jar-ing
10+
*/
11+
mainClassName = 'autocadDrawingChecker.start.Main'
12+
version = '2.5'
313

414
sourceCompatibility = '1.8'
515
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
@@ -12,16 +22,16 @@ sourceCompatibility = '1.8'
1222
// prefer. In this case NetBeans will not add these tasks but you may rely on
1323
// your own implementation.
1424
if (!hasProperty('mainClass')) {
15-
ext.mainClass = 'autocadDrawingChecker.start.Main'
25+
ext.mainClass = mainClassName
1626
}
1727

18-
mainClassName = 'autocadDrawingChecker.start.Main' // need this for the application plugin
19-
2028
jar {
2129
//need to manually set main class, otherwise, it just compiles the JAR as a library
2230
manifest {
2331
attributes(
24-
'Main-Class': 'autocadDrawingChecker.start.Main'
32+
'Main-Class': mainClassName,
33+
'Implementation-Title': project.name,
34+
'Implementation-Version': project.version
2535
)
2636
}
2737

@@ -39,6 +49,10 @@ jar {
3949
exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA'
4050
}
4151

52+
tasks.withType(JavaCompile) {
53+
options.compilerArgs << '-Xlint:unchecked'
54+
}
55+
4256
repositories {
4357
mavenCentral()
4458
// You may define additional repositories, or even remove "mavenCentral()".
@@ -52,6 +66,11 @@ dependencies {
5266
// http://www.gradle.org/docs/current/userguide/dependency_management.html#sec:how_to_declare_your_dependencies
5367
testCompile group: 'junit', name: 'junit', version: '4.10'
5468

69+
compile group: 'commons-cli', name: 'commons-cli', version: '1.4'
70+
71+
// https://mvnrepository.com/artifact/org.apache.commons/commons-csv
72+
compile group: 'org.apache.commons', name: 'commons-csv', version: '1.8'
73+
5574
// https://mvnrepository.com/artifact/org.apache.poi/poi
5675
compile group: 'org.apache.poi', name: 'poi', version: '4.1.2'
5776

Binary file not shown.

build/scripts/AutoCADDrawingChecker

Lines changed: 0 additions & 188 deletions
This file was deleted.

0 commit comments

Comments
 (0)