fix uuid as UniqueKey problem
[cdmlib.git] / cdmlib-persistence / src / main / java / eu / etaxonomy / cdm / database / PermissionDeniedException.java
1
2 package eu.etaxonomy.cdm.database;
3
4 import java.util.EnumSet;
5
6 import org.apache.log4j.Logger;
7 import org.hibernate.HibernateException;
8 import org.springframework.security.core.Authentication;
9
10 import eu.etaxonomy.cdm.model.common.CdmBase;
11 import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
12 import eu.etaxonomy.cdm.persistence.hibernate.permission.Operation;
13 import eu.etaxonomy.cdm.persistence.hibernate.permission.Role;
14
15
16 /**
17 *
18 * @author andreas
19 * @date Sep 4, 2012
20 *
21 */
22 public class PermissionDeniedException extends HibernateException {
23
24 private static final long serialVersionUID = 1L;
25
26 private static final Logger logger = Logger
27 .getLogger(PermissionDeniedException.class);
28
29 /**
30 * @param message
31 */
32 public PermissionDeniedException(String message) {
33 super(message);
34 }
35
36 public PermissionDeniedException(Authentication authentication, CdmBase entity, Operation requiredOperation) {
37 super(requiredOperation + " not permitted for '" + authentication.getName()
38 + "' on " + entity.getClass().getSimpleName() + "[uuid:" + entity.getUuid() + "', toString:'" + entity.toString() + "']");
39 }
40
41 public PermissionDeniedException(Authentication authentication, CdmBase entity, EnumSet<CRUD> requiredOperation) {
42 super(requiredOperation + " not permitted for '" + authentication.getName()
43 + "' on " + entity.getClass().getSimpleName() + "[uuid:" + entity.getUuid() + "', toString:'" + entity.toString() + "']");
44 }
45
46 public PermissionDeniedException(Authentication authentication, CdmBase entity, String requiredOperation) {
47 super(requiredOperation + " not permitted for '" + authentication.getName()
48 + "' on " + entity.getClass().getSimpleName() + "[uuid:" + entity.getUuid() + "', toString:'" + entity.toString() + "']");
49 }
50
51 /**
52 * @param authentication
53 * @param roles
54 */
55 public PermissionDeniedException(Authentication authentication, Role[] roles) {
56
57 super("Permission denied for '" + authentication.getName()
58 + "' none of the roles '" + roles + "' found in authentication.");
59 }
60
61 /**
62 * @param cause
63 */
64 public PermissionDeniedException(Throwable cause) {
65 super(cause);
66 }
67
68 /**
69 * @param message
70 * @param cause
71 */
72 public PermissionDeniedException(String message, Throwable cause) {
73 super(message, cause);
74 }
75
76 }