- added util method to get for getting a CDM entity (used in authenication/permissio...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / security / PermissionPropertyTester.java
index ca9a014dcfc46fde753c814077675ddbefa4ff53..7be4c8720211a93f60e3711563723231a8234d52 100644 (file)
@@ -10,17 +10,18 @@ import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
 import eu.etaxonomy.cdm.persistence.hibernate.permission.CdmAuthority;
 import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
 
 /**
  * Checks if the currently authenticated user for {@link CdmAuthority} assignments.
- * 
+ *
  * @author andreas
  *
  */
 public class PermissionPropertyTester extends PropertyTester {
-       
+
        private static final String HAS_PERMISSIONS = "hasPermissions";
-       
+
        private static final String CREATE = CRUD.CREATE.toString();
        private static final String READ = CRUD.READ.toString();
        private static final String UPDATE = CRUD.UPDATE.toString();
@@ -29,21 +30,21 @@ public class PermissionPropertyTester extends PropertyTester {
        @Override
        public boolean test(Object receiver, String property, Object[] args,
                        Object expectedValue) {
-               
+
                if(property.equals(HAS_PERMISSIONS)){
                        return checkHasPermission(receiver, args);
                }
-                       
+
                return false;
        }
 
        private boolean checkHasPermission(Object receiver, Object[] args) {
                EnumSet<CRUD> crudSet = crudSetFromArgs(args);
 
-               
+
                List<Object> selectedElements = ((IStructuredSelection) receiver).toList();
                for(Object selectedElement : selectedElements){
-                       if(selectedElement instanceof CdmBase && ! CdmStore.currentAuthentiationHasPermission((CdmBase) selectedElement, crudSet)){
+                       if(selectedElement instanceof CdmBase && ! CdmStore.currentAuthentiationHasPermission(StoreUtil.getCdmEntity(selectedElement), crudSet)){
                                return false;
                        }
                }