import java.util.ArrayList;
import java.util.List;
+import javax.transaction.UserTransaction;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.argeo.ArgeoException;
import org.argeo.eclipse.ui.EclipseUiUtils;
import org.argeo.jcr.ArgeoNames;
/** List all users with filter - based on Ldif userAdmin */
public class UsersView extends ViewPart implements ArgeoNames {
+ private final static Log log = LogFactory.getLog(UsersView.class);
public final static String ID = SecurityAdminPlugin.PLUGIN_ID
+ ".usersView";
/* DEPENDENCY INJECTION */
private UserAdmin userAdmin;
+ private UserTransaction userTransaction;
// UI Objects
private UserTableViewer userTableViewerCmp;
// Really?
userTableViewerCmp.refresh();
+
+ try {
+ if (userTransaction != null)
+ userTransaction.begin();
+ } catch (Exception e) {
+ throw new ArgeoException("Cannot begin transaction", e);
+ }
}
private class MyUserTableViewer extends UserTableViewer {
@Override
public void dispose() {
super.dispose();
+ // try {
+ // if (userTransaction != null
+ // && userTransaction.getStatus() != Status.STATUS_NO_TRANSACTION)
+ // userTransaction.rollback();
+ // } catch (Exception e) {
+ // log.error("Cannot clean transaction", e);
+ // }
}
@Override
public void setUserAdmin(UserAdmin userAdmin) {
this.userAdmin = userAdmin;
}
+
+ public void setUserTransaction(UserTransaction userTransaction) {
+ this.userTransaction = userTransaction;
+ }
+
}
\ No newline at end of file