We are in the process of migrating our code from Seam 2.2.2 to Seam 2.3beta2. I've got the following method in my code...
public void runTest() throws DataSourceException, ParseException {
new RunAsOperation() {
@Override
public void execute() {
logger.info("Starting...");
String status = identityManager.changePassword("user4",
"passwordTEST");
logger.info("runTest() - String status=" + status); //$NON-NLS-1$
}
}.addRole("admin").run();
}
If I run it like this...
<h:form>
<h:commandLink action="#{myClass.runTest()}" value="Change Password" />
</h:form>
...it says that the password change was successful, however it is never updated within the database. The status is always "success" and I don't see any errors, but the password field is not updated in the database.
However, if I run it like this...
<s:link action="#{myClass.runTest()}" value="Change Password" />
...it works every time. I don't recall having any issues whatsoever with this method in Seam 2.2. Am I doing something wrong here? Is this a bug within Seam? It's a pretty simple use case. I can't imagine that it's the code, but am perfectly willing to admit I'm wrong. I'd really appreciate any help you can give, as this is a major issue that is delaying our code from moving into production. Thanks so much!!!
I don't see any issue on first view. If you can show what source is for:
identityManager.changePassword("user4", "passwordTEST");
It would be help more, I guess.