Skip to content

Commit d232b2d

Browse files
committed
fix NPE, only enable action beans when seam-persistence is available
1 parent ee1c8db commit d232b2d

File tree

5 files changed

+13
-0
lines changed

5 files changed

+13
-0
lines changed

impl/src/main/java/org/jboss/seam/security/IdentityImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,11 @@ protected boolean authenticate() throws AuthenticationException
274274

275275
Authenticator authenticator = lookupAuthenticator();
276276

277+
if (authenticator == null)
278+
{
279+
throw new AuthenticationException("No Authenticator could be located");
280+
}
281+
277282
if (AuthStatus.SUCCESS.equals(authenticator.authenticate()))
278283
{
279284
user = new UserImpl(credentials.getUsername());

impl/src/main/java/org/jboss/seam/security/management/action/ChangePasswordAction.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@
77

88
import org.jboss.seam.persistence.transaction.Transactional;
99
import org.jboss.seam.security.Identity;
10+
import org.jboss.seam.solder.core.Requires;
1011
import org.picketlink.idm.api.Credential;
1112
import org.picketlink.idm.api.IdentitySession;
1213
import org.picketlink.idm.common.exception.IdentityException;
1314
import org.picketlink.idm.impl.api.PasswordCredential;
1415

16+
@Requires("org.jboss.seam.persistence.transaction.TransactionInterceptor")
1517
public @Transactional @Model class ChangePasswordAction implements Serializable
1618
{
1719
private static final long serialVersionUID = -8727330690588109980L;

impl/src/main/java/org/jboss/seam/security/management/action/GroupAction.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import org.jboss.seam.persistence.transaction.Transactional;
1212
import org.jboss.seam.security.GroupImpl;
13+
import org.jboss.seam.solder.core.Requires;
1314
import org.picketlink.idm.api.Group;
1415
import org.picketlink.idm.api.IdentitySession;
1516
import org.picketlink.idm.common.exception.IdentityException;
@@ -19,6 +20,7 @@
1920
*
2021
* @author Shane Bryzak
2122
*/
23+
@Requires("org.jboss.seam.persistence.transaction.TransactionInterceptor")
2224
public @Named @ConversationScoped class GroupAction implements Serializable
2325
{
2426
private static final long serialVersionUID = -1553124158319503903L;

impl/src/main/java/org/jboss/seam/security/management/action/RoleAction.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import javax.inject.Named;
99

1010
import org.jboss.seam.persistence.transaction.Transactional;
11+
import org.jboss.seam.solder.core.Requires;
1112
import org.picketlink.idm.api.IdentitySession;
1213
import org.picketlink.idm.common.exception.FeatureNotSupportedException;
1314
import org.picketlink.idm.common.exception.IdentityException;
@@ -17,6 +18,7 @@
1718
*
1819
* @author Shane Bryzak
1920
*/
21+
@Requires("org.jboss.seam.persistence.transaction.TransactionInterceptor")
2022
public @Named @ConversationScoped class RoleAction implements Serializable
2123
{
2224
private static final long serialVersionUID = -4215849488301658353L;

impl/src/main/java/org/jboss/seam/security/management/action/UserAction.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
import org.jboss.seam.persistence.transaction.Transactional;
1414
import org.jboss.seam.security.UserImpl;
15+
import org.jboss.seam.solder.core.Requires;
1516
import org.picketlink.idm.api.Attribute;
1617
import org.picketlink.idm.api.Group;
1718
import org.picketlink.idm.api.IdentitySession;
@@ -27,6 +28,7 @@
2728
*
2829
* @author Shane Bryzak
2930
*/
31+
@Requires("org.jboss.seam.persistence.transaction.TransactionInterceptor")
3032
public @Named @ConversationScoped class UserAction implements Serializable
3133
{
3234
private static final long serialVersionUID = 5820385095080724087L;

0 commit comments

Comments
 (0)