From: Bruno Sinou Date: Wed, 16 Sep 2015 11:14:02 +0000 (+0000) Subject: Plug password management X-Git-Tag: argeo-commons-2.1.30~143 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=d5ffed5d8b881677873e32abd39440d0a0ac73e0;p=lgpl%2Fargeo-commons.git Plug password management Clean transaction state observation git-svn-id: https://svn.argeo.org/commons/trunk@8410 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.security.ui.admin/META-INF/spring/common.xml b/org.argeo.security.ui.admin/META-INF/spring/common.xml index 1f6b56e3a..5cf10913b 100644 --- a/org.argeo.security.ui.admin/META-INF/spring/common.xml +++ b/org.argeo.security.ui.admin/META-INF/spring/common.xml @@ -3,6 +3,13 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> + + + + + @@ -11,6 +18,7 @@ - + + + \ No newline at end of file diff --git a/org.argeo.security.ui.admin/plugin.xml b/org.argeo.security.ui.admin/plugin.xml index e22ef0787..eae744960 100644 --- a/org.argeo.security.ui.admin/plugin.xml +++ b/org.argeo.security.ui.admin/plugin.xml @@ -200,9 +200,13 @@ - + + diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/NewUser.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/NewUser.java index 656185b73..0154f03bd 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/NewUser.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/NewUser.java @@ -135,8 +135,7 @@ public class NewUser extends AbstractHandler { if (UiAdminUtils.notNull(mailStr)) props.put(UserAdminConstants.KEY_MAIL, mailStr); - // TODO MANAGE Password - // pwd1Txt.getText(); + user.getCredentials().put(null, password); return true; } catch (Exception e) { ErrorFeedback.show("Cannot create new user " + username, e); diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java index 3872f8dfd..58ca19c6e 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java @@ -85,7 +85,6 @@ public class UiAdminUtils { .getService(ISourceProviderService.class); UserTransactionProvider esp = (UserTransactionProvider) sourceProviderService .getSourceProvider(UserTransactionProvider.TRANSACTION_STATE); - esp.setUserTransaction(userTransaction); esp.fireTransactionStateChange(); } catch (Exception e) { throw new ArgeoException("Unable to begin transaction", e); diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UserTransactionProvider.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UserTransactionProvider.java index 3a57c59ad..a3af53e63 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UserTransactionProvider.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UserTransactionProvider.java @@ -11,15 +11,13 @@ import org.argeo.security.ui.admin.SecurityAdminPlugin; import org.eclipse.ui.AbstractSourceProvider; import org.eclipse.ui.ISources; -/** Centralize interaction with the UserTransaction among the UI */ +/** Notifies the UI on UserTransaction state change */ public class UserTransactionProvider extends AbstractSourceProvider { public final static String TRANSACTION_STATE = SecurityAdminPlugin.PLUGIN_ID + ".userTransactionState"; public final static String STATUS_ACTIVE = "status.active"; public final static String STATUS_NO_TRANSACTION = "status.noTransaction"; - private String transactionState = STATUS_NO_TRANSACTION; - /* DEPENDENCY INJECTION */ private UserTransaction userTransaction; @@ -31,10 +29,7 @@ public class UserTransactionProvider extends AbstractSourceProvider { @Override public Map getCurrentState() { Map currentState = new HashMap(1); - // TODO implement asking to the UserTransaction - // String transactionState = isActive ? STATUS_ACTIVE : - // STATUS_NO_TRANSACTION; - currentState.put(TRANSACTION_STATE, transactionState); + currentState.put(TRANSACTION_STATE, getInternalCurrentState()); return currentState; } @@ -42,23 +37,15 @@ public class UserTransactionProvider extends AbstractSourceProvider { public void dispose() { } - /** Publish the ability to change the state. */ - public void setUserTransactionState(String newState) { - transactionState = newState; - // fireSourceChanged(ISources.WORKBENCH, TRANSACTION_STATE, - // transactionState); - } - - private void refreshState() { + private String getInternalCurrentState() { try { - if (userTransaction != null) { - if (userTransaction.getStatus() == Status.STATUS_NO_TRANSACTION) - transactionState = STATUS_NO_TRANSACTION; - else if (userTransaction.getStatus() == Status.STATUS_ACTIVE) - transactionState = STATUS_ACTIVE; - fireSourceChanged(ISources.WORKBENCH, TRANSACTION_STATE, - transactionState); - } + String transactionState; + if (userTransaction.getStatus() == Status.STATUS_NO_TRANSACTION) + transactionState = STATUS_NO_TRANSACTION; + else + // if (userTransaction.getStatus() == Status.STATUS_ACTIVE) + transactionState = STATUS_ACTIVE; + return transactionState; } catch (Exception e) { throw new ArgeoException("Unable to begin transaction", e); } @@ -66,14 +53,12 @@ public class UserTransactionProvider extends AbstractSourceProvider { /** Publish the ability to notify a state change */ public void fireTransactionStateChange() { - refreshState(); + fireSourceChanged(ISources.WORKBENCH, TRANSACTION_STATE, + getInternalCurrentState()); } - /** FIXME: Rather inject the UserTransaction. */ - @Deprecated + /* DEPENDENCY INJECTION */ public void setUserTransaction(UserTransaction userTransaction) { this.userTransaction = userTransaction; - // dirty init - refreshState(); } } \ No newline at end of file