[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