Class GradebookServiceHibernateImpl
- java.lang.Object
-
- org.springframework.dao.support.DaoSupport
-
- org.springframework.orm.hibernate5.support.HibernateDaoSupport
-
- org.sakaiproject.component.gradebook.BaseHibernateManager
-
- org.sakaiproject.component.gradebook.GradebookServiceHibernateImpl
-
- All Implemented Interfaces:
EntityProducer,GradebookService,org.springframework.beans.factory.InitializingBean
public class GradebookServiceHibernateImpl extends BaseHibernateManager implements GradebookService
A Hibernate implementation of GradebookService.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.sakaiproject.service.gradebook.shared.GradebookService
GradebookService.PointsPossibleValidation
-
-
Field Summary
Fields Modifier and Type Field Description protected ServerConfigurationServiceserverConfigServiceprotected SiteServicesiteService-
Fields inherited from class org.sakaiproject.component.gradebook.BaseHibernateManager
authn, eventTrackingService, externalAssessmentService, propertiesMap, sectionAwareness, serverConfigurationService
-
Fields inherited from interface org.sakaiproject.service.gradebook.shared.GradebookService
CATEGORY_TYPE_NO_CATEGORY, CATEGORY_TYPE_ONLY_CATEGORY, CATEGORY_TYPE_WEIGHTED_CATEGORY, enableLetterGradeString, GRADE_TYPE_LETTER, GRADE_TYPE_PERCENTAGE, GRADE_TYPE_POINTS, gradePermission, INVALID_CHARS_AT_START_OF_GB_ITEM_NAME, lettergradeComparator, MATH_CONTEXT, noPermission, REFERENCE_ROOT, SAKAI_GBASSIGNMENT, validLetterGrade, viewPermission
-
-
Constructor Summary
Constructors Constructor Description GradebookServiceHibernateImpl()
-
Method Summary
-
Methods inherited from class org.sakaiproject.component.gradebook.BaseHibernateManager
addPermission, assignmentNameExists, calculateEquivalentPercent, calculateEquivalentPointValueForPercent, convertPointsToLetterGrade, convertPointsToPercentage, createAssignment, createAssignmentForCategory, createCategory, createCategory, createDefaultLetterGradePercentMapping, createOrUpdateDefaultLetterGradePercentMapping, createUngradedAssignment, createUngradedAssignmentForCategory, deletePermission, filterGradeRecordsByStudents, finalizeNullGradeRecords, getAllStudentUids, getAssignment, getAssignmentById, getAssignmentGradeRecord, getAssignments, getAssignmentScoreComment, getAssignmentsForCategory, getAssignmentWithoutStats, getAssignmentWithoutStats, getAuthn, getCategories, getCategoriesWithAssignments, getCategory, getComments, getCountedStudentGradeRecords, getCourseGradeOverrides, getCourseGradeRecord, getDefaultLetterGradePercentMapping, getEventTrackingService, getGradebook, getGradebookExternalAssessmentService, getGradebookUid, getIsAssignmentExcused, getLetterGradePercentMapping, getPermissionsForGB, getPermissionsForGBForCategoryIds, getPermissionsForUser, getPermissionsForUserAnyCategory, getPermissionsForUserAnyGroup, getPermissionsForUserAnyGroupAnyCategory, getPermissionsForUserAnyGroupForCategory, getPermissionsForUserForCategory, getPermissionsForUserForGoupsAnyCategory, getPermissionsForUserForGroup, getPropertyValue, getSectionAwareness, getServerConfigurationService, getUserUid, getVisibleExternalAssignments, isAssignmentDefined, isExplicitlyEnteredCourseGradeRecords, isGradebookDefined, postEvent, removeCategory, saveNewAssignment, saveOrUpdateLetterGradePercentMapping, setAssignmentScoreComment, setAuthn, setEventTrackingService, setGradebookExternalAssessmentService, setPropertyValue, setSectionAwareness, setServerConfigurationService, studentCanView, updateAssignment, updateCategory, updateGradebook, updateGradeMapping, updatePermission, updatePermission, validateLetterGradeMapping
-
Methods inherited from class org.springframework.orm.hibernate5.support.HibernateDaoSupport
checkDaoConfig, createHibernateTemplate, currentSession, getHibernateTemplate, getSessionFactory, setHibernateTemplate, setSessionFactory
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.sakaiproject.entity.api.EntityProducer
archive, getEntity, getEntityAuthzGroups, getEntityDescription, getEntityResourceProperties, getEntityUrl, getHttpAccess, getLabel, merge, willArchiveMerge
-
Methods inherited from interface org.sakaiproject.service.gradebook.shared.GradebookService
getAssignmentScoreComment, getCategories, getGradebook, getIsAssignmentExcused, isGradebookDefined, removeCategory, setAssignmentScoreComment
-
-
-
-
Field Detail
-
siteService
protected SiteService siteService
-
serverConfigService
protected ServerConfigurationService serverConfigService
-
-
Method Detail
-
init
public void init()
-
isAssignmentDefined
public boolean isAssignmentDefined(String gradebookUid, String assignmentName)
- Specified by:
isAssignmentDefinedin interfaceGradebookService
-
getEntityUrl
public Optional<String> getEntityUrl(Reference ref, Entity.UrlType urlType)
- Specified by:
getEntityUrlin interfaceEntityProducer
-
parseEntityReference
public boolean parseEntityReference(String stringReference, Reference reference)
- Specified by:
parseEntityReferencein interfaceEntityProducer
-
isUserAbleToGradeItemForStudent
public boolean isUserAbleToGradeItemForStudent(String gradebookUid, Long itemId, String studentUid)
- Specified by:
isUserAbleToGradeItemForStudentin interfaceGradebookService
-
isUserAbleToViewItemForStudent
public boolean isUserAbleToViewItemForStudent(String gradebookUid, Long itemId, String studentUid)
- Specified by:
isUserAbleToViewItemForStudentin interfaceGradebookService
-
getGradeViewFunctionForUserForStudentForItem
public String getGradeViewFunctionForUserForStudentForItem(String gradebookUid, Long itemId, String studentUid)
- Specified by:
getGradeViewFunctionForUserForStudentForItemin interfaceGradebookService
-
getAssignments
public List<Assignment> getAssignments(String gradebookUid) throws GradebookNotFoundException
- Specified by:
getAssignmentsin interfaceGradebookService- Throws:
GradebookNotFoundException
-
getAssignments
public List<Assignment> getAssignments(String gradebookUid, SortType sortBy) throws GradebookNotFoundException
- Specified by:
getAssignmentsin interfaceGradebookService- Throws:
GradebookNotFoundException
-
getAssignment
public Assignment getAssignment(String gradebookUid, Long assignmentId) throws AssessmentNotFoundException
- Specified by:
getAssignmentin interfaceGradebookService- Throws:
AssessmentNotFoundException
-
getAssignmentByID
public Assignment getAssignmentByID(Long gradeableObjectID) throws AssessmentNotFoundException
Method to retrieve Assignment by ID.- Specified by:
getAssignmentByIDin interfaceGradebookService- Parameters:
gradeableObjectID-- Returns:
- Throws:
AssessmentNotFoundException
-
getAssignment
@Deprecated public Assignment getAssignment(String gradebookUid, String assignmentName) throws AssessmentNotFoundException
Deprecated.- Specified by:
getAssignmentin interfaceGradebookService- Throws:
AssessmentNotFoundException
-
getExternalAssignment
public Assignment getExternalAssignment(String gradebookUid, String externalId) throws GradebookNotFoundException
- Specified by:
getExternalAssignmentin interfaceGradebookService- Throws:
GradebookNotFoundException
-
getAssignmentByNameOrId
public Assignment getAssignmentByNameOrId(String gradebookUid, String assignmentName) throws AssessmentNotFoundException
- Specified by:
getAssignmentByNameOrIdin interfaceGradebookService- Throws:
AssessmentNotFoundException
-
getGradeDefinitionForStudentForItem
public GradeDefinition getGradeDefinitionForStudentForItem(String gradebookUid, Long assignmentId, String studentUid)
- Specified by:
getGradeDefinitionForStudentForItemin interfaceGradebookService
-
getGradebookInformation
public GradebookInformation getGradebookInformation(String gradebookUid)
- Specified by:
getGradebookInformationin interfaceGradebookService
-
transferGradebook
public Map<String,String> transferGradebook(GradebookInformation gradebookInformation, List<Assignment> assignments, String toGradebookUid, String fromContext)
- Specified by:
transferGradebookin interfaceGradebookService
-
removeAssignment
public void removeAssignment(Long assignmentId) throws StaleObjectModificationException
- Specified by:
removeAssignmentin interfaceGradebookService- Throws:
StaleObjectModificationException
-
addAssignment
public Long addAssignment(String gradebookUid, Assignment assignmentDefinition)
- Specified by:
addAssignmentin interfaceGradebookService
-
updateAssignment
public void updateAssignment(String gradebookUid, Long assignmentId, Assignment assignmentDefinition)
- Specified by:
updateAssignmentin interfaceGradebookService
-
getCourseGrade
public CourseGrade getCourseGrade(Long gradebookId)
- Overrides:
getCourseGradein classBaseHibernateManager
-
getPointsEarnedCourseGradeRecords
public List getPointsEarnedCourseGradeRecords(CourseGrade courseGrade, Collection studentUids)
-
getGradebook
public Gradebook getGradebook(Long id)
Internal method to get a gradebook based on its id.- Parameters:
id-- Returns:
- NOTE: When the UI changes, this is to be turned private again
-
checkStudentsNotSubmitted
public boolean checkStudentsNotSubmitted(String gradebookUid)
- Specified by:
checkStudentsNotSubmittedin interfaceGradebookService
-
getAllAssignmentGradeRecords
public List getAllAssignmentGradeRecords(Long gradebookId, Collection studentUids)
Get all assignment grade records for the given students- Parameters:
gradebookId-studentUids-- Returns:
- NOTE When the UI changes, this needs to be made private again
-
getAssignments
public List getAssignments(Long gradebookId, SortType sortBy, boolean ascending)
Get a list of assignments, sorted- Parameters:
gradebookId-sortBy-ascending-- Returns:
- NOTE: When the UI changes, this needs to go back to private
-
getViewableAssignmentsForCurrentUser
public List<Assignment> getViewableAssignmentsForCurrentUser(String gradebookUid) throws GradebookNotFoundException
- Specified by:
getViewableAssignmentsForCurrentUserin interfaceGradebookService- Throws:
GradebookNotFoundException
-
getViewableAssignmentsForCurrentUser
public List<Assignment> getViewableAssignmentsForCurrentUser(String gradebookUid, SortType sortBy) throws GradebookNotFoundException
- Specified by:
getViewableAssignmentsForCurrentUserin interfaceGradebookService- Throws:
GradebookNotFoundException
-
getViewableStudentsForItemForCurrentUser
public Map<String,String> getViewableStudentsForItemForCurrentUser(String gradebookUid, Long gradableObjectId)
- Specified by:
getViewableStudentsForItemForCurrentUserin interfaceGradebookService
-
getViewableStudentsForItemForUser
public Map<String,String> getViewableStudentsForItemForUser(String userUid, String gradebookUid, Long gradableObjectId)
- Specified by:
getViewableStudentsForItemForUserin interfaceGradebookService
-
isGradableObjectDefined
public boolean isGradableObjectDefined(Long gradableObjectId)
- Specified by:
isGradableObjectDefinedin interfaceGradebookService
-
getViewableSectionUuidToNameMap
public Map getViewableSectionUuidToNameMap(String gradebookUid)
- Specified by:
getViewableSectionUuidToNameMapin interfaceGradebookService
-
currentUserHasGradeAllPerm
public boolean currentUserHasGradeAllPerm(String gradebookUid)
- Specified by:
currentUserHasGradeAllPermin interfaceGradebookService
-
isUserAllowedToGradeAll
public boolean isUserAllowedToGradeAll(String gradebookUid, String userUid)
- Specified by:
isUserAllowedToGradeAllin interfaceGradebookService
-
currentUserHasGradingPerm
public boolean currentUserHasGradingPerm(String gradebookUid)
- Specified by:
currentUserHasGradingPermin interfaceGradebookService
-
isUserAllowedToGrade
public boolean isUserAllowedToGrade(String gradebookUid, String userUid)
- Specified by:
isUserAllowedToGradein interfaceGradebookService
-
currentUserHasEditPerm
public boolean currentUserHasEditPerm(String gradebookUid)
- Specified by:
currentUserHasEditPermin interfaceGradebookService
-
currentUserHasViewOwnGradesPerm
public boolean currentUserHasViewOwnGradesPerm(String gradebookUid)
- Specified by:
currentUserHasViewOwnGradesPermin interfaceGradebookService
-
currentUserHasViewStudentNumbersPerm
public boolean currentUserHasViewStudentNumbersPerm(String gradebookUid)
- Specified by:
currentUserHasViewStudentNumbersPermin interfaceGradebookService
-
getGradesForStudentsForItem
public List<GradeDefinition> getGradesForStudentsForItem(String gradebookUid, Long gradableObjectId, List<String> studentIds)
- Specified by:
getGradesForStudentsForItemin interfaceGradebookService
-
getGradesWithoutCommentsForStudentsForItems
public Map<Long,List<GradeDefinition>> getGradesWithoutCommentsForStudentsForItems(String gradebookUid, List<Long> gradableObjectIds, List<String> studentIds)
- Specified by:
getGradesWithoutCommentsForStudentsForItemsin interfaceGradebookService
-
isGradeValid
public boolean isGradeValid(String gradebookUuid, String grade)
- Specified by:
isGradeValidin interfaceGradebookService
-
isValidNumericGrade
public boolean isValidNumericGrade(String grade)
- Specified by:
isValidNumericGradein interfaceGradebookService
-
identifyStudentsWithInvalidGrades
public List<String> identifyStudentsWithInvalidGrades(String gradebookUid, Map<String,String> studentIdToGradeMap)
- Specified by:
identifyStudentsWithInvalidGradesin interfaceGradebookService
-
saveGradeAndCommentForStudent
public void saveGradeAndCommentForStudent(String gradebookUid, Long gradableObjectId, String studentUid, String grade, String comment)
- Specified by:
saveGradeAndCommentForStudentin interfaceGradebookService
-
saveGradeAndExcuseForStudent
public void saveGradeAndExcuseForStudent(String gradebookUid, Long gradableObjectId, String studentUid, String grade, boolean excuse)
- Specified by:
saveGradeAndExcuseForStudentin interfaceGradebookService
-
saveGradesAndComments
public void saveGradesAndComments(String gradebookUid, Long gradableObjectId, List<GradeDefinition> gradeDefList)
- Specified by:
saveGradesAndCommentsin interfaceGradebookService
-
getGradeEntryType
public int getGradeEntryType(String gradebookUid)
- Specified by:
getGradeEntryTypein interfaceGradebookService
-
getEnteredCourseGrade
public Map getEnteredCourseGrade(String gradebookUid)
- Specified by:
getEnteredCourseGradein interfaceGradebookService
-
getAssignmentScoreString
public String getAssignmentScoreString(String gradebookUid, Long assignmentId, String studentUid) throws GradebookNotFoundException, AssessmentNotFoundException
- Specified by:
getAssignmentScoreStringin interfaceGradebookService- Throws:
GradebookNotFoundExceptionAssessmentNotFoundException
-
getAssignmentScoreString
public String getAssignmentScoreString(String gradebookUid, String assignmentName, String studentUid) throws GradebookNotFoundException, AssessmentNotFoundException
- Specified by:
getAssignmentScoreStringin interfaceGradebookService- Throws:
GradebookNotFoundExceptionAssessmentNotFoundException
-
getAssignmentScoreStringByNameOrId
public String getAssignmentScoreStringByNameOrId(String gradebookUid, String assignmentName, String studentUid) throws GradebookNotFoundException, AssessmentNotFoundException
- Specified by:
getAssignmentScoreStringByNameOrIdin interfaceGradebookService- Throws:
GradebookNotFoundExceptionAssessmentNotFoundException
-
setAssignmentScoreString
public void setAssignmentScoreString(String gradebookUid, Long assignmentId, String studentUid, String score, String clientServiceDescription) throws GradebookNotFoundException, AssessmentNotFoundException
- Specified by:
setAssignmentScoreStringin interfaceGradebookService- Throws:
GradebookNotFoundExceptionAssessmentNotFoundException
-
setAssignmentScoreString
public void setAssignmentScoreString(String gradebookUid, String assignmentName, String studentUid, String score, String clientServiceDescription) throws GradebookNotFoundException, AssessmentNotFoundException
- Specified by:
setAssignmentScoreStringin interfaceGradebookService- Throws:
GradebookNotFoundExceptionAssessmentNotFoundException
-
finalizeGrades
public void finalizeGrades(String gradebookUid) throws GradebookNotFoundException
- Specified by:
finalizeGradesin interfaceGradebookService- Throws:
GradebookNotFoundException
-
getLowestPossibleGradeForGbItem
public String getLowestPossibleGradeForGbItem(String gradebookUid, Long gradebookItemId)
- Specified by:
getLowestPossibleGradeForGbItemin interfaceGradebookService
-
getCategoryDefinitions
public List<CategoryDefinition> getCategoryDefinitions(String gradebookUid)
- Specified by:
getCategoryDefinitionsin interfaceGradebookService
-
getGradeRecordMapForStudents
protected Map<String,List<AssignmentGradeRecord>> getGradeRecordMapForStudents(Long gradebookId, Collection<String> studentUids)
- Parameters:
gradebookId-studentUids-- Returns:
- a map of studentUid to a list of that student's AssignmentGradeRecords for the given studentUids list in the given gradebook. the grade records are all recs for assignments that are not removed and have a points possible > 0
-
getCountedAssignments
protected List<GradebookAssignment> getCountedAssignments(org.hibernate.Session session, Long gradebookId)
- Parameters:
session-gradebookId-- Returns:
- a list of Assignments that have not been removed, are "counted", graded, and have a points possible > 0
-
applyDropScores
public void applyDropScores(Collection<AssignmentGradeRecord> gradeRecords, int categoryType)
set the droppedFromGrade attribute of each of the n highest and the n lowest scores of a student based on the assignment's category- Parameters:
gradeRecords- NOTE: When the UI changes, this needs to be made private again
-
isPointsPossibleValid
public GradebookService.PointsPossibleValidation isPointsPossibleValid(String gradebookUid, Assignment gradebookItem, Double pointsPossible)
- Specified by:
isPointsPossibleValidin interfaceGradebookService
-
getAverageCourseGrade
public String getAverageCourseGrade(String gradebookUid)
Retrieves the calculated average course grade.- Specified by:
getAverageCourseGradein interfaceGradebookService
-
updateAssignmentOrder
public void updateAssignmentOrder(String gradebookUid, Long assignmentId, Integer order)
Updates the order of an assignment- Specified by:
updateAssignmentOrderin interfaceGradebookService
-
getGradingEvents
public List<GradingEvent> getGradingEvents(String studentId, long assignmentId)
- Specified by:
getGradingEventsin interfaceGradebookService
-
calculateCategoryScore
public Optional<CategoryScoreData> calculateCategoryScore(Object gradebook, String studentUuid, CategoryDefinition category, List<Assignment> categoryAssignments, Map<Long,String> gradeMap, boolean includeNonReleasedItems)
- Specified by:
calculateCategoryScorein interfaceGradebookService
-
calculateCategoryScore
public Optional<CategoryScoreData> calculateCategoryScore(Long gradebookId, String studentUuid, Long categoryId, boolean includeNonReleasedItems, int categoryType, Boolean equalWeightAssignments)
- Specified by:
calculateCategoryScorein interfaceGradebookService
-
getCourseGradeForStudent
public CourseGrade getCourseGradeForStudent(String gradebookUid, String userUuid)
- Specified by:
getCourseGradeForStudentin interfaceGradebookService
-
getCourseGradeForStudents
public Map<String,CourseGrade> getCourseGradeForStudents(String gradebookUid, List<String> userUuids)
- Specified by:
getCourseGradeForStudentsin interfaceGradebookService
-
getCourseGradeForStudents
public Map<String,CourseGrade> getCourseGradeForStudents(String gradebookUid, List<String> userUuids, Map<String,Double> gradeMap)
- Specified by:
getCourseGradeForStudentsin interfaceGradebookService
-
getViewableSections
public List<CourseSection> getViewableSections(String gradebookUid)
- Specified by:
getViewableSectionsin interfaceGradebookService
-
updateGradebookSettings
public void updateGradebookSettings(String gradebookUid, GradebookInformation gbInfo)
- Specified by:
updateGradebookSettingsin interfaceGradebookService
-
getAuthz
public Authz getAuthz()
-
setAuthz
public void setAuthz(Authz authz)
-
getGradebookPermissionService
public GradebookPermissionService getGradebookPermissionService()
-
setGradebookPermissionService
public void setGradebookPermissionService(GradebookPermissionService gradebookPermissionService)
-
setSiteService
public void setSiteService(SiteService siteService)
-
getSiteService
public SiteService getSiteService()
-
getGradebookGradeMappings
public Set getGradebookGradeMappings(Long gradebookId)
- Specified by:
getGradebookGradeMappingsin interfaceGradebookService
-
getGradebookGradeMappings
public Set getGradebookGradeMappings(String gradebookUid)
- Specified by:
getGradebookGradeMappingsin interfaceGradebookService
-
updateCourseGradeForStudent
public void updateCourseGradeForStudent(String gradebookUid, String studentUuid, String grade, String gradeScale)
- Specified by:
updateCourseGradeForStudentin interfaceGradebookService
-
updateAssignmentCategorizedOrder
public void updateAssignmentCategorizedOrder(String gradebookUid, Long categoryId, Long assignmentId, Integer order)
Updates the categorized order of an assignment- Specified by:
updateAssignmentCategorizedOrderin interfaceGradebookService
-
getGradingEvents
public List<GradingEvent> getGradingEvents(List<Long> assignmentIds, Date since)
Return the grade changes made since a given time- Specified by:
getGradingEventsin interfaceGradebookService- Parameters:
assignmentIds- ids of assignments to checksince- timestamp from which to check for changes- Returns:
- set of changes made
-
-