Advertisement
Guest User

SendMailBean

a guest
Dec 21st, 2015
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.62 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package org.riediger.teams.web;
  7.  
  8. import java.io.Serializable;
  9. import java.util.ArrayList;
  10. import java.util.LinkedHashMap;
  11. import java.util.List;
  12. import java.util.Map;
  13. import java.util.Set;
  14. import javax.faces.view.ViewScoped;
  15. import javax.inject.Named;
  16. import org.riediger.teams.logic.to.CourseTO;
  17. import org.riediger.teams.logic.to.PersonTO;
  18. import org.riediger.teams.logic.to.TeamTO;
  19. import org.riediger.teams.utilities.Mailer;
  20.  
  21. /**
  22.  *
  23.  * @author Tobias
  24.  */
  25. @ViewScoped
  26. @Named
  27. public class SendMailBean extends AbstractEditCourseBean implements Serializable {
  28.  
  29.     private static final long serialVersionUID = 31337L;
  30.  
  31.     private String preSelectionRecipients;
  32.     private Map<String, String> preSelectionRecipientsMap;
  33.     private List<TeamTO> preSelectionRecipientsTeams;
  34.     private List<TeamTO> preSelectionRecipientsTeamsList;
  35.  
  36.     private String recipients;
  37.     private String subject;
  38.     private String message;
  39.  
  40.     private boolean success;
  41.  
  42.     @Override
  43.     public void setCourse(CourseTO course) {
  44.         super.setCourse(course);
  45.  
  46.         preSelectionRecipientsMap = new LinkedHashMap<>();
  47.         preSelectionRecipientsMap.put("allTeams", "allTeams");
  48.         preSelectionRecipientsMap.put("tooFewOrTooMany", "tooFewOrTooMany");
  49.         preSelectionRecipientsMap.put("tooFew", "tooFew");
  50.         preSelectionRecipientsMap.put("tooMany", "tooMany");
  51.         preSelectionRecipientsMap.put("any", "any");
  52.  
  53.         preSelectionRecipientsTeams = new ArrayList<>();
  54.         preSelectionRecipientsTeamsList = logic.getTeams(0, Integer.MAX_VALUE, course.getId(), true);
  55.     }
  56.  
  57.     public String getPreSelectionRecipients() {
  58.         return preSelectionRecipients;
  59.     }
  60.  
  61.     public void setPreSelectionRecipients(String preSelectionRecipients) {
  62.         this.preSelectionRecipients = preSelectionRecipients;
  63.     }
  64.  
  65.     public Set<String> getPreSelectionRecipientsMap() {
  66.         return preSelectionRecipientsMap.keySet();
  67.     }
  68.  
  69.     public List<TeamTO> getPreSelectionRecipientsTeams() {
  70.         return preSelectionRecipientsTeams;
  71.     }
  72.  
  73.     public void setPreSelectionRecipientsTeams(List<TeamTO> preSelectionRecipientsTeams) {
  74.         this.preSelectionRecipientsTeams = preSelectionRecipientsTeams;
  75.     }
  76.  
  77.     public List<TeamTO> getPreSelectionRecipientsTeamsList() {
  78.         return preSelectionRecipientsTeamsList;
  79.     }
  80.  
  81.     public String getRecipients() {
  82.         return recipients;
  83.     }
  84.  
  85.     public void setRecipients(String recipients) {
  86.         this.recipients = recipients;
  87.     }
  88.  
  89.     public String getSubject() {
  90.         return subject;
  91.     }
  92.  
  93.     public void setSubject(String subject) {
  94.         this.subject = subject;
  95.     }
  96.  
  97.     public String getMessage() {
  98.         return message;
  99.     }
  100.  
  101.     public void setMessage(String message) {
  102.         this.message = message;
  103.     }
  104.  
  105.     public boolean isSuccess() {
  106.         return success;
  107.     }
  108.  
  109.     public void setSuccess(boolean success) {
  110.         this.success = success;
  111.     }
  112.  
  113.     public String sendMail() {
  114.         List<String> recipientsList = new ArrayList<>();
  115.         for (String s : getRecipients().replaceAll("\\s", "").split(",")) {
  116.             recipientsList.add(s);
  117.         }
  118.         Mailer.sendMail(loginBean.getSvnUsername(), loginBean.getSvnPassword(), recipientsList, subject, message);
  119.         setSuccess(true);
  120.         return null;
  121.     }
  122.  
  123.     public void setPreSelectedRecipients() {
  124.         String preSelectedRecipients = "";
  125.         String delim = "";
  126.         List<TeamTO> subListTeams;
  127.  
  128.         switch (getPreSelectionRecipients()) {
  129.             case "allTeams":
  130.                 for (TeamTO t : getPreSelectionRecipientsTeamsList()) {
  131.                     for (PersonTO p : t.getMembers()) {
  132.                         preSelectedRecipients = preSelectedRecipients + delim + p.getName();
  133.                         delim = ",";
  134.                     }
  135.                 }
  136.                 break;
  137.  
  138.             case "tooFewOrTooMany":
  139.                 subListTeams = new ArrayList<>();
  140.                 for (TeamTO t : getPreSelectionRecipientsTeamsList()) {
  141.                     if (t.getMembers().size() < course.getMinMembers() || t.getMembers().size() > course.getMaxMembers()) {
  142.                         subListTeams.add(t);
  143.                     }
  144.                 }
  145.                 for (TeamTO t : subListTeams) {
  146.                     for (PersonTO p : t.getMembers()) {
  147.                         preSelectedRecipients = preSelectedRecipients + delim + p.getName();
  148.                         delim = ",";
  149.                     }
  150.                 }
  151.                 subListTeams = null;
  152.                 break;
  153.  
  154.             case "tooFew":
  155.                 subListTeams = new ArrayList<>();
  156.                 for (TeamTO t : getPreSelectionRecipientsTeamsList()) {
  157.                     if (t.getMembers().size() < course.getMinMembers()) {
  158.                         subListTeams.add(t);
  159.                     }
  160.                 }
  161.                 for (TeamTO t : subListTeams) {
  162.                     for (PersonTO p : t.getMembers()) {
  163.                         preSelectedRecipients = preSelectedRecipients + delim + p.getName();
  164.                         delim = ",";
  165.                     }
  166.                 }
  167.                 subListTeams = null;
  168.                 break;
  169.  
  170.             case "tooMany":
  171.                 subListTeams = new ArrayList<>();
  172.                 for (TeamTO t : getPreSelectionRecipientsTeamsList()) {
  173.                     if (t.getMembers().size() > course.getMaxMembers()) {
  174.                         subListTeams.add(t);
  175.                     }
  176.                 }
  177.                 for (TeamTO t : subListTeams) {
  178.                     for (PersonTO p : t.getMembers()) {
  179.                         preSelectedRecipients = preSelectedRecipients + delim + p.getName();
  180.                         delim = ",";
  181.                     }
  182.                 }
  183.                 subListTeams = null;
  184.                 break;
  185.  
  186.             case "any":
  187.                 // ExceptionHandler: ClassCastException java.lang.String cannot be cast to org.riediger.teams.logic.to.TeamTO
  188.                 for (TeamTO t : getPreSelectionRecipientsTeams()) {
  189.                     for (PersonTO p : t.getMembers()) {
  190.                         preSelectedRecipients = preSelectedRecipients + delim + p.getName();
  191.                         delim = ",";
  192.                     }
  193.                 }
  194.                 break;
  195.         }
  196.  
  197.         setRecipients(preSelectedRecipients);
  198.     }
  199. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement