Class BaseHibernateManager
- java.lang.Object
-
- org.springframework.dao.support.DaoSupport
-
- org.springframework.orm.hibernate5.support.HibernateDaoSupport
-
- org.sakaiproject.component.gradebook.BaseHibernateManager
-
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean
- Direct Known Subclasses:
GradebookExternalAssessmentServiceImpl,GradebookFrameworkServiceImpl,GradebookPermissionServiceImpl,GradebookServiceHibernateImpl
public abstract class BaseHibernateManager extends org.springframework.orm.hibernate5.support.HibernateDaoSupportProvides methods which are shared between service business logic and application business logic, but not exposed to external callers.
-
-
Field Summary
Fields Modifier and Type Field Description protected Authnauthnprotected EventTrackingServiceeventTrackingServiceprotected GradebookExternalAssessmentServiceexternalAssessmentServiceprotected Map<String,String>propertiesMapprotected SectionAwarenesssectionAwarenessprotected ServerConfigurationServiceserverConfigurationService
-
Constructor Summary
Constructors Constructor Description BaseHibernateManager()
-
Method Summary
-
-
-
Field Detail
-
sectionAwareness
protected SectionAwareness sectionAwareness
-
authn
protected Authn authn
-
eventTrackingService
protected EventTrackingService eventTrackingService
-
serverConfigurationService
protected ServerConfigurationService serverConfigurationService
-
externalAssessmentService
protected GradebookExternalAssessmentService externalAssessmentService
-
-
Method Detail
-
getGradebook
public Gradebook getGradebook(String uid) throws GradebookNotFoundException
- Throws:
GradebookNotFoundException
-
isGradebookDefined
public boolean isGradebookDefined(String gradebookUid)
-
getAssignments
protected List<GradebookAssignment> getAssignments(Long gradebookId) throws org.hibernate.HibernateException
- Throws:
org.hibernate.HibernateException
-
getCountedStudentGradeRecords
protected List getCountedStudentGradeRecords(Long gradebookId, String studentId) throws org.hibernate.HibernateException
- Throws:
org.hibernate.HibernateException
-
getCourseGrade
public CourseGrade getCourseGrade(Long gradebookId)
-
getCourseGradeRecord
protected CourseGradeRecord getCourseGradeRecord(Gradebook gradebook, String studentId) throws org.hibernate.HibernateException
Gets the course grade record for a student, or null if it does not yet exist.- Parameters:
studentId- The student ID- Returns:
- A List of grade records
- Throws:
org.hibernate.HibernateException
-
filterGradeRecordsByStudents
protected List filterGradeRecordsByStudents(Collection gradeRecords, Collection studentUids)
Oracle has a low limit on the maximum length of a parameter list in SQL queries of the form "WHERE tbl.col IN (:paramList)". Since enrollment lists can sometimes be very long, we've replaced such queries with full selects followed by filtering. This helper method filters out unwanted grade records. (Typically they're not wanted because they're either no longer officially enrolled in the course or they're not members of the selected section.)
-
getAssignmentWithoutStats
@Deprecated protected GradebookAssignment getAssignmentWithoutStats(String gradebookUid, String assignmentName) throws org.hibernate.HibernateException
Deprecated.- Throws:
org.hibernate.HibernateException
-
getAssignmentWithoutStats
protected GradebookAssignment getAssignmentWithoutStats(String gradebookUid, Long assignmentId) throws org.hibernate.HibernateException
- Throws:
org.hibernate.HibernateException
-
getAssignmentById
protected GradebookAssignment getAssignmentById(Long assignmentId) throws org.hibernate.HibernateException
- Throws:
org.hibernate.HibernateException
-
updateAssignment
protected void updateAssignment(GradebookAssignment assignment) throws ConflictingAssignmentNameException, org.hibernate.HibernateException
- Throws:
ConflictingAssignmentNameExceptionorg.hibernate.HibernateException
-
getAssignmentGradeRecord
protected AssignmentGradeRecord getAssignmentGradeRecord(GradebookAssignment assignment, String studentUid) throws org.hibernate.HibernateException
- Throws:
org.hibernate.HibernateException
-
createAssignment
public Long createAssignment(Long gradebookId, String name, Double points, Date dueDate, Boolean isNotCounted, Boolean isReleased, Boolean isExtraCredit, Integer sortOrder) throws ConflictingAssignmentNameException, StaleObjectModificationException
-
createAssignmentForCategory
public Long createAssignmentForCategory(Long gradebookId, Long categoryId, String name, Double points, Date dueDate, Boolean isNotCounted, Boolean isReleased, Boolean isExtraCredit, Integer categorizedSortOrder) throws ConflictingAssignmentNameException, StaleObjectModificationException, IllegalArgumentException
-
saveNewAssignment
protected Long saveNewAssignment(Long gradebookId, Long categoryId, GradebookAssignment asn) throws ConflictingAssignmentNameException
-
updateGradebook
public void updateGradebook(Gradebook gradebook) throws StaleObjectModificationException
- Throws:
StaleObjectModificationException
-
isExplicitlyEnteredCourseGradeRecords
public boolean isExplicitlyEnteredCourseGradeRecords(Long gradebookId)
-
getAuthn
public Authn getAuthn()
-
setAuthn
public void setAuthn(Authn authn)
-
getUserUid
protected String getUserUid()
-
getSectionAwareness
protected SectionAwareness getSectionAwareness()
-
setSectionAwareness
public void setSectionAwareness(SectionAwareness sectionAwareness)
-
getServerConfigurationService
protected ServerConfigurationService getServerConfigurationService()
-
setServerConfigurationService
public void setServerConfigurationService(ServerConfigurationService serverConfigurationService)
-
getEventTrackingService
protected EventTrackingService getEventTrackingService()
-
setEventTrackingService
public void setEventTrackingService(EventTrackingService eventTrackingService)
-
getGradebookExternalAssessmentService
protected GradebookExternalAssessmentService getGradebookExternalAssessmentService()
-
setGradebookExternalAssessmentService
public void setGradebookExternalAssessmentService(GradebookExternalAssessmentService externalAssessmentService)
-
createCategory
public Long createCategory(Long gradebookId, String name, Double weight, Integer drop_lowest, Integer dropHighest, Integer keepHighest, Boolean is_extra_credit, Boolean is_equal_weight)
-
createCategory
public Long createCategory(Long gradebookId, String name, Double weight, Integer drop_lowest, Integer dropHighest, Integer keepHighest, Boolean is_extra_credit, Boolean is_equal_weight, Integer categoryOrder) throws ConflictingCategoryNameException, StaleObjectModificationException
-
getCategories
public List getCategories(Long gradebookId) throws org.hibernate.HibernateException
- Throws:
org.hibernate.HibernateException
-
getAssignmentsForCategory
public List<GradebookAssignment> getAssignmentsForCategory(Long categoryId) throws org.hibernate.HibernateException
- Throws:
org.hibernate.HibernateException
-
getCategory
public Category getCategory(Long categoryId) throws org.hibernate.HibernateException
- Throws:
org.hibernate.HibernateException
-
updateCategory
public void updateCategory(Category category) throws ConflictingCategoryNameException, StaleObjectModificationException
-
removeCategory
public void removeCategory(Long categoryId) throws StaleObjectModificationException
- Throws:
StaleObjectModificationException
-
getDefaultLetterGradePercentMapping
public LetterGradePercentMapping getDefaultLetterGradePercentMapping()
-
createOrUpdateDefaultLetterGradePercentMapping
public void createOrUpdateDefaultLetterGradePercentMapping(Map gradeMap)
-
createDefaultLetterGradePercentMapping
public void createDefaultLetterGradePercentMapping(Map<String,Double> gradeMap)
-
getLetterGradePercentMapping
public LetterGradePercentMapping getLetterGradePercentMapping(Gradebook gradebook)
-
saveOrUpdateLetterGradePercentMapping
public void saveOrUpdateLetterGradePercentMapping(Map<String,Double> gradeMap, Gradebook gradebook)
-
validateLetterGradeMapping
protected boolean validateLetterGradeMapping(Map<String,Double> gradeMap)
-
createUngradedAssignment
public Long createUngradedAssignment(Long gradebookId, String name, Date dueDate, Boolean isNotCounted, Boolean isReleased) throws ConflictingAssignmentNameException, StaleObjectModificationException
-
createUngradedAssignmentForCategory
public Long createUngradedAssignmentForCategory(Long gradebookId, Long categoryId, String name, Date dueDate, Boolean isNotCounted, Boolean isReleased) throws ConflictingAssignmentNameException, StaleObjectModificationException, IllegalArgumentException
-
addPermission
public Long addPermission(Long gradebookId, String userId, String function, Long categoryId, String groupId) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
getPermissionsForGB
@Deprecated public List<Permission> getPermissionsForGB(Long gradebookId) throws IllegalArgumentException
Deprecated.- Throws:
IllegalArgumentException
-
updatePermission
@Deprecated public void updatePermission(Collection perms)
Deprecated.
-
updatePermission
@Deprecated public void updatePermission(Permission perm) throws IllegalArgumentException
Deprecated.- Throws:
IllegalArgumentException
-
deletePermission
@Deprecated public void deletePermission(Permission perm) throws IllegalArgumentException
Deprecated.- Throws:
IllegalArgumentException
-
getPermissionsForUser
public List<Permission> getPermissionsForUser(Long gradebookId, String userId) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
getPermissionsForUserForCategory
public List<Permission> getPermissionsForUserForCategory(Long gradebookId, String userId, List cateIds) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
getPermissionsForUserAnyCategory
public List<Permission> getPermissionsForUserAnyCategory(Long gradebookId, String userId) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
getPermissionsForUserAnyGroup
public List<Permission> getPermissionsForUserAnyGroup(Long gradebookId, String userId) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
getPermissionsForUserAnyGroupForCategory
public List<Permission> getPermissionsForUserAnyGroupForCategory(Long gradebookId, String userId, List cateIds) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
getPermissionsForGBForCategoryIds
public List<Permission> getPermissionsForGBForCategoryIds(Long gradebookId, List cateIds) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
getPermissionsForUserAnyGroupAnyCategory
public List<Permission> getPermissionsForUserAnyGroupAnyCategory(Long gradebookId, String userId) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
getPermissionsForUserForGoupsAnyCategory
public List<Permission> getPermissionsForUserForGoupsAnyCategory(Long gradebookId, String userId, List groupIds) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
getPermissionsForUserForGroup
public List getPermissionsForUserForGroup(Long gradebookId, String userId, List groupIds) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
isAssignmentDefined
public boolean isAssignmentDefined(Long gradableObjectId)
-
getAssignment
public GradebookAssignment getAssignment(Long gradableObjectId)
- Parameters:
gradableObjectId-- Returns:
- the GradebookAssignment object with the given id
-
calculateEquivalentPercent
protected Double calculateEquivalentPercent(Double doublePointsPossible, Double doublePointsEarned)
- Parameters:
doublePointsPossible-doublePointsEarned-- Returns:
- the % equivalent for the given points possible and points earned
-
convertPointsToPercentage
protected List convertPointsToPercentage(Gradebook gradebook, List studentRecordsFromDB)
Converts points to percentage for the given AssignmentGradeRecords- Parameters:
gradebook-studentRecordsFromDB-- Returns:
-
convertPointsToLetterGrade
protected List convertPointsToLetterGrade(Gradebook gradebook, List studentRecordsFromDB)
Converts points to letter grade for the given AssignmentGradeRecords- Parameters:
gradebook-studentRecordsFromDB-- Returns:
-
calculateEquivalentPointValueForPercent
protected Double calculateEquivalentPointValueForPercent(Double doublePointsPossible, Double doublePercentEarned)
-
getComments
public List<Comment> getComments(GradebookAssignment assignment, Collection studentIds)
-
getVisibleExternalAssignments
protected Map<String,Set<GradebookAssignment>> getVisibleExternalAssignments(Gradebook gradebook, Collection<String> studentIds, List<GradebookAssignment> assignments)
-
studentCanView
protected boolean studentCanView(String studentId, GradebookAssignment assignment)
-
finalizeNullGradeRecords
protected void finalizeNullGradeRecords(Gradebook gradebook)
-
assignmentNameExists
protected boolean assignmentNameExists(String name, Gradebook gradebook)
- Parameters:
name- the assignment name (will not be trimmed)gradebook- the gradebook to check- Returns:
- true if an assignment with the given name already exists in this gradebook.
-
getAssignmentScoreComment
public CommentDefinition getAssignmentScoreComment(String gradebookUid, Long assignmentId, String studentUid) throws GradebookNotFoundException, AssessmentNotFoundException
-
setAssignmentScoreComment
public void setAssignmentScoreComment(String gradebookUid, Long assignmentId, String studentUid, String commentText) throws GradebookNotFoundException, AssessmentNotFoundException
-
getIsAssignmentExcused
public boolean getIsAssignmentExcused(String gradebookUid, Long assignmentId, String studentUid) throws GradebookNotFoundException, AssessmentNotFoundException
-
updateGradeMapping
public void updateGradeMapping(Long gradeMappingId, Map<String,Double> gradeMap)
-
getCourseGradeOverrides
protected List<CourseGradeRecord> getCourseGradeOverrides(Gradebook gradebook) throws org.hibernate.HibernateException
Get's all course grade overrides for a given gradebook- Parameters:
gradebook- The gradebook- Returns:
- A list of
CourseGradeRecordthat have overrides - Throws:
org.hibernate.HibernateException
-
-