[jboss-cvs] jboss-seam/src/main/org/jboss/seam/security ...
Gavin King
gavin.king at jboss.com
Sun Jul 8 17:13:37 EDT 2007
User: gavin
Date: 07/07/08 17:13:37
Modified: src/main/org/jboss/seam/security Configuration.java
Log:
use @Factory instead of @Unwrap where that makes more sense
Revision Changes Path
1.4 +23 -19 jboss-seam/src/main/org/jboss/seam/security/Configuration.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Configuration.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/security/Configuration.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- Configuration.java 26 Jun 2007 00:09:04 -0000 1.3
+++ Configuration.java 8 Jul 2007 21:13:37 -0000 1.4
@@ -1,5 +1,7 @@
package org.jboss.seam.security;
+import static org.jboss.seam.ScopeType.APPLICATION;
+
import java.util.HashMap;
import javax.security.auth.login.AppConfigurationEntry;
@@ -7,54 +9,56 @@
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.Create;
+import org.jboss.seam.annotations.Factory;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
-import org.jboss.seam.annotations.Unwrap;
import org.jboss.seam.annotations.intercept.BypassInterceptors;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.security.jaas.SeamLoginModule;
/**
- * Manager component for a JAAS Configuration used
- * by Seam Security.
+ * Factory for the JAAS Configuration used by Seam Security.
*
* @author Shane Bryzak
*
*/
- at Name("org.jboss.seam.security.configuration")
+ at Name("org.jboss.seam.security.configurationFactory")
@BypassInterceptors
- at Scope(ScopeType.APPLICATION)
+ at Scope(ScopeType.STATELESS)
public class Configuration
{
static final String DEFAULT_JAAS_CONFIG_NAME = "default";
- private javax.security.auth.login.Configuration configuration;
-
- @Create
- public void init()
+ protected javax.security.auth.login.Configuration createConfiguration()
{
- configuration = new javax.security.auth.login.Configuration()
+ return new javax.security.auth.login.Configuration()
{
- private AppConfigurationEntry[] aces = { new AppConfigurationEntry(
- SeamLoginModule.class.getName(),
- LoginModuleControlFlag.REQUIRED,
- new HashMap<String,String>()
- ) };
+ private AppConfigurationEntry[] aces = { createAppConfigurationEntry() };
+
@Override
public AppConfigurationEntry[] getAppConfigurationEntry(String name)
{
return DEFAULT_JAAS_CONFIG_NAME.equals(name) ? aces : null;
}
+
@Override
public void refresh() {}
};
}
- @Unwrap
+ protected AppConfigurationEntry createAppConfigurationEntry()
+ {
+ return new AppConfigurationEntry(
+ SeamLoginModule.class.getName(),
+ LoginModuleControlFlag.REQUIRED,
+ new HashMap<String,String>()
+ );
+ }
+
+ @Factory(value="org.jboss.seam.security.configuration", autoCreate=true, scope=APPLICATION)
public javax.security.auth.login.Configuration getConfiguration()
{
- return configuration;
+ return createConfiguration();
}
public static javax.security.auth.login.Configuration instance()
@@ -63,6 +67,6 @@
{
throw new IllegalStateException("No active application scope");
}
- return (javax.security.auth.login.Configuration) Component.getInstance(Configuration.class);
+ return (javax.security.auth.login.Configuration) Component.getInstance("org.jboss.seam.security.configuration");
}
}
More information about the jboss-cvs-commits
mailing list