1 45 46 package org.openejb.alt.assembler.classic.xml; 47 48 import org.openejb.OpenEJBException; 49 import org.openejb.alt.assembler.classic.ContainerInfo; 50 import org.openejb.alt.assembler.classic.ContainerSystemInfo; 51 import org.w3c.dom.Node ; 52 53 62 public class ContainerSystem extends ContainerSystemInfo implements DomObject{ 63 64 65 68 public static final String CONTAINERS = "containers"; 69 70 73 public static final String ENTITY_CONTAINER = "entity-container"; 74 75 78 public static final String CMP_ENTITY_CONTAINER = "cmp-entity-container"; 79 80 83 public static final String STATEFUL_SESSION_CONTAINER = "stateful-session-container"; 84 85 88 public static final String STATELESS_SESSION_CONTAINER = "stateless-session-container"; 89 90 91 94 public static final String SECURITY_ROLE = "security-role"; 95 96 99 public static final String METHOD_PERMISSION = "method-permission"; 100 101 104 public static final String METHOD_TRANSACTION = "method-transaction"; 105 106 109 public void initializeFromDOM(Node node) throws OpenEJBException{ 110 111 Node containersElement = DomTools.getChildElement(node, CONTAINERS); 112 113 114 DomObject[] dos = DomTools.collectChildElementsByType(containersElement, EntityContainer.class, ENTITY_CONTAINER); 115 entityContainers = new EntityContainer[dos.length]; 116 for (int i=0; i < dos.length; i++) entityContainers[i] = (EntityContainer)dos[i]; 117 118 119 dos = DomTools.collectChildElementsByType(containersElement, StatelessSessionContainer.class, STATELESS_SESSION_CONTAINER); 120 statelessContainers = new StatelessSessionContainer[dos.length]; 121 for (int i=0; i < dos.length; i++) statelessContainers[i] = (StatelessSessionContainer)dos[i]; 122 123 124 dos = DomTools.collectChildElementsByType(containersElement, StatefulSessionContainer.class, STATEFUL_SESSION_CONTAINER); 125 statefulContainers = new StatefulSessionContainer[dos.length]; 126 for (int i=0; i < dos.length; i++) statefulContainers[i] = (StatefulSessionContainer)dos[i]; 127 128 int x=0; 129 containers = new ContainerInfo[entityContainers.length + 130 statelessContainers.length + 131 statefulContainers.length]; 132 133 System.arraycopy(entityContainers , 0, containers, x ,entityContainers.length); 134 135 System.arraycopy(statelessContainers, 0, containers, x += entityContainers.length ,statelessContainers.length); 136 System.arraycopy(statefulContainers , 0, containers, x += statelessContainers.length ,statefulContainers.length); 137 138 139 dos = DomTools.collectChildElementsByType(node, SecurityRole.class, SECURITY_ROLE); 140 securityRoles = new SecurityRole[dos.length]; 141 for (int i=0; i < dos.length; i++) securityRoles[i] = (SecurityRole)dos[i]; 142 143 dos = DomTools.collectChildElementsByType(node, MethodPermission.class, METHOD_PERMISSION); 144 methodPermissions = new MethodPermission[dos.length]; 145 for (int i=0; i < dos.length; i++) methodPermissions[i] = (MethodPermission)dos[i]; 146 147 dos = DomTools.collectChildElementsByType(node, MethodTransaction.class, METHOD_TRANSACTION); 148 methodTransactions = new MethodTransaction[dos.length]; 149 for (int i=0; i < dos.length; i++) methodTransactions[i] = (MethodTransaction)dos[i]; 150 } 151 152 153 public void serializeToDOM(Node node) throws OpenEJBException{} 154 } 155 156 | Popular Tags |