Search in sources :

Example 6 with AnnouncementUserGroup

use of fi.otavanopisto.muikku.plugins.announcer.model.AnnouncementUserGroup in project muikku by otavanopisto.

the class AnnouncerRESTService method createRESTModel.

private AnnouncementRESTModel createRESTModel(Announcement announcement, List<AnnouncementUserGroup> announcementUserGroups, List<AnnouncementWorkspace> announcementWorkspaces) {
    AnnouncementRESTModel restModel = new AnnouncementRESTModel();
    restModel.setPublisherUserEntityId(announcement.getPublisherUserEntityId());
    restModel.setCaption(announcement.getCaption());
    restModel.setContent(announcement.getContent());
    restModel.setCreated(announcement.getCreated());
    restModel.setStartDate(announcement.getStartDate());
    restModel.setEndDate(announcement.getEndDate());
    restModel.setId(announcement.getId());
    restModel.setPubliclyVisible(announcement.getPubliclyVisible());
    restModel.setArchived(announcement.getArchived());
    List<Long> userGroupEntityIds = new ArrayList<>();
    for (AnnouncementUserGroup announcementUserGroup : announcementUserGroups) {
        userGroupEntityIds.add(announcementUserGroup.getUserGroupEntityId());
    }
    restModel.setUserGroupEntityIds(userGroupEntityIds);
    List<Long> workspaceEntityIds = new ArrayList<>();
    List<WorkspaceBasicInfo> workspaceBasicInfos = new ArrayList<>();
    for (AnnouncementWorkspace announcementWorkspace : announcementWorkspaces) {
        workspaceEntityIds.add(announcementWorkspace.getWorkspaceEntityId());
        WorkspaceBasicInfo workspaceBasicInfo = workspaceRESTModelController.workspaceBasicInfo(announcementWorkspace.getWorkspaceEntityId());
        if (workspaceBasicInfo != null)
            workspaceBasicInfos.add(workspaceBasicInfo);
        else
            logger.warning(String.format("Logged user couldn't find workspace basic info for workspace"));
    }
    restModel.setWorkspaceEntityIds(workspaceEntityIds);
    restModel.setWorkspaces(workspaceBasicInfos);
    Date date = currentDate();
    if (date.before(announcement.getStartDate())) {
        restModel.setTemporalStatus(AnnouncementTemporalStatus.UPCOMING);
    } else if (date.after(announcement.getEndDate())) {
        restModel.setTemporalStatus(AnnouncementTemporalStatus.ENDED);
    } else {
        restModel.setTemporalStatus(AnnouncementTemporalStatus.ACTIVE);
    }
    return restModel;
}
Also used : AnnouncementUserGroup(fi.otavanopisto.muikku.plugins.announcer.model.AnnouncementUserGroup) AnnouncementWorkspace(fi.otavanopisto.muikku.plugins.announcer.workspace.model.AnnouncementWorkspace) ArrayList(java.util.ArrayList) WorkspaceBasicInfo(fi.otavanopisto.muikku.plugins.workspace.rest.model.WorkspaceBasicInfo) Date(java.util.Date)

Example 7 with AnnouncementUserGroup

use of fi.otavanopisto.muikku.plugins.announcer.model.AnnouncementUserGroup in project muikku by otavanopisto.

the class AnnouncementUserGroupDAO method create.

public AnnouncementUserGroup create(Announcement announcement, Long userGroupEntityId, Boolean archived) {
    AnnouncementUserGroup announcementUserGroup = new AnnouncementUserGroup();
    announcementUserGroup.setAnnouncement(announcement);
    announcementUserGroup.setUserGroupEntityId(userGroupEntityId);
    announcementUserGroup.setArchived(archived);
    return persist(announcementUserGroup);
}
Also used : AnnouncementUserGroup(fi.otavanopisto.muikku.plugins.announcer.model.AnnouncementUserGroup)

Example 8 with AnnouncementUserGroup

use of fi.otavanopisto.muikku.plugins.announcer.model.AnnouncementUserGroup in project muikku by otavanopisto.

the class AnnouncementUserGroupDAO method listByArchived.

public List<AnnouncementUserGroup> listByArchived(Boolean archived) {
    EntityManager entityManager = getEntityManager();
    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery<AnnouncementUserGroup> criteria = criteriaBuilder.createQuery(AnnouncementUserGroup.class);
    Root<AnnouncementUserGroup> root = criteria.from(AnnouncementUserGroup.class);
    criteria.select(root);
    criteria.where(criteriaBuilder.equal(root.get(AnnouncementUserGroup_.archived), archived));
    return entityManager.createQuery(criteria).getResultList();
}
Also used : CriteriaBuilder(javax.persistence.criteria.CriteriaBuilder) EntityManager(javax.persistence.EntityManager) AnnouncementUserGroup(fi.otavanopisto.muikku.plugins.announcer.model.AnnouncementUserGroup)

Aggregations

AnnouncementUserGroup (fi.otavanopisto.muikku.plugins.announcer.model.AnnouncementUserGroup)8 AnnouncementWorkspace (fi.otavanopisto.muikku.plugins.announcer.workspace.model.AnnouncementWorkspace)5 Announcement (fi.otavanopisto.muikku.plugins.announcer.model.Announcement)4 UserEntity (fi.otavanopisto.muikku.model.users.UserEntity)3 WorkspaceEntity (fi.otavanopisto.muikku.model.workspace.WorkspaceEntity)3 RESTPermit (fi.otavanopisto.security.rest.RESTPermit)3 ArrayList (java.util.ArrayList)3 EntityManager (javax.persistence.EntityManager)3 CriteriaBuilder (javax.persistence.criteria.CriteriaBuilder)3 Path (javax.ws.rs.Path)3 UserGroupEntity (fi.otavanopisto.muikku.model.users.UserGroupEntity)2 Date (java.util.Date)2 GET (javax.ws.rs.GET)2 AnnouncementEnvironmentRestriction (fi.otavanopisto.muikku.plugins.announcer.dao.AnnouncementEnvironmentRestriction)1 WorkspaceBasicInfo (fi.otavanopisto.muikku.plugins.workspace.rest.model.WorkspaceBasicInfo)1 Predicate (javax.persistence.criteria.Predicate)1 PUT (javax.ws.rs.PUT)1