merge from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / store / CdmStore.java
index f79e18b8417fadea26b26c941899a1a2679d43a2..42f14e5ce1ea0473dbf9b4473d30ce5edec6ed7c 100644 (file)
@@ -33,6 +33,9 @@ import eu.etaxonomy.cdm.ext.geo.IEditGeoService;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
+import eu.etaxonomy.cdm.persistence.hibernate.permission.CdmPermissionEvaluator;
+import eu.etaxonomy.cdm.persistence.hibernate.permission.ICdmPermissionEvaluator;
+import eu.etaxonomy.cdm.persistence.hibernate.permission.Role;
 import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
 import eu.etaxonomy.taxeditor.io.ExportManager;
 import eu.etaxonomy.taxeditor.io.ImportManager;
@@ -301,9 +304,9 @@ public class CdmStore {
         * </p>
         * 
         * @return a
-        *         {@link PermissionEvaluator} object.
+        *         {@link ICdmPermissionEvaluator} object.
         */
-       public static PermissionEvaluator getPermissionEvaluator() {
+       public static ICdmPermissionEvaluator getPermissionEvaluator() {
                return getCurrentApplicationConfiguration().getPermissionEvaluator();
        }
 
@@ -349,6 +352,11 @@ public class CdmStore {
                return getPermissionEvaluator().hasPermission(context.getAuthentication(), null, targetType.getName(), permission);
        }
        
+       public static boolean currentAuthentiationHasOneOfRoles(Role ... roles){
+               SecurityContext context = SecurityContextHolder.getContext();
+               return getPermissionEvaluator().hasOneOfRoles(context.getAuthentication(), roles);
+       }
+       
        /*
         * LANGUAGE
         */