merge-update of trunk and disabling GUI-Control separation
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / group / grantedauthority / CdmAuthorityCompositeViewer.java
index 701b73923ae4d4f182ff729dd5b35edabf3467e2..cb910b32c9960407c9c3ae5f7c7b6c3c5b05f61a 100644 (file)
@@ -23,12 +23,12 @@ import org.eclipse.swt.widgets.Control;
 import org.springframework.security.core.GrantedAuthority;
 
 import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.common.Group;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
-import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl;
+import eu.etaxonomy.cdm.model.common.Group;
 import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
 import eu.etaxonomy.cdm.persistence.hibernate.permission.CdmAuthority;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
 
 
 
@@ -177,7 +177,7 @@ public class CdmAuthorityCompositeViewer extends ContentViewer {
         * @param grantedAuthorityI to update.
         * @param cdmAuthority to use in updating the granted authority object.
         */
-       public void updateGrantedAuthority(GrantedAuthorityImpl grantedAuthorityI, CdmAuthority cdmAuthority) {
+       public GrantedAuthorityImpl updateGrantedAuthority(GrantedAuthorityImpl grantedAuthorityI, CdmAuthority cdmAuthority) {
                if(grantedAuthorityI.getAuthority().equals(cdmAuthority.getAuthority())) {
                        
                } else {
@@ -186,14 +186,17 @@ public class CdmAuthorityCompositeViewer extends ContentViewer {
                                // we can't really 'update' the granted authority.
                                // so we first add the new authority (hope no exception) is thrown
                                // and then remove the old one.
-                               group.addGrantedAuthority(cdmAuthority.asNewGrantedAuthority());
+                               GrantedAuthorityImpl gai = cdmAuthority.asNewGrantedAuthority();
+                               group.addGrantedAuthority(gai);
                                group.removeGrantedAuthority(grantedAuthorityI);
-                               dirtyMarkerEditor.changed(grantedAuthorityI);                           
+                               dirtyMarkerEditor.changed(grantedAuthorityI);
+                               return gai;
                        } catch(Exception e) {
                                // Not a CDM Authority
                                //e.printStackTrace();
                        }
-               }               
+               }
+               return grantedAuthorityI;
        }
        
        /**