[jboss-cvs] JBoss Messaging SVN: r6582 - in trunk: tests/src/org/jboss/messaging/tests/unit/core/deployers/impl and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Apr 27 12:07:32 EDT 2009


Author: jmesnil
Date: 2009-04-27 12:07:31 -0400 (Mon, 27 Apr 2009)
New Revision: 6582

Modified:
   trunk/src/main/org/jboss/messaging/core/deployers/impl/AddressSettingsDeployer.java
   trunk/src/main/org/jboss/messaging/core/deployers/impl/SecurityDeployer.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/AddressSettingsDeployerTest.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/SecurityDeployerTest.java
Log:
security and address settings can be deployed from jbm-configuration file
+ tests

Modified: trunk/src/main/org/jboss/messaging/core/deployers/impl/AddressSettingsDeployer.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/deployers/impl/AddressSettingsDeployer.java	2009-04-27 16:06:37 UTC (rev 6581)
+++ trunk/src/main/org/jboss/messaging/core/deployers/impl/AddressSettingsDeployer.java	2009-04-27 16:07:31 UTC (rev 6582)
@@ -162,7 +162,7 @@
 
    public String[] getDefaultConfigFileNames()
    {
-      return new String[] { "jbm-configuration", "jbm-queues.xml" };
+      return new String[] { "jbm-configuration.xml", "jbm-queues.xml" };
    }
 
    /**

Modified: trunk/src/main/org/jboss/messaging/core/deployers/impl/SecurityDeployer.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/deployers/impl/SecurityDeployer.java	2009-04-27 16:06:37 UTC (rev 6581)
+++ trunk/src/main/org/jboss/messaging/core/deployers/impl/SecurityDeployer.java	2009-04-27 16:07:31 UTC (rev 6582)
@@ -83,7 +83,14 @@
    @Override
    public void validate(Node rootNode) throws Exception
    {
-      XMLUtil.validate(rootNode, "jbm-queues.xsd");
+      if ("deployment".equals(rootNode.getNodeName()))
+      {
+         org.jboss.messaging.utils.XMLUtil.validate(rootNode, "jbm-configuration.xsd");
+      }
+      else
+      {
+         org.jboss.messaging.utils.XMLUtil.validate(rootNode, "jbm-queues.xsd");
+      }
    }
    
    /**
@@ -195,6 +202,6 @@
     */
    public String[] getDefaultConfigFileNames()
    {
-      return new String[] {QUEUES_XML};
+      return new String[] {"jbm-configuration.xml", QUEUES_XML};
    }
 }

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/AddressSettingsDeployerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/AddressSettingsDeployerTest.java	2009-04-27 16:06:37 UTC (rev 6581)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/AddressSettingsDeployerTest.java	2009-04-27 16:07:31 UTC (rev 6582)
@@ -30,6 +30,8 @@
 import org.jboss.messaging.tests.util.UnitTestCase;
 import org.jboss.messaging.utils.SimpleString;
 import org.jboss.messaging.utils.XMLUtil;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
 
 /**
  * @author <a href="ataylor at redhat.com">Andy Taylor</a>
@@ -37,7 +39,6 @@
 public class AddressSettingsDeployerTest extends UnitTestCase
 {
    private String conf = "<address-settings match=\"queues.*\">\n" +
-           "      <manageConfirmations>false</manageConfirmations>\n" +
            "      <dead-letter-address>DLQtest</dead-letter-address>\n" +
            "      <expiry-address>ExpiryQueueTest</expiry-address>\n" +
            "      <redelivery-delay>100</redelivery-delay>\n" +
@@ -71,7 +72,43 @@
       assertEquals(new SimpleString("DLQtest"), as.getDeadLetterAddress());
       assertEquals(new SimpleString("ExpiryQueueTest"), as.getExpiryAddress());
    }
+   
+   public void testDeployFromConfigurationFile() throws Exception
+   {
+      String xml = "<deployment xmlns='urn:jboss:messaging'> " 
+                 + "<configuration>"
+                 + "<acceptors>"
+                 + "<acceptor><factory-class>FooAcceptor</factory-class></acceptor>"
+                 + "</acceptors>"
+                 + "</configuration>"
+                 + "<settings>"
+                 + "   <address-settings match=\"queues.*\">"
+                 + "      <dead-letter-address>DLQtest</dead-letter-address>\n"
+                 + "      <expiry-address>ExpiryQueueTest</expiry-address>\n"
+                 + "      <redelivery-delay>100</redelivery-delay>\n"
+                 + "      <max-size-bytes>-100</max-size-bytes>\n"
+                 + "      <distribution-policy-class>org.jboss.messaging.core.impl.RoundRobinDistributionPolicy</distribution-policy-class>"
+                 + "      <message-counter-history-day-limit>1000</message-counter-history-day-limit>"
+                 + "   </address-settings>"
+                 + "</settings>"
+                 + "</deployment>";
+      
+      Element rootNode = org.jboss.messaging.utils.XMLUtil.stringToElement(xml);
+      addressSettingsDeployer.validate(rootNode);
+      NodeList addressSettingsNode = rootNode.getElementsByTagName("address-settings");
+      assertEquals(1, addressSettingsNode.getLength());
 
+      addressSettingsDeployer.deploy(addressSettingsNode.item(0));
+      AddressSettings as = repository.getMatch("queues.aq");
+      assertNotNull(as);
+      assertEquals(100, as.getRedeliveryDelay());
+      assertEquals(-100, as.getMaxSizeBytes());
+      assertEquals("org.jboss.messaging.core.impl.RoundRobinDistributionPolicy", as.getDistributionPolicyClass());
+      assertEquals(1000, as.getMessageCounterHistoryDayLimit());
+      assertEquals(new SimpleString("DLQtest"), as.getDeadLetterAddress());
+      assertEquals(new SimpleString("ExpiryQueueTest"), as.getExpiryAddress());
+   }
+
    public void testUndeploy() throws Exception
    {
       addressSettingsDeployer.deploy(XMLUtil.stringToElement(conf));

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/SecurityDeployerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/SecurityDeployerTest.java	2009-04-27 16:06:37 UTC (rev 6581)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/SecurityDeployerTest.java	2009-04-27 16:07:31 UTC (rev 6582)
@@ -26,9 +26,12 @@
 import org.jboss.messaging.core.deployers.impl.SecurityDeployer;
 import org.jboss.messaging.core.security.Role;
 import org.jboss.messaging.core.settings.HierarchicalRepository;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
 import org.jboss.messaging.core.settings.impl.HierarchicalObjectRepository;
 import org.jboss.messaging.tests.util.UnitTestCase;
+import org.jboss.messaging.utils.SimpleString;
 import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -208,4 +211,34 @@
       HashSet<Role> roles = (HashSet<Role>) repository.getMatch("jms.topic.testQueue");
       assertNull(roles);
    }
+   
+   public void testDeployFromConfigurationFile() throws Exception
+   {
+      String xml = "<deployment xmlns='urn:jboss:messaging'> " 
+                 + "<configuration>"
+                 + "<acceptors>"
+                 + "<acceptor><factory-class>FooAcceptor</factory-class></acceptor>"
+                 + "</acceptors>"
+                 + "</configuration>"
+                 + "<settings>"
+                 + "   <security match=\"jms.topic.testTopic\">"
+                 + "      <permission type=\"createDurableQueue\" roles=\"durpublisher\"/>"
+                 + "      <permission type=\"deleteDurableQueue\" roles=\"durpublisher\"/>"
+                 + "      <permission type=\"consume\" roles=\"guest,publisher,durpublisher\"/>"
+                 + "      <permission type=\"send\" roles=\"guest,publisher,durpublisher\"/>"
+                 + "      <permission type=\"manage\" roles=\"guest,publisher,durpublisher\"/>"
+                 + "   </security>"
+                 + "</settings>"
+                 + "</deployment>";
+      
+      Element rootNode = org.jboss.messaging.utils.XMLUtil.stringToElement(xml);
+      deployer.validate(rootNode);
+      NodeList securityNodes = rootNode.getElementsByTagName("security");
+      assertEquals(1, securityNodes.getLength());
+
+      deployer.deploy(securityNodes.item(0));
+      HashSet<Role> roles = (HashSet<Role>) repository.getMatch("jms.topic.testTopic");
+      assertNotNull(roles);
+      assertEquals(3, roles.size());
+   }
 }




More information about the jboss-cvs-commits mailing list