Package edu.odu.cs.zeil.codegrader
Class Assignment
- java.lang.Object
-
- edu.odu.cs.zeil.codegrader.Assignment
-
- All Implemented Interfaces:
java.lang.Cloneable
public class Assignment extends java.lang.Object implements java.lang.CloneableAn Assignment indicates the various files and directories that will be employed during grading.
-
-
Constructor Summary
Constructors Constructor Description Assignment()Create an empty assignment.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Assignmentclone()Copy an assignment.java.nio.file.PathgetGoldDirectory()The gold directory is the location of an instructor's solution to the assignment.java.nio.file.PathgetGoldStage()Get the staging directory for the gold version.booleangetHasInstructorCode()booleangetInPlace()Should this assignment be graded "in place", rather than using a separate stage and recording area?java.nio.file.PathgetInstructorCodeDirectory()The instructor code directory is the location of an instructor's code intended to be included along with the student-supplied code as part of the total build.java.nio.file.PathgetManual()Instructors can assign manually assign grades to be included in the report.java.nio.file.PathgetRecordingDirectory()The recording directory is the location where the student code will be compiled and tested.java.lang.StringgetSelectedStudent()java.nio.file.PathgetStagingDirectory()The staging directory is the location where the student code will be compiled and tested.java.nio.file.PathgetSubmissionsDirectory()The submissions directory is the location of the collected submissions from an entire class.java.nio.file.PathgetSubmitterStage(Submission submission)Get the staging directory for the submitted version.java.nio.file.PathgetTestSuiteDirectory()The test suite directory is the location of the test suite that will be used to evaluate the submissions.AssignmentsetGoldDirectory(java.nio.file.Path path)Set the path to the gold directory.AssignmentsetHasInstructorCode(boolean hasCode)Indicate whether instructor is supplying source code.voidsetInPlace(boolean gradeInPlace)Mark this assignment as being graded "in place", rather than using a separate stage and recording area.AssignmentsetInstructorCodeDirectory(java.nio.file.Path path)Set the path to the instructor code directory.AssignmentsetManual(java.nio.file.Path path)Set the path to the manually assigned grades.AssignmentsetRecordingDirectory(java.nio.file.Path path)Set the path to the recording directory.voidsetSelectedStudent(java.lang.String selected)AssignmentsetStagingDirectory(java.nio.file.Path path)Set the path to the staging directory.AssignmentsetSubmissionsDirectory(java.nio.file.Path path)Set the path to the submissions directory.AssignmentsetTestSuiteDirectory(java.nio.file.Path path)Set the path to the test suite directory.
-
-
-
Method Detail
-
getInstructorCodeDirectory
public java.nio.file.Path getInstructorCodeDirectory()
The instructor code directory is the location of an instructor's code intended to be included along with the student-supplied code as part of the total build. When a gold version (instructor's solution) is available, the instructor code directory will usually be the instructor code directory as well.- Returns:
- the path to the directory containing instructor-supplied code or null if no instructor's code is supplied.
-
getHasInstructorCode
public boolean getHasInstructorCode()
- Returns:
- true if there is instructor code to be copied along with the code from the submitter.
-
setHasInstructorCode
public Assignment setHasInstructorCode(boolean hasCode)
Indicate whether instructor is supplying source code.- Parameters:
hasCode- true if there is instructor code to be copied along with the code from the submitter.- Returns:
- the assignment
-
setInstructorCodeDirectory
public Assignment setInstructorCodeDirectory(java.nio.file.Path path)
Set the path to the instructor code directory.- Parameters:
path- the path to use- Returns:
- the modified assignment
-
getGoldDirectory
public java.nio.file.Path getGoldDirectory()
The gold directory is the location of an instructor's solution to the assignment. If available (non-null), the instructor's solution is run prior to each test of the student's submission in order to collect expected output and timing data.- Returns:
- the path to the gold directory or null if no instructor's solution is being used.
-
setGoldDirectory
public Assignment setGoldDirectory(java.nio.file.Path path)
Set the path to the gold directory.- Parameters:
path- the path to use- Returns:
- the modified assignment
-
getSubmissionsDirectory
public java.nio.file.Path getSubmissionsDirectory()
The submissions directory is the location of the collected submissions from an entire class. Each subdirectory of this one represents one submission and should be named with the identifier of the student who submitted it.- Returns:
- the path to the submissions directory.
-
setSubmissionsDirectory
public Assignment setSubmissionsDirectory(java.nio.file.Path path)
Set the path to the submissions directory.- Parameters:
path- the path to use- Returns:
- the modified assignment
-
getTestSuiteDirectory
public java.nio.file.Path getTestSuiteDirectory()
The test suite directory is the location of the test suite that will be used to evaluate the submissions. Each subdirectory of this one represents one test case and should be named with the identifier of the test case.- Returns:
- the path to the test suite directory.
-
setTestSuiteDirectory
public Assignment setTestSuiteDirectory(java.nio.file.Path path)
Set the path to the test suite directory.- Parameters:
path- the path to use- Returns:
- the modified assignment
-
getStagingDirectory
public java.nio.file.Path getStagingDirectory()
The staging directory is the location where the student code will be compiled and tested.- Returns:
- the path to the staging directory.
-
setStagingDirectory
public Assignment setStagingDirectory(java.nio.file.Path path)
Set the path to the staging directory.- Parameters:
path- the path to use- Returns:
- the modified assignment
-
getRecordingDirectory
public java.nio.file.Path getRecordingDirectory()
The recording directory is the location where the student code will be compiled and tested.- Returns:
- the path to the recording directory.
-
setRecordingDirectory
public Assignment setRecordingDirectory(java.nio.file.Path path)
Set the path to the recording directory.- Parameters:
path- the path to use- Returns:
- the modified assignment
-
getManual
public java.nio.file.Path getManual()
Instructors can assign manually assign grades to be included in the report. These appear in ...TBD- Returns:
- the path to the manually assigned grades.
-
setManual
public Assignment setManual(java.nio.file.Path path)
Set the path to the manually assigned grades.- Parameters:
path- the path to use- Returns:
- the modified assignment
-
clone
public Assignment clone()
Copy an assignment.- Overrides:
clonein classjava.lang.Object
-
getSubmitterStage
public java.nio.file.Path getSubmitterStage(Submission submission)
Get the staging directory for the submitted version.- Parameters:
submission- Identifies the submitter- Returns:
- a subdirectory within the staging area.
-
getGoldStage
public java.nio.file.Path getGoldStage()
Get the staging directory for the gold version.- Returns:
- a subdirectory within the staging area or null if no gold version is supplied.
-
setInPlace
public void setInPlace(boolean gradeInPlace)
Mark this assignment as being graded "in place", rather than using a separate stage and recording area. Student code will be compiled and run in the submission directory and grade info will be recorded in the test suite directory.- Parameters:
gradeInPlace- true if this should be graded in place. False (default) if the original submission directory and test suite directory should left unchanged.
-
getInPlace
public boolean getInPlace()
Should this assignment be graded "in place", rather than using a separate stage and recording area?- Returns:
- true iff in-place grading is desired
-
getSelectedStudent
public java.lang.String getSelectedStudent()
-
setSelectedStudent
public void setSelectedStudent(java.lang.String selected)
-
-