You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ad...@apache.org on 2004/11/10 04:14:43 UTC
svn commit: rev 57121 - geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment
Author: adc
Date: Tue Nov 9 19:14:42 2004
New Revision: 57121
Modified:
geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java
Log:
Temporary fix
Modified: geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java
==============================================================================
--- geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java (original)
+++ geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java Tue Nov 9 19:14:42 2004
@@ -53,12 +53,21 @@
import org.apache.geronimo.naming.java.ReadOnlyContext;
import org.apache.geronimo.schema.SchemaConversionUtils;
import org.apache.geronimo.security.deploy.Security;
-import org.apache.geronimo.security.deployment.SecurityBuilder;
+import org.apache.geronimo.security.deploy.DefaultPrincipal;
+import org.apache.geronimo.security.deploy.Role;
+import org.apache.geronimo.security.deploy.Realm;
+import org.apache.geronimo.security.deploy.Principal;
import org.apache.geronimo.transaction.OnlineUserTransaction;
import org.apache.geronimo.xbeans.geronimo.jetty.JettyDependencyType;
import org.apache.geronimo.xbeans.geronimo.jetty.JettyGbeanType;
import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
+import org.apache.geronimo.xbeans.geronimo.security.GerSecurityType;
+import org.apache.geronimo.xbeans.geronimo.security.GerDefaultPrincipalType;
+import org.apache.geronimo.xbeans.geronimo.security.GerRoleMappingsType;
+import org.apache.geronimo.xbeans.geronimo.security.GerRoleType;
+import org.apache.geronimo.xbeans.geronimo.security.GerRealmType;
+import org.apache.geronimo.xbeans.geronimo.security.GerPrincipalType;
import org.apache.geronimo.xbeans.j2ee.FilterMappingType;
import org.apache.geronimo.xbeans.j2ee.SecurityConstraintType;
import org.apache.geronimo.xbeans.j2ee.ServletMappingType;
@@ -296,7 +305,7 @@
UserTransaction userTransaction = new OnlineUserTransaction();
ReadOnlyContext compContext = buildComponentContext(earContext, webModule, webApp, jettyWebApp, userTransaction, webClassLoader);
- Security security = SecurityBuilder.buildSecurityConfig(jettyWebApp.getSecurity());
+ Security security = buildSecurityConfig(jettyWebApp);
GBeanMBean gbean;
try {
@@ -442,6 +451,62 @@
if (webApp.getSessionConfigArray().length > 1) throw new DeploymentException("Multiple <session-config> elements found");
if (webApp.getJspConfigArray().length > 1) throw new DeploymentException("Multiple <jsp-config> elements found");
if (webApp.getLoginConfigArray().length > 1) throw new DeploymentException("Multiple <login-config> elements found");
+ }
+
+ private static Security buildSecurityConfig(JettyWebAppType jettyWebApp) {
+ Security security = null;
+
+ GerSecurityType securityType = jettyWebApp.getSecurity();
+ if (securityType != null) {
+ security = new Security();
+
+ security.setUseContextHandler(securityType.getUseContextHandler());
+
+ GerDefaultPrincipalType defaultPrincipalType = securityType.getDefaultPrincipal();
+ DefaultPrincipal defaultPrincipal = new DefaultPrincipal();
+
+ defaultPrincipal.setRealmName(defaultPrincipalType.getRealmName());
+ defaultPrincipal.setPrincipal(buildPrincipal(defaultPrincipalType.getPrincipal()));
+
+ security.setDefaultPrincipal(defaultPrincipal);
+
+ GerRoleMappingsType roleMappingsType = securityType.getRoleMappings();
+ if (roleMappingsType != null) {
+ for (int i = 0; i < roleMappingsType.sizeOfRoleArray(); i++) {
+ GerRoleType roleType = roleMappingsType.getRoleArray(i);
+ Role role = new Role();
+
+ role.setRoleName(roleType.getRoleName());
+
+ for (int j = 0; j < roleType.sizeOfRealmArray(); j++) {
+ GerRealmType realmType = roleType.getRealmArray(j);
+ Realm realm = new Realm();
+
+ realm.setRealmName(realmType.getRealmName());
+
+ for (int k = 0; k < realmType.sizeOfPrincipalArray(); k++) {
+ realm.getPrincipals().add(buildPrincipal(realmType.getPrincipalArray(k)));
+ }
+
+ role.getRealms().add(realm);
+ }
+
+ security.getRoleMappings().add(role);
+ }
+ }
+ }
+
+ return security;
+ }
+
+ private static Principal buildPrincipal(GerPrincipalType principalType) {
+ Principal principal = new Principal();
+
+ principal.setClassName(principalType.getClass1());
+ principal.setPrincipalName(principalType.getName());
+ principal.setDesignatedRunAs(principalType.isSetDesignatedRunAs());
+
+ return principal;
}
public static final GBeanInfo GBEAN_INFO;
Re: svn commit: rev 57121 - geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment
Posted by Jeremy Boynes <jb...@gluecode.com>.
adc@apache.org wrote:
> Author: adc
> Date: Tue Nov 9 19:14:42 2004
> New Revision: 57121
>
> Modified:
> geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java
> Log:
> Temporary fix
>
Er, for what? :-)
--
Jeremy