Enable user and group deletion. Remove dynamic Editor icon that triggered NPE on...
[lgpl/argeo-commons.git] / org.argeo.security.ui.admin / src / org / argeo / security / ui / admin / internal / UiAdminUtils.java
index 05858cbd4e4b290a74a0afb5821137e4e734a2de..5430b34d90710432e4000511119e7a88e977ed32 100644 (file)
@@ -5,7 +5,10 @@ import java.security.Principal;
 
 import javax.security.auth.Subject;
 import javax.security.auth.x500.X500Principal;
+import javax.transaction.Status;
+import javax.transaction.UserTransaction;
 
+import org.argeo.ArgeoException;
 import org.osgi.service.useradmin.Role;
 import org.osgi.service.useradmin.User;
 
@@ -38,6 +41,16 @@ public class UiAdminUtils {
                return (firstName.trim() + " " + lastName.trim() + " ").trim();
        }
 
+       public final static void beginTransactionIfNeeded(
+                       UserTransaction userTransaction) {
+               try {
+                       if (userTransaction.getStatus() == Status.STATUS_NO_TRANSACTION)
+                               userTransaction.begin();
+               } catch (Exception e) {
+                       throw new ArgeoException("Unable to begin transaction", e);
+               }
+       }
+
        /*
         * INTERNAL METHODS: Below methods are meant to stay here and are not part
         * of a potential generic backend to manage the useradmin