Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package org.riediger.teams.web;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.LinkedHashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import javax.faces.view.ViewScoped;
- import javax.inject.Named;
- import org.riediger.teams.logic.to.CourseTO;
- import org.riediger.teams.logic.to.PersonTO;
- import org.riediger.teams.logic.to.TeamTO;
- import org.riediger.teams.utilities.Mailer;
- /**
- *
- * @author Tobias
- */
- @ViewScoped
- @Named
- public class SendMailBean extends AbstractEditCourseBean implements Serializable {
- private static final long serialVersionUID = 31337L;
- private String preSelectionRecipients;
- private Map<String, String> preSelectionRecipientsMap;
- private List<TeamTO> preSelectionRecipientsTeams;
- private List<TeamTO> preSelectionRecipientsTeamsList;
- private String recipients;
- private String subject;
- private String message;
- private boolean success;
- @Override
- public void setCourse(CourseTO course) {
- super.setCourse(course);
- preSelectionRecipientsMap = new LinkedHashMap<>();
- preSelectionRecipientsMap.put("allTeams", "allTeams");
- preSelectionRecipientsMap.put("tooFewOrTooMany", "tooFewOrTooMany");
- preSelectionRecipientsMap.put("tooFew", "tooFew");
- preSelectionRecipientsMap.put("tooMany", "tooMany");
- preSelectionRecipientsMap.put("any", "any");
- preSelectionRecipientsTeams = new ArrayList<>();
- preSelectionRecipientsTeamsList = logic.getTeams(0, Integer.MAX_VALUE, course.getId(), true);
- }
- public String getPreSelectionRecipients() {
- return preSelectionRecipients;
- }
- public void setPreSelectionRecipients(String preSelectionRecipients) {
- this.preSelectionRecipients = preSelectionRecipients;
- }
- public Set<String> getPreSelectionRecipientsMap() {
- return preSelectionRecipientsMap.keySet();
- }
- public List<TeamTO> getPreSelectionRecipientsTeams() {
- return preSelectionRecipientsTeams;
- }
- public void setPreSelectionRecipientsTeams(List<TeamTO> preSelectionRecipientsTeams) {
- this.preSelectionRecipientsTeams = preSelectionRecipientsTeams;
- }
- public List<TeamTO> getPreSelectionRecipientsTeamsList() {
- return preSelectionRecipientsTeamsList;
- }
- public String getRecipients() {
- return recipients;
- }
- public void setRecipients(String recipients) {
- this.recipients = recipients;
- }
- public String getSubject() {
- return subject;
- }
- public void setSubject(String subject) {
- this.subject = subject;
- }
- public String getMessage() {
- return message;
- }
- public void setMessage(String message) {
- this.message = message;
- }
- public boolean isSuccess() {
- return success;
- }
- public void setSuccess(boolean success) {
- this.success = success;
- }
- public String sendMail() {
- List<String> recipientsList = new ArrayList<>();
- for (String s : getRecipients().replaceAll("\\s", "").split(",")) {
- recipientsList.add(s);
- }
- Mailer.sendMail(loginBean.getSvnUsername(), loginBean.getSvnPassword(), recipientsList, subject, message);
- setSuccess(true);
- return null;
- }
- public void setPreSelectedRecipients() {
- String preSelectedRecipients = "";
- String delim = "";
- List<TeamTO> subListTeams;
- switch (getPreSelectionRecipients()) {
- case "allTeams":
- for (TeamTO t : getPreSelectionRecipientsTeamsList()) {
- for (PersonTO p : t.getMembers()) {
- preSelectedRecipients = preSelectedRecipients + delim + p.getName();
- delim = ",";
- }
- }
- break;
- case "tooFewOrTooMany":
- subListTeams = new ArrayList<>();
- for (TeamTO t : getPreSelectionRecipientsTeamsList()) {
- if (t.getMembers().size() < course.getMinMembers() || t.getMembers().size() > course.getMaxMembers()) {
- subListTeams.add(t);
- }
- }
- for (TeamTO t : subListTeams) {
- for (PersonTO p : t.getMembers()) {
- preSelectedRecipients = preSelectedRecipients + delim + p.getName();
- delim = ",";
- }
- }
- subListTeams = null;
- break;
- case "tooFew":
- subListTeams = new ArrayList<>();
- for (TeamTO t : getPreSelectionRecipientsTeamsList()) {
- if (t.getMembers().size() < course.getMinMembers()) {
- subListTeams.add(t);
- }
- }
- for (TeamTO t : subListTeams) {
- for (PersonTO p : t.getMembers()) {
- preSelectedRecipients = preSelectedRecipients + delim + p.getName();
- delim = ",";
- }
- }
- subListTeams = null;
- break;
- case "tooMany":
- subListTeams = new ArrayList<>();
- for (TeamTO t : getPreSelectionRecipientsTeamsList()) {
- if (t.getMembers().size() > course.getMaxMembers()) {
- subListTeams.add(t);
- }
- }
- for (TeamTO t : subListTeams) {
- for (PersonTO p : t.getMembers()) {
- preSelectedRecipients = preSelectedRecipients + delim + p.getName();
- delim = ",";
- }
- }
- subListTeams = null;
- break;
- case "any":
- // ExceptionHandler: ClassCastException java.lang.String cannot be cast to org.riediger.teams.logic.to.TeamTO
- for (TeamTO t : getPreSelectionRecipientsTeams()) {
- for (PersonTO p : t.getMembers()) {
- preSelectedRecipients = preSelectedRecipients + delim + p.getName();
- delim = ",";
- }
- }
- break;
- }
- setRecipients(preSelectedRecipients);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement