EventOrganiserBean.java
1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package fi.insomnia.bortal.beans;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import fi.insomnia.bortal.exceptions.PermissionDeniedException;
import fi.insomnia.bortal.facade.EventOrganiserFacade;
import fi.insomnia.bortal.model.EventOrganiser;
/**
* Session Bean implementation class EventOrganiserBean
*/
@Stateless
public class EventOrganiserBean implements EventOrganiserBeanLocal {
@EJB
private EventOrganiserFacade eventorgfacade;
@EJB
private UserBeanLocal userbean;
@EJB
private SecurityBeanLocal securitybean;
/**
* Default constructor.
*/
public EventOrganiserBean() {
// TODO Auto-generated constructor stub
}
@Override
public void save(EventOrganiser eventorg) {
fatalPermission(eventorg);
eventorgfacade.merge(eventorg);
}
public void fatalPermission(EventOrganiser eventorg) {
if (!userbean.isCurrentUser(eventorg.getAdmin()) && !userbean.getCurrentUser().isSuperadmin()) {
throw new PermissionDeniedException(securitybean, userbean.getCurrentUser(), "Someone other than admin tried to access EventOrganiser: " + eventorg.toString());
}
}
@Override
public List<EventOrganiser> getEventOrganisers() {
if(!userbean.getCurrentUser().isSuperadmin())
{
throw new PermissionDeniedException(securitybean, userbean.getCurrentUser(), "Non-superadmin tried to list all EventOrganisers");
}
return eventorgfacade.findAll();
}
@Override
public EventOrganiser create(String name) {
EventOrganiser ret = new EventOrganiser();
ret.setAdmin(userbean.getCurrentUser());
ret.setOrganisation(name);
eventorgfacade.create(ret);
return ret;
}
}