[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