[jboss-dev-forums] [Design the new POJO MicroContainer] - Re: Multiple parsing implementation in RARDeployer

vickyk do-not-reply at jboss.com
Wed May 28 02:03:05 EDT 2008


"alesj" wrote : 
  | I have refactored the code, so you can now easily add your MultipleOMFD.
  |  - http://anonsvn.jboss.org/repos/jbossas/projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/org/jboss/deployers/vfs/spi/deployer/MultipleObjectModelFactoryDeployer.java

Ales , you are on fire ;)

I am still trying to see how this can be used .

We have 2 ObjectModel factories which are 
1) ResourceAdapterObjectModelFactory , this creates the ObjectModel for the ra.xml file .
2) JBossRAObjectModelFactory , this creates the ObjectModel for the jboss-ra.xml file.

I am not able to find out where in I can pass the ObjectModelFactories and do the merging of MetaData to the required MetaData Object .

I was able to write it with SRD as 

public class RARParserDeployer extends JBossExtensionDeployer<ConnectorMetaData, JBossRAMetaData, RARDeploymentMetaData>
  | {
  |    /** The metadata repsoitory */
  |    private JCAMetaDataRepository metaDataRepository;
  |       
  |    /**
  |     * Create a new RARParserDeployer.
  |     */
  |    public RARParserDeployer()
  |    {      
  | 	  //super(ConnectorMetaData.class); 
  |       //setName("ra.xml");
  |       super(RARDeploymentMetaData.class, "ra.xml", ConnectorMetaData.class, "jboss-ra.xml", JBossRAMetaData.class);
  |    }
  | 
  |    public JCAMetaDataRepository getMetaDataRepository()
  |    {
  |       return metaDataRepository;
  |    }
  | 
  |    public void setMetaDataRepository(JCAMetaDataRepository metaDataRepository)
  |    {
  |       this.metaDataRepository = metaDataRepository;
  |    }
  |    
  |    /*
  |    protected ObjectModelFactory getObjectModelFactory(ConnectorMetaData root)
  |    {
  |       return new ResourceAdapterObjectModelFactory();
  |    }
  |    */
  |    
  |    
  |    
  |    //@Override // Check this STUFF 
  |    protected void init(VFSDeploymentUnit unit, ConnectorMetaData cmd, VirtualFile file) throws Exception
  |    {
  |       cmd.setURL(file.toURL());
  |       VFSDeploymentUnit parent = unit.getParent();
  |       String name = unit.getSimpleName();
  |       if( parent != null )
  |          name = parent.getSimpleName() + "#" + name;
  |       metaDataRepository.addConnectorMetaData(name, cmd);
  |    }
  |    
  |    private ConnectorMetaData specMetaData;
  |    private JBossRAMetaData jbossSpecificMetaData;
  |    
  |    
  |    
  |    protected RARDeploymentMetaData mergeMetaData(VFSDeploymentUnit unit, ConnectorMetaData specMetaData, JBossRAMetaData jbossSpecificMetaData) throws Exception
  |    {
  |       this.specMetaData = specMetaData;
  |       this.jbossSpecificMetaData = jbossSpecificMetaData;
  | 
  |       RARDeploymentMetaData deployment = new RARDeploymentMetaData();
  |       if (specMetaData != null)
  |       {
  |          deployment.setConnectorMetaData(specMetaData);
  |       }
  |       if (jbossSpecificMetaData != null)
  |       {         
  |          deployment.setRaXmlMetaData(jbossSpecificMetaData);
  |       }
  |       
  |       return deployment;
  |    }
  |    
  |    public ConnectorMetaData getSpecMetaData()
  |    {
  |       return specMetaData;
  |    }
  | 
  |    public JBossRAMetaData getJbossSpecificMetaData()
  |    {
  |       return jbossSpecificMetaData;
  |    }
  |    
  | }

Ales , can you give me some outline for OMFD scenario ?
I will take it from there .

PS: The SRD is just a raw outline as I felt OMFD will make life simpler .




View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4153836#4153836

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4153836



More information about the jboss-dev-forums mailing list