added facade class for handling recipient sets
This commit is contained in:
parent
ffe60623b9
commit
1b487ae750
src/main/java/se/su/dsv/scipro
@ -29,6 +29,7 @@ import se.su.dsv.scipro.data.dao.interfaces.UserDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.GeneralSystemSettings;
|
||||
import se.su.dsv.scipro.data.dataobjects.MailEvent;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
import se.su.dsv.scipro.data.facade.MailFacade;
|
||||
|
||||
public class AdminMailPanel extends Panel {
|
||||
|
||||
@ -38,11 +39,14 @@ public class AdminMailPanel extends Panel {
|
||||
private MailEventDao mailEventDao;
|
||||
@SpringBean
|
||||
private GeneralSystemSettingsDao generalSystemSettingsDao;
|
||||
@SpringBean
|
||||
private MailFacade mailFacade;
|
||||
|
||||
private Set<User> userSet;
|
||||
private static final Logger logger = Logger.getLogger(AdminMailPanel.class);
|
||||
private final String AUTHORS_ALL = "Just me";
|
||||
// private final String AUTHORS_ALL = "All authors";
|
||||
private final String AUTHORS_JUSTME = "Just me"; //Dev purposes
|
||||
private final String AUTHORS_ACTIVE_PROJECT = "Authors with active projects";
|
||||
private final String AUTHORS_ALL = "All authors";
|
||||
// private final String AUTHORS_CONFIRMED = "Authors with confirmed project ideas";
|
||||
// private final String AUTHORS_UNCONFIRMED = "Authors with unconfirmed project ideas";
|
||||
private final String AUTHORS_REFUSED = "Authors with refused project ideas";
|
||||
@ -122,12 +126,12 @@ public class AdminMailPanel extends Panel {
|
||||
}
|
||||
|
||||
private void setUpRadioButtons() {
|
||||
List<String> options = Arrays.asList(new String[]{AUTHORS_ALL,AUTHORS_REFUSED,THESISSUPPORT,SUPERVISOR_ALL, SUPERVISOR_UNCONFIRMED});
|
||||
final RadioChoice<String> rc = new RadioChoice<String>("radioChoices",Model.of(AUTHORS_ALL), options);
|
||||
List<String> options = Arrays.asList(new String[]{AUTHORS_JUSTME,AUTHORS_ALL,AUTHORS_ACTIVE_PROJECT,AUTHORS_REFUSED,THESISSUPPORT,SUPERVISOR_ALL, SUPERVISOR_UNCONFIRMED});
|
||||
final RadioChoice<String> choice = new RadioChoice<String>("radioChoices",Model.of(AUTHORS_ALL), options);
|
||||
|
||||
//Default values, taken from RadioChoice constructor above (Model.of(your choice)).
|
||||
userSet = new HashSet<User>();
|
||||
userSet = getRecipients(rc.getModelObject());
|
||||
userSet = getRecipients(choice.getModelObject());
|
||||
|
||||
AjaxFormChoiceComponentUpdatingBehavior behavior = new AjaxFormChoiceComponentUpdatingBehavior() {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -135,27 +139,25 @@ public class AdminMailPanel extends Panel {
|
||||
@Override
|
||||
protected void onUpdate(AjaxRequestTarget target) {
|
||||
userSet = new HashSet<User>();
|
||||
userSet = getRecipients(rc.getModelObject());
|
||||
userSet = getRecipients(choice.getModelObject());
|
||||
}
|
||||
};
|
||||
rc.add(behavior);
|
||||
add(rc);
|
||||
choice.add(behavior);
|
||||
add(choice);
|
||||
}
|
||||
|
||||
|
||||
private Set<User> getRecipients(String choiceInput) {
|
||||
Set<User> recipients = new HashSet<User>();
|
||||
if(choiceInput.equals(AUTHORS_ALL)) {
|
||||
recipients.add(userDao.getUserByEmail("emil-siv@dsv.su.se"));
|
||||
if(choiceInput.equals(AUTHORS_JUSTME)) {
|
||||
recipients = mailFacade.addJustMe();
|
||||
}
|
||||
else if(choiceInput.equals(AUTHORS_ACTIVE_PROJECT)) {
|
||||
}
|
||||
else if(choiceInput.equals(AUTHORS_REFUSED)) {
|
||||
recipients.add(userDao.getUserByEmail("emil-siv@dsv.su.se"));
|
||||
//recipients.add(userDao.getUserByEmail("fred-fri@dsv.su.se"));
|
||||
}
|
||||
else if(choiceInput.equals(THESISSUPPORT)) {
|
||||
recipients.add(userDao.getUserByEmail("emil-siv@dsv.su.se"));
|
||||
//recipients.add(userDao.getUserByEmail("fred-fri@dsv.su.se"));
|
||||
//recipients.add(userDao.getUserByEmail("robi-ekl@dsv.su.se"));
|
||||
|
||||
}
|
||||
else if(choiceInput.equals(SUPERVISOR_ALL)) {
|
||||
}
|
||||
|
28
src/main/java/se/su/dsv/scipro/data/facade/MailFacade.java
Normal file
28
src/main/java/se/su/dsv/scipro/data/facade/MailFacade.java
Normal file
@ -0,0 +1,28 @@
|
||||
package se.su.dsv.scipro.data.facade;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.ProjectDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.UserDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
|
||||
@Service
|
||||
public class MailFacade {
|
||||
|
||||
@Autowired
|
||||
private UserDao userDao;
|
||||
@Autowired
|
||||
private ProjectDao projectDao;
|
||||
|
||||
public Set<User> addJustMe() {
|
||||
Set<User> recipients = new HashSet<User>();
|
||||
recipients.add(userDao.getUserByEmail("emil-siv@dsv.su.se"));
|
||||
return recipients;
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user