* @see org.jboss.deployers.spi.deployer.Deployer#deploy(org.jboss.deployers.structure.spi.DeploymentUnit)
*/
public void deploy(DeploymentUnit du) throws DeploymentException
{
// Obtain the Merged Metadata
JBossMetaData md = du.getAttachment(INPUT, JBossMetaData.class);
// If metadata's not present as an attachment, return
if (md == null)
{
return;
}
// If this is not an EJB3 Deployment, return
if (!md.isEJB3x())
{
return;
}
// Create the processor chain
ProcessorChain<JBossMetaData> chain = new JBossMetaDataProcessorChain<JBossMetaData>();
for (JBossMetaDataProcessorFactory<JBossMetaData> processorFactory : this.processorFactories)
{
JBossMetaDataProcessor<JBossMetaData> processor = processorFactory.create(du);
chain.addProcessor(processor);
}
// Create new processed metadata
JBossMetaData processedMetadata = chain.process(md);
// now validate the processed metadata
if (this.validatorChain != null)
{
this.validatorChain.validate(processedMetadata);