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 2003/11/18 05:16:22 UTC

cvs commit: incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment GeronimoEjbJarLoader.java GeronimoJ2EELoader.java GeronimoWebAppLoader.java

adc         2003/11/17 20:16:22

  Modified:    modules/core/src/java/org/apache/geronimo/xml/deployment
                        GeronimoEjbJarLoader.java GeronimoJ2EELoader.java
                        GeronimoWebAppLoader.java
  Log:
  Principal/Role mappings added.
  
  Revision  Changes    Path
  1.10      +2 -1      incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/GeronimoEjbJarLoader.java
  
  Index: GeronimoEjbJarLoader.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/GeronimoEjbJarLoader.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- GeronimoEjbJarLoader.java	18 Nov 2003 02:15:13 -0000	1.9
  +++ GeronimoEjbJarLoader.java	18 Nov 2003 04:16:22 -0000	1.10
  @@ -83,6 +83,7 @@
           EjbJar jar = new EjbJar();
           jar.setVersion(root.getAttribute("version"));
           jar.setClassSpace(GeronimoJ2EELoader.loadClassSpace(root));
  +        jar.setSecurity(GeronimoJ2EELoader.loadSecurity(root));
           J2EELoader.loadDisplayable(root, jar);
           jar.setModuleName(LoaderUtil.getChildContent(root, "module-name"));
           String datasourceName = LoaderUtil.getChildContent(root, "datasource-name");
  
  
  
  1.7       +80 -1     incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/GeronimoJ2EELoader.java
  
  Index: GeronimoJ2EELoader.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/GeronimoJ2EELoader.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- GeronimoJ2EELoader.java	17 Nov 2003 02:03:16 -0000	1.6
  +++ GeronimoJ2EELoader.java	18 Nov 2003 04:16:22 -0000	1.7
  @@ -65,6 +65,11 @@
   import org.apache.geronimo.deployment.model.geronimo.j2ee.MessageDestination;
   import org.apache.geronimo.deployment.model.geronimo.j2ee.SecurityRoleRef;
   import org.apache.geronimo.deployment.model.geronimo.j2ee.ClassSpace;
  +import org.apache.geronimo.deployment.model.geronimo.j2ee.Security;
  +import org.apache.geronimo.deployment.model.geronimo.j2ee.RoleMappings;
  +import org.apache.geronimo.deployment.model.geronimo.j2ee.Role;
  +import org.apache.geronimo.deployment.model.geronimo.j2ee.Realm;
  +import org.apache.geronimo.deployment.model.geronimo.j2ee.Principal;
   import org.w3c.dom.Element;
   
   /**
  @@ -197,5 +202,79 @@
           classSpace.setClassSpace(LoaderUtil.getAttribute(cs, "name"));
           classSpace.setParentClassSpace((LoaderUtil.getAttribute(cs, "parent")));
           return classSpace;
  +    }
  +
  +    public static Security loadSecurity(Element e) {
  +        Element s = LoaderUtil.getChild(e, "security");
  +        Security security = new Security();
  +
  +        J2EELoader.loadDescribable(s, security);
  +
  +        security.setRoleMappings(loadRoleMappings(s));
  +
  +        return security;
  +    }
  +
  +    public static RoleMappings loadRoleMappings(Element e) {
  +        Element rm = LoaderUtil.getChild(e, "role-mappings");
  +
  +        if (rm == null) return null;
  +
  +        RoleMappings roleMappings = new RoleMappings();
  +        roleMappings.setRole(loadRoles(rm));
  +
  +        return roleMappings;
  +    }
  +
  +    public static Role[] loadRoles(Element e) {
  +        Element[] nodes = LoaderUtil.getChildren(e, "role");
  +        Role[] result = new Role[nodes.length];
  +        for(int i = 0; i < nodes.length; i++) {
  +            result[i] = loadRole(nodes[i], new Role());
  +        }
  +        return result;
  +    }
  +
  +    public static Role loadRole(Element e, Role role) {
  +        J2EELoader.loadDescribable(e, role);
  +        role.setRoleName(LoaderUtil.getAttribute(e, "role-name"));
  +        role.setRealm(loadRealms(e));
  +
  +        return role;
  +    }
  +
  +    public static Realm[] loadRealms(Element e) {
  +        Element[] nodes = LoaderUtil.getChildren(e, "realm");
  +        Realm[] result = new Realm[nodes.length];
  +        for(int i = 0; i < nodes.length; i++) {
  +            result[i] = loadRealm(nodes[i], new Realm());
  +        }
  +        return result;
  +    }
  +
  +    public static Realm loadRealm(Element e, Realm realm) {
  +        J2EELoader.loadDescribable(e, realm);
  +        realm.setRealmName(LoaderUtil.getAttribute(e, "realm-name"));
  +        realm.setPrincipal(loadPrincipals(e));
  +
  +        return realm;
  +    }
  +
  +    public static Principal[] loadPrincipals(Element e) {
  +        Element[] nodes = LoaderUtil.getChildren(e, "principal");
  +        Principal[] result = new Principal[nodes.length];
  +        for(int i = 0; i < nodes.length; i++) {
  +            result[i] = loadPrincipal(nodes[i], new Principal());
  +        }
  +        return result;
  +    }
  +
  +    public static Principal loadPrincipal(Element e, Principal principal) {
  +        J2EELoader.loadDescribable(e, principal);
  +
  +        principal.setName(LoaderUtil.getAttribute(e, "name"));
  +        principal.setClassName(LoaderUtil.getAttribute(e, "class"));
  +
  +        return principal;
       }
   }
  
  
  
  1.4       +2 -1      incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/GeronimoWebAppLoader.java
  
  Index: GeronimoWebAppLoader.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/GeronimoWebAppLoader.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- GeronimoWebAppLoader.java	7 Oct 2003 17:16:37 -0000	1.3
  +++ GeronimoWebAppLoader.java	18 Nov 2003 04:16:22 -0000	1.4
  @@ -74,6 +74,7 @@
   
           WebApp webApp = new WebApp();
           loadCommonElements(webApp, root);
  +        webApp.setSecurity(GeronimoJ2EELoader.loadSecurity(root));
           webApp.setEnvEntry(J2EELoader.loadEnvEntries(root));
           webApp.setEJBRef(GeronimoJ2EELoader.loadEJBRefs(root));
           webApp.setEJBLocalRef(GeronimoJ2EELoader.loadEJBLocalRefs(root));