[jboss-cvs] JBossAS SVN: r86107 - in projects/jboss-jca/trunk/core/src: main/java/org/jboss/jca/core/api and 7 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Mar 19 13:08:51 EDT 2009
Author: jesper.pedersen
Date: 2009-03-19 13:08:51 -0400 (Thu, 19 Mar 2009)
New Revision: 86107
Added:
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/MetaDataRepository.java
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/mdr/
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/mdr/MetaDataRepositoryImpl.java
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/mdr/package.html
projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/test/core/mdr/
projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/test/core/mdr/unit/
projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/test/core/mdr/unit/MetaDataRepositoryTestCase.java
projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/test/core/mdr/unit/package.html
projects/jboss-jca/trunk/core/src/test/resources/org/jboss/jca/test/core/mdr/
projects/jboss-jca/trunk/core/src/test/resources/org/jboss/jca/test/core/mdr/unit/
projects/jboss-jca/trunk/core/src/test/resources/org/jboss/jca/test/core/mdr/unit/MetaDataRepositoryTestCase-jboss-beans.xml
Log:
[JBJCA-6] Use MDR as the foundation for the JCA metadata repository
Added: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/MetaDataRepository.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/MetaDataRepository.java (rev 0)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/MetaDataRepository.java 2009-03-19 17:08:51 UTC (rev 86107)
@@ -0,0 +1,81 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.core.api;
+
+import org.jboss.metadata.rar.jboss.mcf.ManagedConnectionFactoryDeploymentGroup;
+import org.jboss.metadata.rar.spec.ConnectorMetaData;
+
+/**
+ * MetaDataRepository API
+ *
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ * @author <a href="mailto:jeff.zhang at jboss.org">Jeff Zhang</a>
+ * @version $Revision: $
+ */
+public interface MetaDataRepository
+{
+ /**
+ * Add connector metadata
+ * @param name The name
+ * @param cmd The connector metadata
+ * @return The previous value
+ */
+ public ConnectorMetaData addConnectorMetaData(String name, ConnectorMetaData cmd);
+
+ /**
+ * Get connector metadata
+ * @param name The name
+ * @return The connector metadata
+ */
+ public ConnectorMetaData getConnectorMetaData(String name);
+
+ /**
+ * Remove connector metadata
+ * @param name The name
+ * @return True if the metadata was removed; otherwise
+ */
+ public boolean removeConnectorMetaData(String name);
+
+ /**
+ * Add managed connecton metadata
+ * @param name The name
+ * @param group The managed connection metadata
+ * @return The previous value
+ */
+ public ManagedConnectionFactoryDeploymentGroup
+ addManagedConnectionFactoryDeploymentGroup(String name, ManagedConnectionFactoryDeploymentGroup group);
+
+ /**
+ * Get managed connection metadata
+ * @param name The name
+ * @return The managed connection metadata
+ */
+ public ManagedConnectionFactoryDeploymentGroup getManagedConnectionFactoryDeploymentGroup(String name);
+
+ /**
+ * Remove managed connection metadata
+ * @param name The name
+ * @return True if the metadata was removed; otherwise
+ */
+ public boolean removeManagedConnectionFactoryDeploymentGroup(String name);
+}
Added: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/mdr/MetaDataRepositoryImpl.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/mdr/MetaDataRepositoryImpl.java (rev 0)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/mdr/MetaDataRepositoryImpl.java 2009-03-19 17:08:51 UTC (rev 86107)
@@ -0,0 +1,196 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.core.mdr;
+
+import org.jboss.jca.core.api.MetaDataRepository;
+
+import org.jboss.logging.Logger;
+import org.jboss.metadata.plugins.loader.memory.MemoryMetaDataLoader;
+import org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository;
+import org.jboss.metadata.rar.jboss.mcf.ManagedConnectionFactoryDeploymentGroup;
+import org.jboss.metadata.rar.spec.ConnectorMetaData;
+import org.jboss.metadata.spi.loader.MutableMetaDataLoader;
+import org.jboss.metadata.spi.repository.MutableMetaDataRepository;
+import org.jboss.metadata.spi.retrieval.MetaDataRetrieval;
+import org.jboss.metadata.spi.retrieval.MetaDataRetrievalToMetaDataBridge;
+import org.jboss.metadata.spi.scope.CommonLevels;
+import org.jboss.metadata.spi.scope.ScopeKey;
+
+/**
+ * MetaDataRepository implementation backed by MDR
+ *
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ * @author <a href="mailto:jeff.zhang at jboss.org">Jeff Zhang</a>
+ * @version $Revision: $
+ */
+public class MetaDataRepositoryImpl implements MetaDataRepository
+{
+ /** The logger */
+ private static Logger log = Logger.getLogger(MetaDataRepositoryImpl.class);
+
+ /** The backing MDR */
+ private MutableMetaDataRepository mdr;
+
+ /**
+ * Constructor
+ */
+ public MetaDataRepositoryImpl()
+ {
+ mdr = new BasicMetaDataRepository();
+ }
+
+ /**
+ * Add connector metadata
+ * @param name The name
+ * @param cmd The connector metadata
+ * @return The previous value
+ */
+ public ConnectorMetaData addConnectorMetaData(String name, ConnectorMetaData cmd)
+ {
+ if (name == null)
+ throw new IllegalArgumentException("Null name");
+
+ if (cmd == null)
+ throw new IllegalArgumentException("Null cmd");
+
+ ScopeKey scopeKey = new ScopeKey(CommonLevels.JVM, name);
+ MutableMetaDataLoader loader = new MemoryMetaDataLoader(scopeKey);
+ loader.addMetaData(cmd, ConnectorMetaData.class);
+
+ MetaDataRetrieval r = mdr.addMetaDataRetrieval(loader);
+
+ if (r != null)
+ {
+ MetaDataRetrievalToMetaDataBridge b = new MetaDataRetrievalToMetaDataBridge(r);
+ return b.getMetaData(ConnectorMetaData.class);
+ }
+
+ return null;
+ }
+
+ /**
+ * Get connector metadata
+ * @param name The name
+ * @return The connector metadata
+ */
+ public ConnectorMetaData getConnectorMetaData(String name)
+ {
+ if (name == null)
+ throw new IllegalArgumentException("Null name");
+
+ ScopeKey scopeKey = new ScopeKey(CommonLevels.JVM, name);
+ MetaDataRetrieval r = mdr.getMetaDataRetrieval(scopeKey);
+
+ if (r != null)
+ {
+ MetaDataRetrievalToMetaDataBridge b = new MetaDataRetrievalToMetaDataBridge(r);
+ return b.getMetaData(ConnectorMetaData.class);
+ }
+
+ return null;
+ }
+
+ /**
+ * Remove connector metadata
+ * @param name The name
+ * @return True if the metadata was removed; otherwise
+ */
+ public boolean removeConnectorMetaData(String name)
+ {
+ if (name == null)
+ throw new IllegalArgumentException("Null name");
+
+ ScopeKey scopeKey = new ScopeKey(CommonLevels.JVM, name);
+ MetaDataRetrieval mr = mdr.removeMetaDataRetrieval(scopeKey);
+
+ return mr != null;
+ }
+
+ /**
+ * Add managed connecton metadata
+ * @param name The name
+ * @param group The managed connection metadata
+ * @return The previous value
+ */
+ public ManagedConnectionFactoryDeploymentGroup
+ addManagedConnectionFactoryDeploymentGroup(String name, ManagedConnectionFactoryDeploymentGroup group)
+ {
+ if (name == null)
+ throw new IllegalArgumentException("Null name");
+
+ if (group == null)
+ throw new IllegalArgumentException("Null group");
+
+ ScopeKey scopeKey = new ScopeKey(CommonLevels.JVM, name);
+ MutableMetaDataLoader loader = new MemoryMetaDataLoader(scopeKey);
+ loader.addMetaData(group, ManagedConnectionFactoryDeploymentGroup.class);
+
+ MetaDataRetrieval r = mdr.addMetaDataRetrieval(loader);
+
+ if (r != null)
+ {
+ MetaDataRetrievalToMetaDataBridge b = new MetaDataRetrievalToMetaDataBridge(r);
+ return b.getMetaData(ManagedConnectionFactoryDeploymentGroup.class);
+ }
+
+ return null;
+ }
+
+ /**
+ * Get managed connection metadata
+ * @param name The name
+ * @return The managed connection metadata
+ */
+ public ManagedConnectionFactoryDeploymentGroup getManagedConnectionFactoryDeploymentGroup(String name)
+ {
+ if (name == null)
+ throw new IllegalArgumentException("Null name");
+
+ ScopeKey scopeKey = new ScopeKey(CommonLevels.JVM, name);
+ MetaDataRetrieval r = mdr.getMetaDataRetrieval(scopeKey);
+
+ if (r != null)
+ {
+ MetaDataRetrievalToMetaDataBridge b = new MetaDataRetrievalToMetaDataBridge(r);
+ return b.getMetaData(ManagedConnectionFactoryDeploymentGroup.class);
+ }
+
+ return null;
+ }
+
+ /**
+ * Remove managed connection metadata
+ * @param name The name
+ * @return True if the metadata was added; otherwise
+ */
+ public boolean removeManagedConnectionFactoryDeploymentGroup(String name)
+ {
+ if (name == null)
+ throw new IllegalArgumentException("Null name");
+
+ ScopeKey scopeKey = new ScopeKey(CommonLevels.JVM, name);
+ MetaDataRetrieval mr = mdr.removeMetaDataRetrieval(scopeKey);
+
+ return mr != null;
+ }
+}
Added: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/mdr/package.html
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/mdr/package.html (rev 0)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/mdr/package.html 2009-03-19 17:08:51 UTC (rev 86107)
@@ -0,0 +1,3 @@
+<body>
+The implementation of the metadata repository.
+</body>
Added: projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/test/core/mdr/unit/MetaDataRepositoryTestCase.java
===================================================================
--- projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/test/core/mdr/unit/MetaDataRepositoryTestCase.java (rev 0)
+++ projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/test/core/mdr/unit/MetaDataRepositoryTestCase.java 2009-03-19 17:08:51 UTC (rev 86107)
@@ -0,0 +1,477 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.test.core.mdr.unit;
+
+import org.jboss.jca.core.api.MetaDataRepository;
+
+import java.net.URL;
+
+import org.jboss.ejb3.test.mc.bootstrap.EmbeddedTestMcBootstrap;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.rar.jboss.mcf.ManagedConnectionFactoryDeploymentGroup;
+import org.jboss.metadata.rar.spec.ConnectorMetaData;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * MetaDataRepositoryTestCase.
+ *
+ * Tests for the JBoss specific metadata repository functionality.
+ *
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ * @version $Revision: $
+ */
+public class MetaDataRepositoryTestCase
+{
+
+ // --------------------------------------------------------------------------------||
+ // Class Members ------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ private static Logger log = Logger.getLogger(MetaDataRepositoryTestCase.class);
+
+ /*
+ * Bootstrap (MC Facade)
+ */
+ private static EmbeddedTestMcBootstrap bootstrap;
+
+ // --------------------------------------------------------------------------------||
+ // Tests --------------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Test that the MetaDataRepository is defined in the MC
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testDefined() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+ }
+
+ /**
+ * Test null name for addConnectorMetaData
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testAddConnectorMetaDataNullName() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ try
+ {
+ ConnectorMetaData cmd = mdr.addConnectorMetaData(null, null);
+ fail("Null name");
+ }
+ catch (Throwable t)
+ {
+ // Expected
+ }
+ }
+
+ /**
+ * Test null cmd for addConnectorMetaData
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testAddConnectorMetaDataNullCMD() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ try
+ {
+ ConnectorMetaData cmd = mdr.addConnectorMetaData("test", null);
+ fail("Null cmd");
+ }
+ catch (Throwable t)
+ {
+ // Expected
+ }
+ }
+
+ /**
+ * Test for addConnectorMetaData
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testAddConnectorMetaData() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ ConnectorMetaData cmd = new ConnectorMetaData();
+ cmd = mdr.addConnectorMetaData("test", cmd);
+
+ mdr.removeConnectorMetaData("test");
+ }
+
+ /**
+ * Test null name for getConnectorMetaData
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testGetConnectorMetaDataNullName() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ try
+ {
+ ConnectorMetaData cmd = mdr.getConnectorMetaData(null);
+ fail("Null name");
+ }
+ catch (Throwable t)
+ {
+ // Expected
+ }
+ }
+
+ /**
+ * Test undefined name for getConnectorMetaData
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testGetConnectorMetaDataUndefinedName() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ ConnectorMetaData cmd = mdr.getConnectorMetaData("test");
+ assertNull(cmd);
+ }
+
+ /**
+ * Test for getConnectorMetaData
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testGetConnectorMetaData() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ ConnectorMetaData cmd1 = new ConnectorMetaData();
+ mdr.addConnectorMetaData("test", cmd1);
+
+ ConnectorMetaData cmd2 = mdr.getConnectorMetaData("test");
+ assertNotNull(cmd2);
+
+ assertEquals("Objects are not the same", cmd1, cmd2);
+
+ mdr.removeConnectorMetaData("test");
+ }
+
+ /**
+ * Test null name for removeConnectorMetaData
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testRemoveConnectorMetaDataNullName() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ try
+ {
+ boolean result = mdr.removeConnectorMetaData(null);
+ fail("Null name");
+ }
+ catch (Throwable t)
+ {
+ // Expected
+ }
+ }
+
+ /**
+ * Test undefined name for removeConnectorMetaData
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testRemoveConnectorMetaDataUndefinedName() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ assertFalse(mdr.removeConnectorMetaData("test"));
+ }
+
+ /**
+ * Test for removeConnectorMetaData
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testRemoveConnectorMetaData() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ ConnectorMetaData cmd = new ConnectorMetaData();
+ mdr.addConnectorMetaData("test", cmd);
+
+ assertTrue(mdr.removeConnectorMetaData("test"));
+ }
+
+ /**
+ * Test null name for addMCFDG
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testAddMCFDGNullName() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ try
+ {
+ ManagedConnectionFactoryDeploymentGroup cmd = mdr.addManagedConnectionFactoryDeploymentGroup(null, null);
+ fail("Null name");
+ }
+ catch (Throwable t)
+ {
+ // Expected
+ }
+ }
+
+ /**
+ * Test null group for addMCFDG
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testAddMCFDGNullGroup() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ try
+ {
+ ManagedConnectionFactoryDeploymentGroup group = mdr.addManagedConnectionFactoryDeploymentGroup("test", null);
+ fail("Null group");
+ }
+ catch (Throwable t)
+ {
+ // Expected
+ }
+ }
+
+ /**
+ * Test for addMCFDG
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testAddMCFDG() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ ManagedConnectionFactoryDeploymentGroup group = new ManagedConnectionFactoryDeploymentGroup();
+ mdr.addManagedConnectionFactoryDeploymentGroup("test", group);
+
+ mdr.removeManagedConnectionFactoryDeploymentGroup("test");
+ }
+
+ /**
+ * Test null name for getMCFDG
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testGetMCFDGNullName() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ try
+ {
+ ManagedConnectionFactoryDeploymentGroup group = mdr.getManagedConnectionFactoryDeploymentGroup(null);
+ fail("Null name");
+ }
+ catch (Throwable t)
+ {
+ // Expected
+ }
+ }
+
+ /**
+ * Test undefined name for getMCFDG
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testGetMCFDGUndefinedName() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ ManagedConnectionFactoryDeploymentGroup group = mdr.getManagedConnectionFactoryDeploymentGroup("test");
+ assertNull(group);
+ }
+
+ /**
+ * Test for getMCFDG
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testGetMCFDG() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ ManagedConnectionFactoryDeploymentGroup group1 = new ManagedConnectionFactoryDeploymentGroup();
+ mdr.addManagedConnectionFactoryDeploymentGroup("test", group1);
+
+ ManagedConnectionFactoryDeploymentGroup group2 = mdr.getManagedConnectionFactoryDeploymentGroup("test");
+ assertNotNull(group2);
+
+ assertEquals("Objects are not the same", group1, group2);
+
+ mdr.removeManagedConnectionFactoryDeploymentGroup("test");
+ }
+
+ /**
+ * Test null name for removeMCFDG
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testRemoveMCFDGNullName() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ try
+ {
+ boolean result = mdr.removeManagedConnectionFactoryDeploymentGroup(null);
+ fail("Null name");
+ }
+ catch (Throwable t)
+ {
+ // Expected
+ }
+ }
+
+ /**
+ * Test undefined name for removeMCFDG
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testRemoveMCFDGUndefinedName() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ assertFalse(mdr.removeManagedConnectionFactoryDeploymentGroup("test"));
+ }
+
+ /**
+ * Test for removeMCFDG
+ * @throws Throwable throwable exception
+ */
+ @Test
+ public void testRemoveMCFDG() throws Throwable
+ {
+ MetaDataRepository mdr =
+ bootstrap.lookup("MetaDataRepository", MetaDataRepository.class);
+
+ assertNotNull(mdr);
+
+ ManagedConnectionFactoryDeploymentGroup group = new ManagedConnectionFactoryDeploymentGroup();
+ mdr.addManagedConnectionFactoryDeploymentGroup("test", group);
+
+ assertTrue(mdr.removeManagedConnectionFactoryDeploymentGroup("test"));
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Lifecycle Methods --------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Lifecycle start, before the suite is executed
+ * @throws Throwable throwable exception
+ */
+ @BeforeClass
+ public static void beforeClass() throws Throwable
+ {
+ // Create and set a new MC Bootstrap
+ bootstrap = EmbeddedTestMcBootstrap.createEmbeddedMcBootstrap();
+
+ // Deploy Beans
+ bootstrap.deploy(MetaDataRepositoryTestCase.class);
+ }
+
+ /**
+ * Lifecycle stop, after the suite is executed
+ * @throws Throwable throwable exception
+ */
+ @AfterClass
+ public static void afterClass() throws Throwable
+ {
+ // Undeploy Beans
+ bootstrap.undeploy(MetaDataRepositoryTestCase.class);
+
+ // Shutdown MC
+ bootstrap.shutdown();
+
+ // Set Bootstrap to null
+ bootstrap = null;
+ }
+}
Added: projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/test/core/mdr/unit/package.html
===================================================================
--- projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/test/core/mdr/unit/package.html (rev 0)
+++ projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/test/core/mdr/unit/package.html 2009-03-19 17:08:51 UTC (rev 86107)
@@ -0,0 +1,3 @@
+<body>
+Test cases covering the JBoss JCA MetaDataRepository implementation.
+</body>
Added: projects/jboss-jca/trunk/core/src/test/resources/org/jboss/jca/test/core/mdr/unit/MetaDataRepositoryTestCase-jboss-beans.xml
===================================================================
--- projects/jboss-jca/trunk/core/src/test/resources/org/jboss/jca/test/core/mdr/unit/MetaDataRepositoryTestCase-jboss-beans.xml (rev 0)
+++ projects/jboss-jca/trunk/core/src/test/resources/org/jboss/jca/test/core/mdr/unit/MetaDataRepositoryTestCase-jboss-beans.xml 2009-03-19 17:08:51 UTC (rev 86107)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ JBoss JCA
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="MetaDataRepository" interface="org.jboss.jca.core.api.MetaDataRepository" class="org.jboss.jca.core.mdr.MetaDataRepositoryImpl">
+ </bean>
+
+</deployment>
More information about the jboss-cvs-commits
mailing list