Search in sources :

Example 1 with AssesmentRequestNotification

use of fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification in project muikku by otavanopisto.

the class AssessmentRequestNotificationDAO method findLatestByUserIdentifier.

public AssesmentRequestNotification findLatestByUserIdentifier(SchoolDataIdentifier identifier) {
    EntityManager entityManager = getEntityManager();
    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery<AssesmentRequestNotification> criteria = criteriaBuilder.createQuery(AssesmentRequestNotification.class);
    Root<AssesmentRequestNotification> root = criteria.from(AssesmentRequestNotification.class);
    criteria.select(root);
    criteria.where(criteriaBuilder.equal(root.get(AssesmentRequestNotification_.studentIdentifier), identifier.toId()));
    criteria.orderBy(criteriaBuilder.desc(root.get(AssesmentRequestNotification_.sent)));
    TypedQuery<AssesmentRequestNotification> query = entityManager.createQuery(criteria);
    query.setMaxResults(1);
    return getSingleResult(query);
}
Also used : CriteriaBuilder(javax.persistence.criteria.CriteriaBuilder) AssesmentRequestNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification) EntityManager(javax.persistence.EntityManager)

Example 2 with AssesmentRequestNotification

use of fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification in project muikku by otavanopisto.

the class GuiderRESTService method listUserNotifications.

@GET
@Path("/users/{IDENTIFIER}/latestNotifications")
@RESTPermit(GuiderPermissions.GUIDER_LIST_NOTIFICATIONS)
public Response listUserNotifications(@PathParam("IDENTIFIER") String identifierString) {
    SchoolDataIdentifier identifier = SchoolDataIdentifier.fromId(identifierString);
    UserEntity ue = userEntityController.findUserEntityByUserIdentifier(identifier);
    if (ue == null) {
        return Response.status(Status.NOT_FOUND).entity("User entity not found").build();
    }
    Map<String, Date> map = new HashMap<>();
    StudyTimeNotification notification = studyTimeLeftNotificationController.findLatestByUserIdentifier(identifier);
    if (notification != null)
        map.put("studytime", notification.getSent());
    NoPassedCoursesNotification noPassNotification = noPassedCoursesNotificationController.findLatestByUserIdentifier(identifier);
    if (noPassNotification != null)
        map.put("nopassedcourses", noPassNotification.getSent());
    AssesmentRequestNotification assessmentRequestNotification = assessmentRequestNotificationController.findLatestByUserIdentifier(identifier);
    if (assessmentRequestNotification != null)
        map.put("assesmentrequest", assessmentRequestNotification.getSent());
    return Response.ok().entity(map).build();
}
Also used : SchoolDataIdentifier(fi.otavanopisto.muikku.schooldata.SchoolDataIdentifier) AssesmentRequestNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification) StudyTimeNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.StudyTimeNotification) HashMap(java.util.HashMap) NoPassedCoursesNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification) WorkspaceUserEntity(fi.otavanopisto.muikku.model.workspace.WorkspaceUserEntity) UserEntity(fi.otavanopisto.muikku.model.users.UserEntity) Date(java.util.Date) Path(javax.ws.rs.Path) RESTPermit(fi.otavanopisto.security.rest.RESTPermit) GET(javax.ws.rs.GET)

Example 3 with AssesmentRequestNotification

use of fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification in project muikku by otavanopisto.

the class AssesmentRequestNotificationController method listNotifiedSchoolDataIdentifiers.

public List<SchoolDataIdentifier> listNotifiedSchoolDataIdentifiers() {
    List<SchoolDataIdentifier> results = new ArrayList<>();
    List<AssesmentRequestNotification> assessmentRequestNotifications = assessmentRequestNotificationDAO.listAll();
    for (AssesmentRequestNotification assessmentRequestNotification : assessmentRequestNotifications) {
        results.add(SchoolDataIdentifier.fromId(assessmentRequestNotification.getStudentIdentifier()));
    }
    return results;
}
Also used : SchoolDataIdentifier(fi.otavanopisto.muikku.schooldata.SchoolDataIdentifier) AssesmentRequestNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification) ArrayList(java.util.ArrayList)

Example 4 with AssesmentRequestNotification

use of fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification in project muikku by otavanopisto.

the class AssessmentRequestNotificationDAO method create.

public AssesmentRequestNotification create(String studentIdentifier, Date sent) {
    AssesmentRequestNotification assesmentRequestNotification = new AssesmentRequestNotification();
    assesmentRequestNotification.setSent(sent);
    assesmentRequestNotification.setStudentIdentifier(studentIdentifier);
    return persist(assesmentRequestNotification);
}
Also used : AssesmentRequestNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification)

Example 5 with AssesmentRequestNotification

use of fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification in project muikku by otavanopisto.

the class AssessmentRequestNotificationDAO method listByDateAfter.

public List<AssesmentRequestNotification> listByDateAfter(Date sent) {
    EntityManager entityManager = getEntityManager();
    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery<AssesmentRequestNotification> criteria = criteriaBuilder.createQuery(AssesmentRequestNotification.class);
    Root<AssesmentRequestNotification> root = criteria.from(AssesmentRequestNotification.class);
    criteria.select(root);
    criteria.where(criteriaBuilder.greaterThanOrEqualTo(root.get(AssesmentRequestNotification_.sent), sent));
    return entityManager.createQuery(criteria).getResultList();
}
Also used : CriteriaBuilder(javax.persistence.criteria.CriteriaBuilder) AssesmentRequestNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification) EntityManager(javax.persistence.EntityManager)

Aggregations

AssesmentRequestNotification (fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification)6 EntityManager (javax.persistence.EntityManager)3 CriteriaBuilder (javax.persistence.criteria.CriteriaBuilder)3 SchoolDataIdentifier (fi.otavanopisto.muikku.schooldata.SchoolDataIdentifier)2 UserEntity (fi.otavanopisto.muikku.model.users.UserEntity)1 WorkspaceUserEntity (fi.otavanopisto.muikku.model.workspace.WorkspaceUserEntity)1 NoPassedCoursesNotification (fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification)1 StudyTimeNotification (fi.otavanopisto.muikku.plugins.timed.notifications.model.StudyTimeNotification)1 RESTPermit (fi.otavanopisto.security.rest.RESTPermit)1 ArrayList (java.util.ArrayList)1 Date (java.util.Date)1 HashMap (java.util.HashMap)1 GET (javax.ws.rs.GET)1 Path (javax.ws.rs.Path)1