Class GradebookExternalAssessmentServiceImpl

  • All Implemented Interfaces:
    org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService, org.springframework.beans.factory.InitializingBean

    public class GradebookExternalAssessmentServiceImpl
    extends BaseHibernateManager
    implements org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
    • Field Detail

      • UPDATE_SAME_SCORE_PROP

        public static final String UPDATE_SAME_SCORE_PROP
        Property in sakai.properties used to allow this service to update scores in the db every time the update method is called. By default, scores are only updated if the score is different than what is currently in the db.
        See Also:
        Constant Field Values
      • UPDATE_SAME_SCORE_PROP_DEFAULT

        public static final boolean UPDATE_SAME_SCORE_PROP_DEFAULT
        See Also:
        Constant Field Values
    • Constructor Detail

      • GradebookExternalAssessmentServiceImpl

        public GradebookExternalAssessmentServiceImpl()
    • Method Detail

      • getGradebookService

        public org.sakaiproject.service.gradebook.shared.GradebookService getGradebookService()
      • getExternalAssignmentProviders

        public ConcurrentMap<String,​org.sakaiproject.service.gradebook.shared.ExternalAssignmentProvider> getExternalAssignmentProviders()
      • registerExternalAssignmentProvider

        public void registerExternalAssignmentProvider​(org.sakaiproject.service.gradebook.shared.ExternalAssignmentProvider provider)
        Specified by:
        registerExternalAssignmentProvider in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
      • unregisterExternalAssignmentProvider

        public void unregisterExternalAssignmentProvider​(String providerAppKey)
        Specified by:
        unregisterExternalAssignmentProvider in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
      • init

        public void init()
      • destroy

        public void destroy()
      • addExternalAssessment

        public void addExternalAssessment​(String gradebookUid,
                                          String externalId,
                                          String externalUrl,
                                          String title,
                                          double points,
                                          Date dueDate,
                                          String externalServiceDescription,
                                          String externalData)
                                   throws org.sakaiproject.service.gradebook.shared.ConflictingAssignmentNameException,
                                          org.sakaiproject.service.gradebook.shared.ConflictingExternalIdException,
                                          org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        Specified by:
        addExternalAssessment in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.ConflictingAssignmentNameException
        org.sakaiproject.service.gradebook.shared.ConflictingExternalIdException
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
      • updateExternalAssessment

        public void updateExternalAssessment​(String gradebookUid,
                                             String externalId,
                                             String externalUrl,
                                             String externalData,
                                             String title,
                                             double points,
                                             Date dueDate)
                                      throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException,
                                             org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException,
                                             org.sakaiproject.service.gradebook.shared.AssignmentHasIllegalPointsException
        Specified by:
        updateExternalAssessment in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
        org.sakaiproject.service.gradebook.shared.AssignmentHasIllegalPointsException
      • removeExternalAssessment

        public void removeExternalAssessment​(String gradebookUid,
                                             String externalId)
                                      throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException,
                                             org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
        Specified by:
        removeExternalAssessment in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
        See Also:
        org.sakaiproject.service.gradebook.shared.GradebookService#removeExternalAssessment(java.lang.String, java.lang.String)
      • updateExternalAssessmentComments

        public void updateExternalAssessmentComments​(String gradebookUid,
                                                     String externalId,
                                                     Map<String,​String> studentUidsToComments)
                                              throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException,
                                                     org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
        Specified by:
        updateExternalAssessmentComments in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
      • updateExternalAssessmentScores

        public void updateExternalAssessmentScores​(String gradebookUid,
                                                   String externalId,
                                                   Map<String,​Double> studentUidsToScores)
                                            throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException,
                                                   org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
        Specified by:
        updateExternalAssessmentScores in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
      • updateExternalAssessmentScoresString

        public void updateExternalAssessmentScoresString​(String gradebookUid,
                                                         String externalId,
                                                         Map<String,​String> studentUidsToScores)
                                                  throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException,
                                                         org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
        Specified by:
        updateExternalAssessmentScoresString in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
      • isAssignmentDefined

        public boolean isAssignmentDefined​(String gradebookUid,
                                           String assignmentName)
                                    throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        Specified by:
        isAssignmentDefined in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
      • isExternalAssignmentDefined

        public boolean isExternalAssignmentDefined​(String gradebookUid,
                                                   String externalId)
                                            throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        Specified by:
        isExternalAssignmentDefined in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
      • isExternalAssignmentGrouped

        public boolean isExternalAssignmentGrouped​(String gradebookUid,
                                                   String externalId)
                                            throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        Specified by:
        isExternalAssignmentGrouped in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
      • isExternalAssignmentVisible

        public boolean isExternalAssignmentVisible​(String gradebookUid,
                                                   String externalId,
                                                   String userId)
                                            throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        Specified by:
        isExternalAssignmentVisible in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
      • getExternalAssignmentsForCurrentUser

        public Map<String,​String> getExternalAssignmentsForCurrentUser​(String gradebookUid)
                                                                      throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        Specified by:
        getExternalAssignmentsForCurrentUser in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
      • getProvidedExternalAssignments

        protected Set<String> getProvidedExternalAssignments​(String gradebookUid)
      • getVisibleExternalAssignments

        public Map<String,​List<String>> getVisibleExternalAssignments​(String gradebookUid,
                                                                            Collection<String> studentIds)
                                                                     throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        Specified by:
        getVisibleExternalAssignments in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
      • setExternalAssessmentToGradebookAssignment

        public void setExternalAssessmentToGradebookAssignment​(String gradebookUid,
                                                               String externalId)
        Specified by:
        setExternalAssessmentToGradebookAssignment in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
      • addExternalAssessment

        public void addExternalAssessment​(String gradebookUid,
                                          String externalId,
                                          String externalUrl,
                                          String title,
                                          Double points,
                                          Date dueDate,
                                          String externalServiceDescription,
                                          String externalData,
                                          Boolean ungraded)
                                   throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException,
                                          org.sakaiproject.service.gradebook.shared.ConflictingAssignmentNameException,
                                          org.sakaiproject.service.gradebook.shared.ConflictingExternalIdException,
                                          org.sakaiproject.service.gradebook.shared.AssignmentHasIllegalPointsException
        Wrapper created when category was added for assignments tool
        Specified by:
        addExternalAssessment in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        org.sakaiproject.service.gradebook.shared.ConflictingAssignmentNameException
        org.sakaiproject.service.gradebook.shared.ConflictingExternalIdException
        org.sakaiproject.service.gradebook.shared.AssignmentHasIllegalPointsException
      • addExternalAssessment

        public void addExternalAssessment​(String gradebookUid,
                                          String externalId,
                                          String externalUrl,
                                          String title,
                                          Double points,
                                          Date dueDate,
                                          String externalServiceDescription,
                                          String externalData,
                                          Boolean ungraded,
                                          Long categoryId)
                                   throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException,
                                          org.sakaiproject.service.gradebook.shared.ConflictingAssignmentNameException,
                                          org.sakaiproject.service.gradebook.shared.ConflictingExternalIdException,
                                          org.sakaiproject.service.gradebook.shared.AssignmentHasIllegalPointsException
        Specified by:
        addExternalAssessment in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        org.sakaiproject.service.gradebook.shared.ConflictingAssignmentNameException
        org.sakaiproject.service.gradebook.shared.ConflictingExternalIdException
        org.sakaiproject.service.gradebook.shared.AssignmentHasIllegalPointsException
      • updateExternalAssessment

        public void updateExternalAssessment​(String gradebookUid,
                                             String externalId,
                                             String externalUrl,
                                             String externalData,
                                             String title,
                                             Double points,
                                             Date dueDate,
                                             Boolean ungraded)
                                      throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException,
                                             org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException,
                                             org.sakaiproject.service.gradebook.shared.ConflictingAssignmentNameException,
                                             org.sakaiproject.service.gradebook.shared.AssignmentHasIllegalPointsException
        Specified by:
        updateExternalAssessment in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
        org.sakaiproject.service.gradebook.shared.ConflictingAssignmentNameException
        org.sakaiproject.service.gradebook.shared.AssignmentHasIllegalPointsException
      • updateExternalAssessmentComment

        public void updateExternalAssessmentComment​(String gradebookUid,
                                                    String externalId,
                                                    String studentUid,
                                                    String comment)
                                             throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException,
                                                    org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
        Specified by:
        updateExternalAssessmentComment in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
      • updateExternalAssessmentScore

        public void updateExternalAssessmentScore​(String gradebookUid,
                                                  String externalId,
                                                  String studentUid,
                                                  String points)
                                           throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException,
                                                  org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
        Specified by:
        updateExternalAssessmentScore in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
      • getExternalAssessmentCategoryId

        public Long getExternalAssessmentCategoryId​(String gradebookUId,
                                                    String externalId)
        Specified by:
        getExternalAssessmentCategoryId in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
      • isCategoriesEnabled

        public boolean isCategoriesEnabled​(String gradebookUid)
        Specified by:
        isCategoriesEnabled in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
      • getInternalAssessmentID

        public OptionalLong getInternalAssessmentID​(String gradebookUUID,
                                                    String externalID)
                                             throws org.sakaiproject.service.gradebook.shared.GradebookNotFoundException,
                                                    org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException
        Specified by:
        getInternalAssessmentID in interface org.sakaiproject.service.gradebook.shared.GradebookExternalAssessmentService
        Throws:
        org.sakaiproject.service.gradebook.shared.GradebookNotFoundException
        org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException