org.jasig.portlet.blackboardvcportlet.service.SessionForm.java Source code

Java tutorial

Introduction

Here is the source code for org.jasig.portlet.blackboardvcportlet.service.SessionForm.java

Source

/**
 * Licensed to Apereo under one or more contributor license
 * agreements. See the NOTICE file distributed with this work
 * for additional information regarding copyright ownership.
 * Apereo licenses this file to you under the Apache License,
 * Version 2.0 (the "License"); you may not use this file
 * except in compliance with the License.  You may obtain a
 * copy of the License at the following location:
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.jasig.portlet.blackboardvcportlet.service;

import org.jasig.portlet.blackboardvcportlet.data.RecordingMode;
import org.jasig.portlet.blackboardvcportlet.data.ServerConfiguration;
import org.jasig.portlet.blackboardvcportlet.data.Session;
import org.jasig.portlet.blackboardvcportlet.validations.annotations.*;
import org.joda.time.DateMidnight;
import org.joda.time.DateTime;
import org.joda.time.LocalTime;

import javax.validation.constraints.Future;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

/**
 * form backing object for creating/editing sessions
 */
@SessionStartIsBeforeEndTimeCheck
@SessionEndTimeRangeCheck
public class SessionForm implements Serializable {
    private static final long serialVersionUID = 1L;

    private boolean newSession;
    private boolean needToSendInitialEmail;
    private long sessionId;
    @SessionNameCheck()
    private String sessionName;
    @NotNull
    private int boundaryTime;
    private int maxTalkers;
    private int maxCameras;
    private boolean mustBeSupervised;
    private boolean permissionsOn;
    private boolean raiseHandOnEnter;
    private RecordingMode recordingMode;
    private boolean hideParticipantNames;
    private boolean allowInSessionInvites;

    private DateMidnight startDate;

    private LocalTime startHourMinute;
    private LocalTime endHourMinute;

    @Min(0)
    @Max(23)
    private int startHour;

    @QuarterHourCheck
    private int startMinute;

    private DateMidnight endDate;

    @Min(0)
    @Max(23)
    private int endHour;

    @QuarterHourCheck
    private int endMinute;

    public SessionForm() {
    }

    public SessionForm(ServerConfiguration serverConfiguration) {
        this.newSession = true;
        this.needToSendInitialEmail = true;

        final DateTime startTime = DateTime.now().plusHours(1).hourOfDay().roundFloorCopy();
        this.setStartTime(startTime);
        this.setEndTime(startTime.plusHours(1));

        this.boundaryTime = serverConfiguration.getBoundaryTime();
        this.maxCameras = serverConfiguration.getMaxAvailableCameras();
        this.maxTalkers = serverConfiguration.getMaxAvailableTalkers();
        this.raiseHandOnEnter = serverConfiguration.isRaiseHandOnEnter();
    }

    public SessionForm(Session session) {
        this.newSession = false;
        this.needToSendInitialEmail = false;

        this.sessionId = session.getSessionId();
        this.sessionName = session.getSessionName();
        this.setStartTime(session.getStartTime());
        this.setEndTime(session.getEndTime());
        this.boundaryTime = session.getBoundaryTime();
        this.maxTalkers = session.getMaxTalkers();
        this.maxCameras = session.getMaxCameras();
        this.mustBeSupervised = session.isMustBeSupervised();
        this.permissionsOn = session.isPermissionsOn();
        this.raiseHandOnEnter = session.isRaiseHandOnEnter();
        this.recordingMode = session.getRecordingMode();
        this.hideParticipantNames = session.isHideParticipantNames();
        this.allowInSessionInvites = session.isAllowInSessionInvites();
    }

    public boolean isNeedToSendInitialEmail() {
        return needToSendInitialEmail;
    }

    public void setNeedToSendInitialEmail(boolean needToSendInitialEmail) {
        this.needToSendInitialEmail = needToSendInitialEmail;
    }

    public boolean isNewSession() {
        return newSession;
    }

    public void setNewSession(boolean newSession) {
        this.newSession = newSession;
    }

    public long getSessionId() {
        return sessionId;
    }

    public void setSessionId(long sessionId) {
        this.sessionId = sessionId;
    }

    public String getSessionName() {
        return sessionName;
    }

    public void setSessionName(String sessionName) {
        this.sessionName = sessionName;
    }

    @Future
    @FutureWithYearLimit()
    public DateTime getStartTime() {
        return startDate.toDateTime().withHourOfDay(startHourMinute.getHourOfDay())
                .withMinuteOfHour(startHourMinute.getMinuteOfHour());
    }

    public void setStartTime(DateTime startTime) {
        startDate = startTime.toDateMidnight();
        startHour = startTime.getHourOfDay();
        startMinute = startTime.getMinuteOfHour();
        startHourMinute = new LocalTime(startTime);
    }

    @Future
    public DateTime getEndTime() {
        return endDate.toDateTime().withHourOfDay(endHourMinute.getHourOfDay())
                .withMinuteOfHour(endHourMinute.getMinuteOfHour());
    }

    public void setEndTime(DateTime endTime) {
        endDate = endTime.toDateMidnight();
        endHour = endTime.getHourOfDay();
        endMinute = endTime.getMinuteOfHour();
        endHourMinute = new LocalTime(endTime);
    }

    public int getBoundaryTime() {
        return boundaryTime;
    }

    public void setBoundaryTime(int boundaryTime) {
        this.boundaryTime = boundaryTime;
    }

    public int getMaxTalkers() {
        return maxTalkers;
    }

    public void setMaxTalkers(int maxTalkers) {
        this.maxTalkers = maxTalkers;
    }

    public int getMaxCameras() {
        return maxCameras;
    }

    public void setMaxCameras(int maxCameras) {
        this.maxCameras = maxCameras;
    }

    public boolean isMustBeSupervised() {
        return mustBeSupervised;
    }

    public void setMustBeSupervised(boolean mustBeSupervised) {
        this.mustBeSupervised = mustBeSupervised;
    }

    public boolean isPermissionsOn() {
        return permissionsOn;
    }

    public void setPermissionsOn(boolean permissionsOn) {
        this.permissionsOn = permissionsOn;
    }

    public boolean isRaiseHandOnEnter() {
        return raiseHandOnEnter;
    }

    public void setRaiseHandOnEnter(boolean raiseHandOnEnter) {
        this.raiseHandOnEnter = raiseHandOnEnter;
    }

    public RecordingMode getRecordingMode() {
        return recordingMode;
    }

    public void setRecordingMode(RecordingMode recordingMode) {
        this.recordingMode = recordingMode;
    }

    public boolean isHideParticipantNames() {
        return hideParticipantNames;
    }

    public void setHideParticipantNames(boolean hideParticipantNames) {
        this.hideParticipantNames = hideParticipantNames;
    }

    public boolean isAllowInSessionInvites() {
        return allowInSessionInvites;
    }

    public void setAllowInSessionInvites(boolean allowInSessionInvites) {
        this.allowInSessionInvites = allowInSessionInvites;
    }

    public DateMidnight getStartDate() {
        return startDate;
    }

    public void setStartDate(DateMidnight startDate) {
        this.startDate = startDate;
    }

    public int getStartHour() {
        return startHour;
    }

    public void setStartHour(int startHour) {
        this.startHour = startHour;
    }

    public int getStartMinute() {
        return startMinute;
    }

    public void setStartMinute(int startMinute) {
        this.startMinute = startMinute;
    }

    public DateMidnight getEndDate() {
        return endDate;
    }

    public void setEndDate(DateMidnight endDate) {
        this.endDate = endDate;
    }

    public int getEndHour() {
        return endHour;
    }

    public void setEndHour(int endHour) {
        this.endHour = endHour;
    }

    public int getEndMinute() {
        return endMinute;
    }

    public void setEndMinute(int endMinute) {
        this.endMinute = endMinute;
    }

    public void setStartHourMinute(LocalTime startHourMinute) {
        this.startHourMinute = startHourMinute;
    }

    public LocalTime getStartHourMinute() {
        return startHourMinute;
    }

    public void setEndHourMinute(LocalTime endHourMinute) {
        this.endHourMinute = endHourMinute;
    }

    public LocalTime getEndHourMinute() {
        return endHourMinute;
    }

    @Override
    public String toString() {
        return "FullSessionForm [newSession=" + newSession + ", sessionId=" + sessionId + ", sessionName="
                + sessionName + ", startTime=" + this.getStartTime() + ", endTime=" + this.getEndTime()
                + ", boundaryTime=" + boundaryTime + ", maxTalkers=" + maxTalkers + ", maxCameras=" + maxCameras
                + ", mustBeSupervised=" + mustBeSupervised + ", permissionsOn=" + permissionsOn
                + ", raiseHandOnEnter=" + raiseHandOnEnter + ", recordingMode=" + recordingMode
                + ", hideParticipantNames=" + hideParticipantNames + ", allowInSessionInvites="
                + allowInSessionInvites + "]";
    }
}