@Override public EJBBoundPoolMetaData parse(final XMLStreamReader reader, final PropertyReplacer propertyReplacer) throws XMLStreamException { final String element = reader.getLocalName(); // we only parse <pool> (root) element if (!ROOT_ELEMENT_POOL.equals(element)) { throw unexpectedElement(reader); } final EJBBoundPoolMetaData ejbBoundPoolMetaData = new EJBBoundPoolMetaData(); this.processElements(ejbBoundPoolMetaData, reader, propertyReplacer); return ejbBoundPoolMetaData; }
@Override protected void handleDeploymentDescriptor(DeploymentUnit deploymentUnit, DeploymentReflectionIndex deploymentReflectionIndex, Class<?> componentClass, T description) throws DeploymentUnitProcessingException { final String ejbName = description.getEJBName(); final EjbJarMetaData metaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (metaData == null) { return; } final AssemblyDescriptorMetaData assemblyDescriptor = metaData.getAssemblyDescriptor(); if (assemblyDescriptor == null) { return; } // get the pool metadata final List<EJBBoundPoolMetaData> pools = assemblyDescriptor.getAny(EJBBoundPoolMetaData.class); String poolName = null; if (pools != null) { for (final EJBBoundPoolMetaData poolMetaData : pools) { // if this applies for all EJBs and if there isn't a pool name already explicitly specified // for the specific bean (i.e. via an ejb-name match) if ("*".equals(poolMetaData.getEjbName()) && poolName == null) { poolName = poolMetaData.getPoolName(); } else if (ejbName.equals(poolMetaData.getEjbName())) { poolName = poolMetaData.getPoolName(); } } } if (poolName != null) { this.setPoolName(description, poolName); } }
@Override protected void processElement(final EJBBoundPoolMetaData poolMetaData, final XMLStreamReader reader, final PropertyReplacer propertyReplacer) throws XMLStreamException { final String namespaceURI = reader.getNamespaceURI(); final String elementName = reader.getLocalName(); // if it doesn't belong to our namespace then let the super handle this if (!NAMESPACE_URI.equals(namespaceURI)) { super.processElement(poolMetaData, reader, propertyReplacer); return; } if (ELEMENT_BEAN_INSTANCE_POOL_REF.equals(elementName)) { final String poolName = getElementText(reader, propertyReplacer); // set the pool name in the metadata poolMetaData.setPoolName(poolName); } else { throw unexpectedElement(reader); } } }
@Override protected void handleDeploymentDescriptor(DeploymentUnit deploymentUnit, DeploymentReflectionIndex deploymentReflectionIndex, Class<?> componentClass, T description) throws DeploymentUnitProcessingException { final String ejbName = description.getEJBName(); final EjbJarMetaData metaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (metaData == null) { return; } final AssemblyDescriptorMetaData assemblyDescriptor = metaData.getAssemblyDescriptor(); if (assemblyDescriptor == null) { return; } // get the pool metadata final List<EJBBoundPoolMetaData> pools = assemblyDescriptor.getAny(EJBBoundPoolMetaData.class); String poolName = null; if (pools != null) { for (final EJBBoundPoolMetaData poolMetaData : pools) { // if this applies for all EJBs and if there isn't a pool name already explicitly specified // for the specific bean (i.e. via a ejb-name match) if ("*".equals(poolMetaData.getEjbName()) && poolName == null) { poolName = poolMetaData.getPoolName(); } else if (ejbName.equals(poolMetaData.getEjbName())) { poolName = poolMetaData.getPoolName(); } } } if (poolName != null) { this.setPoolName(description, poolName); } }
@Override public EJBBoundPoolMetaData parse(final XMLStreamReader reader, final PropertyReplacer propertyReplacer) throws XMLStreamException { final String element = reader.getLocalName(); // we only parse <pool> (root) element if (!ROOT_ELEMENT_POOL.equals(element)) { throw unexpectedElement(reader); } final EJBBoundPoolMetaData ejbBoundPoolMetaData = new EJBBoundPoolMetaData(); this.processElements(ejbBoundPoolMetaData, reader, propertyReplacer); return ejbBoundPoolMetaData; }
@Override protected void processElement(final EJBBoundPoolMetaData poolMetaData, final XMLStreamReader reader, final PropertyReplacer propertyReplacer) throws XMLStreamException { final String namespaceURI = reader.getNamespaceURI(); final String elementName = reader.getLocalName(); // if it doesn't belong to our namespace then let the super handle this if (!NAMESPACE_URI.equals(namespaceURI)) { super.processElement(poolMetaData, reader, propertyReplacer); return; } if (ELEMENT_BEAN_INSTANCE_POOL_REF.equals(elementName)) { final String poolName = getElementText(reader, propertyReplacer); // set the pool name in the metadata poolMetaData.setPoolName(poolName); } else { throw unexpectedElement(reader); } } }