[jboss-cvs] JBoss Messaging SVN: r5724 - in trunk: src/config and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jan 26 08:07:23 EST 2009
Author: jmesnil
Date: 2009-01-26 08:07:23 -0500 (Mon, 26 Jan 2009)
New Revision: 5724
Added:
trunk/src/config/jbm-queues.xml
trunk/src/schemas/jbm-queues.xsd
trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/QueueDeployerTest.java
Removed:
trunk/src/config/queues.xml
trunk/src/schemas/queues.xsd
Modified:
trunk/build-messaging.xml
trunk/src/main/org/jboss/messaging/core/deployers/impl/QueueDeployer.java
trunk/src/main/org/jboss/messaging/core/deployers/impl/QueueSettingsDeployer.java
trunk/src/schemas/jbm-configuration.xsd
trunk/tests/config/ConfigurationTest-full-config.xml
Log:
JBMESSAGING-1301: Provide xml schemas for our xml config
* renamed queue settings file to jbm-queues.xml
* renamed the corresponding schema to jbm-queues.xsd
Modified: trunk/build-messaging.xml
===================================================================
--- trunk/build-messaging.xml 2009-01-26 11:55:47 UTC (rev 5723)
+++ trunk/build-messaging.xml 2009-01-26 13:07:23 UTC (rev 5724)
@@ -551,22 +551,22 @@
<target name="validate-configuration" description="validate configuration files">
<echo>validating server configuration</echo>
<schemavalidate file="src/config/jbm-configuration.xml">
- <schema namespace="urn:jboss:messaging-configuration"
+ <schema namespace="urn:jboss:messaging"
file="src/schemas/jbm-configuration.xsd"/>
</schemavalidate>
<echo>validating security credentials</echo>
<schemavalidate file="src/config/jbm-security.xml">
- <schema namespace="urn:jboss:messaging-security"
+ <schema namespace="urn:jboss:messaging"
file="src/schemas/jbm-security.xsd"/>
</schemavalidate>
<echo>validating queue settings</echo>
- <schemavalidate file="src/config/queues.xml">
- <schema namespace="urn:jboss:messaging-queues"
- file="src/schemas/queues.xsd"/>
+ <schemavalidate file="src/config/jbm-queues.xml">
+ <schema namespace="urn:jboss:messaging"
+ file="src/schemas/jbm-queues.xsd"/>
</schemavalidate>
<echo>validating jms resources</echo>
<schemavalidate file="src/config/jbm-jms.xml">
- <schema namespace="urn:jboss:messaging-jms"
+ <schema namespace="urn:jboss:messaging"
file="src/schemas/jbm-jms.xsd"/>
</schemavalidate>
</target>
Copied: trunk/src/config/jbm-queues.xml (from rev 5705, trunk/src/config/queues.xml)
===================================================================
--- trunk/src/config/jbm-queues.xml (rev 0)
+++ trunk/src/config/jbm-queues.xml 2009-01-26 13:07:23 UTC (rev 5724)
@@ -0,0 +1,121 @@
+<settings xmlns="urn:jboss:messaging"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:jboss:messaging ../schemas/jbm-queues.xsd ">
+
+ <security match="topicjms.testTopic">
+ <permission type="create" roles="durpublisher"/>
+ <permission type="read" roles="guest,publisher,durpublisher"/>
+ <permission type="write" roles="guest,publisher,durpublisher"/>
+ </security>
+
+ <security match="topicjms.securedTopic">
+ <permission type="write" roles="publisher"/>
+ <permission type="read" roles="publisher"/>
+ </security>
+
+ <security match="topicjms.testDurableTopic">
+ <permission type="create" roles="durpublisher"/>
+ <permission type="read" roles="guest,publisher,durpublisher"/>
+ <permission type="write" roles="guest,publisher,durpublisher"/>
+ </security>
+
+ <security match="queuejms.testQueue">
+ <permission type="read" roles="guest,publisher"/>
+ <permission type="write" roles="guest,publisher"/>
+ </security>
+
+ <security match="queuejms.NoSuchQueue">
+ <permission type="read" roles="guest,publisher"/>
+ <permission type="write" roles="guest,publisher"/>
+ </security>
+
+ <security match="topicjms.NoSuchTopic">
+ <permission type="read" roles="guest,publisher"/>
+ <permission type="write" roles="guest,publisher"/>
+ </security>
+
+ <security match="queuetempjms.*">
+ <permission type="create" roles="guest,def"/>
+ <permission type="read" roles="guest,def"/>
+ <permission type="write" roles="guest,def"/>
+ </security>
+
+ <security match="topictempjms.*">
+ <permission type="create" roles="guest,def"/>
+ <permission type="read" roles="guest,def"/>
+ <permission type="write" roles="guest,def"/>
+ </security>
+
+ <!--this will catch any word i.e. queuejms.anything-->
+ <!--<security match="queuejms.^">
+ <permission type="read" roles="guest,publisher"/>
+ <permission type="write" roles="guest,publisher"/>
+ </security>-->
+
+ <!--this will catch any word i.e. queuejms.anything-->
+ <!--<security match="topicjms.^">
+ <permission type="read" roles="guest,publisher"/>
+ <permission type="write" roles="guest,publisher"/>
+ </security>-->
+
+ <!--default security to catch all-->
+ <security match="*">
+ <permission type="create" roles="guest,def"/>
+ <permission type="read" roles="guest,def"/>
+ <permission type="write" roles="guest,def"/>
+ </security>
+
+ <queue-settings match="queuejms.QueueWithOwnDLQAndExpiryQueue">
+ <dead-letter-address>queuejms.PrivateDLQ</dead-letter-address>
+ <expiry-address>queuejms.PrivateExpiryQueue</expiry-address>
+ </queue-settings>
+
+ <queue-settings match="topicjms.TopicWithOwnDLQAndExpiryQueue">
+ <dead-letter-address>queuejms.PrivateDLQ</dead-letter-address>
+ <expiry-address>queuejms.PrivateExpiryQueue</expiry-address>
+ </queue-settings>
+
+ <queue-settings match="queuejms.QueueWithOwnRedeliveryDelay">
+ <redelivery-delay>5000</redelivery-delay>
+ </queue-settings>
+
+ <queue-settings match="topicjms.TopicWithOwnRedeliveryDelay">
+ <redelivery-delay>5000</redelivery-delay>
+ </queue-settings>
+
+ <queue-settings match="queuejms.testDistributedQueue">
+ <clustered>true</clustered>
+ </queue-settings>
+
+ <queue-settings match="topicjms.testDistributedTopic">
+ <clustered>true</clustered>
+ </queue-settings>
+
+ <queue-settings match="queuejms.testPerfQueue">
+ <clustered>false</clustered>
+ </queue-settings>
+
+ <queue-settings match="queuejms.MyQueue">
+ <max-size-bytes>-1</max-size-bytes>
+ <page-size-bytes>10485760</page-size-bytes>
+ <drop-messages-when-full>false</drop-messages-when-full>
+ </queue-settings>
+
+ <queue-settings match="queuejms.testGroupQueue">
+ <max-size-bytes>-1</max-size-bytes>
+ <page-size-bytes>10485760</page-size-bytes>
+ <drop-messages-when-full>false</drop-messages-when-full>
+ <distribution-policy-class>org.jboss.messaging.core.server.impl.GroupingRoundRobinDistributor</distribution-policy-class>
+ </queue-settings>
+
+ <!--default for catch all-->
+ <queue-settings match="*">
+ <clustered>false</clustered>
+ <dead-letter-address>queuejms.DLQ</dead-letter-address>
+ <expiry-address>queuejms.ExpiryQueue</expiry-address>
+ <redelivery-delay>0</redelivery-delay>
+ <max-size-bytes>-1</max-size-bytes>
+ <distribution-policy-class>org.jboss.messaging.core.server.impl.RoundRobinDistributor</distribution-policy-class>
+ <message-counter-history-day-limit>10</message-counter-history-day-limit>
+ </queue-settings>
+</settings>
Property changes on: trunk/src/config/jbm-queues.xml
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: trunk/src/config/queues.xml
===================================================================
--- trunk/src/config/queues.xml 2009-01-26 11:55:47 UTC (rev 5723)
+++ trunk/src/config/queues.xml 2009-01-26 13:07:23 UTC (rev 5724)
@@ -1,121 +0,0 @@
-<settings xmlns="urn:jboss:messaging"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:jboss:messaging ../schemas/queues.xsd ">
-
- <security match="topicjms.testTopic">
- <permission type="create" roles="durpublisher"/>
- <permission type="read" roles="guest,publisher,durpublisher"/>
- <permission type="write" roles="guest,publisher,durpublisher"/>
- </security>
-
- <security match="topicjms.securedTopic">
- <permission type="write" roles="publisher"/>
- <permission type="read" roles="publisher"/>
- </security>
-
- <security match="topicjms.testDurableTopic">
- <permission type="create" roles="durpublisher"/>
- <permission type="read" roles="guest,publisher,durpublisher"/>
- <permission type="write" roles="guest,publisher,durpublisher"/>
- </security>
-
- <security match="queuejms.testQueue">
- <permission type="read" roles="guest,publisher"/>
- <permission type="write" roles="guest,publisher"/>
- </security>
-
- <security match="queuejms.NoSuchQueue">
- <permission type="read" roles="guest,publisher"/>
- <permission type="write" roles="guest,publisher"/>
- </security>
-
- <security match="topicjms.NoSuchTopic">
- <permission type="read" roles="guest,publisher"/>
- <permission type="write" roles="guest,publisher"/>
- </security>
-
- <security match="queuetempjms.*">
- <permission type="create" roles="guest,def"/>
- <permission type="read" roles="guest,def"/>
- <permission type="write" roles="guest,def"/>
- </security>
-
- <security match="topictempjms.*">
- <permission type="create" roles="guest,def"/>
- <permission type="read" roles="guest,def"/>
- <permission type="write" roles="guest,def"/>
- </security>
-
- <!--this will catch any word i.e. queuejms.anything-->
- <!--<security match="queuejms.^">
- <permission type="read" roles="guest,publisher"/>
- <permission type="write" roles="guest,publisher"/>
- </security>-->
-
- <!--this will catch any word i.e. queuejms.anything-->
- <!--<security match="topicjms.^">
- <permission type="read" roles="guest,publisher"/>
- <permission type="write" roles="guest,publisher"/>
- </security>-->
-
- <!--default security to catch all-->
- <security match="*">
- <permission type="create" roles="guest,def"/>
- <permission type="read" roles="guest,def"/>
- <permission type="write" roles="guest,def"/>
- </security>
-
- <queue-settings match="queuejms.QueueWithOwnDLQAndExpiryQueue">
- <dead-letter-address>queuejms.PrivateDLQ</dead-letter-address>
- <expiry-address>queuejms.PrivateExpiryQueue</expiry-address>
- </queue-settings>
-
- <queue-settings match="topicjms.TopicWithOwnDLQAndExpiryQueue">
- <dead-letter-address>queuejms.PrivateDLQ</dead-letter-address>
- <expiry-address>queuejms.PrivateExpiryQueue</expiry-address>
- </queue-settings>
-
- <queue-settings match="queuejms.QueueWithOwnRedeliveryDelay">
- <redelivery-delay>5000</redelivery-delay>
- </queue-settings>
-
- <queue-settings match="topicjms.TopicWithOwnRedeliveryDelay">
- <redelivery-delay>5000</redelivery-delay>
- </queue-settings>
-
- <queue-settings match="queuejms.testDistributedQueue">
- <clustered>true</clustered>
- </queue-settings>
-
- <queue-settings match="topicjms.testDistributedTopic">
- <clustered>true</clustered>
- </queue-settings>
-
- <queue-settings match="queuejms.testPerfQueue">
- <clustered>false</clustered>
- </queue-settings>
-
- <queue-settings match="queuejms.MyQueue">
- <max-size-bytes>-1</max-size-bytes>
- <page-size-bytes>10485760</page-size-bytes>
- <drop-messages-when-full>false</drop-messages-when-full>
- </queue-settings>
-
- <queue-settings match="queuejms.testGroupQueue">
- <max-size-bytes>-1</max-size-bytes>
- <page-size-bytes>10485760</page-size-bytes>
- <drop-messages-when-full>false</drop-messages-when-full>
- <distribution-policy-class>org.jboss.messaging.core.server.impl.GroupingRoundRobinDistributor</distribution-policy-class>
- </queue-settings>
-
- <!--default for catch all-->
- <queue-settings match="*">
- <clustered>false</clustered>
- <dead-letter-address>queuejms.DLQ</dead-letter-address>
- <expiry-address>queuejms.ExpiryQueue</expiry-address>
- <redelivery-delay>0</redelivery-delay>
- <max-size-bytes>-1</max-size-bytes>
- <distribution-policy-class>org.jboss.messaging.core.server.impl.RoundRobinDistributor</distribution-policy-class>
- <message-counter-history-day-limit>10</message-counter-history-day-limit>
- </queue-settings>
-</settings>
Modified: trunk/src/main/org/jboss/messaging/core/deployers/impl/QueueDeployer.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/deployers/impl/QueueDeployer.java 2009-01-26 11:55:47 UTC (rev 5723)
+++ trunk/src/main/org/jboss/messaging/core/deployers/impl/QueueDeployer.java 2009-01-26 13:07:23 UTC (rev 5724)
@@ -64,7 +64,7 @@
XMLUtil.validate(rootNode, "jbm-configuration.xsd");
} else
{
- XMLUtil.validate(rootNode, "queues.xsd");
+ XMLUtil.validate(rootNode, "jbm-queues.xsd");
}
}
@@ -93,7 +93,7 @@
*/
public String[] getConfigFileNames()
{
- return new String[] {"jbm-configuration.xml", "queues.xml"};
+ return new String[] {"jbm-configuration.xml", "jbm-queues.xml"};
}
private QueueConfiguration parseQueueConfiguration(final Node node)
Modified: trunk/src/main/org/jboss/messaging/core/deployers/impl/QueueSettingsDeployer.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/deployers/impl/QueueSettingsDeployer.java 2009-01-26 11:55:47 UTC (rev 5723)
+++ trunk/src/main/org/jboss/messaging/core/deployers/impl/QueueSettingsDeployer.java 2009-01-26 13:07:23 UTC (rev 5724)
@@ -79,7 +79,7 @@
XMLUtil.validate(rootNode, "jbm-configuration.xsd");
} else
{
- XMLUtil.validate(rootNode, "queues.xsd");
+ XMLUtil.validate(rootNode, "jbm-queues.xsd");
}
}
@@ -145,7 +145,7 @@
public String[] getConfigFileNames()
{
- return new String[] {"jbm-configuration", "queues.xml"};
+ return new String[] {"jbm-configuration", "jbm-queues.xml"};
}
/**
Modified: trunk/src/schemas/jbm-configuration.xsd
===================================================================
--- trunk/src/schemas/jbm-configuration.xsd 2009-01-26 11:55:47 UTC (rev 5723)
+++ trunk/src/schemas/jbm-configuration.xsd 2009-01-26 13:07:23 UTC (rev 5724)
@@ -5,7 +5,7 @@
elementFormDefault="qualified" attributeFormDefault="unqualified"
version="1.0">
- <xsd:include schemaLocation="queues.xsd"></xsd:include>
+ <xsd:include schemaLocation="jbm-queues.xsd"></xsd:include>
<xsd:element name="deployment">
<xsd:complexType>
<xsd:sequence>
Copied: trunk/src/schemas/jbm-queues.xsd (from rev 5704, trunk/src/schemas/queues.xsd)
===================================================================
--- trunk/src/schemas/jbm-queues.xsd (rev 0)
+++ trunk/src/schemas/jbm-queues.xsd 2009-01-26 13:07:23 UTC (rev 5724)
@@ -0,0 +1,89 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="urn:jboss:messaging"
+ xmlns="urn:jboss:messaging"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="1.0">
+
+ <xsd:element name="settings">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="security" maxOccurs="unbounded"
+ minOccurs="0">
+ </xsd:element>
+ <xsd:element ref="queue-settings" maxOccurs="unbounded"
+ minOccurs="0">
+ </xsd:element>
+ <xsd:element ref="queue" maxOccurs="unbounded"
+ minOccurs="0">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="permission">
+ <xsd:complexType>
+ <xsd:attribute name="type" type="xsd:string" use="required"></xsd:attribute>
+ <xsd:attribute name="roles" type="xsd:string" use="required"></xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="security">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="permission" maxOccurs="unbounded" minOccurs="1"></xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="match" type="xsd:string" use="required"></xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="queue-settings" type="queue-settingsType"></xsd:element>
+
+ <xsd:complexType name="queue-settingsType">
+ <xsd:sequence>
+ <xsd:element name="clustered" type="xsd:boolean"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="dead-letter-address" type="xsd:string"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="expiry-address" type="xsd:string"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="redelivery-delay" type="xsd:long"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="max-size-bytes" type="xsd:long"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="page-size-bytes" type="xsd:long"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="drop-messages-when-full" type="xsd:boolean"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="distribution-policy-class" type="xsd:string"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="message-counter-history-day-limit" type="xsd:int"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="match" type="xsd:string" use="required"></xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:element name="queue" type="queueType"></xsd:element>
+
+ <xsd:complexType name="queueType">
+ <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
+ <xsd:attribute name="address" type="xsd:string"
+ use="required">
+ </xsd:attribute>
+ <xsd:attribute name="filter" type="xsd:string" use="optional"></xsd:attribute>
+ <xsd:attribute name="durable" type="xsd:boolean"
+ use="optional">
+ </xsd:attribute>
+ </xsd:complexType>
+</xsd:schema>
Property changes on: trunk/src/schemas/jbm-queues.xsd
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: trunk/src/schemas/queues.xsd
===================================================================
--- trunk/src/schemas/queues.xsd 2009-01-26 11:55:47 UTC (rev 5723)
+++ trunk/src/schemas/queues.xsd 2009-01-26 13:07:23 UTC (rev 5724)
@@ -1,89 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="urn:jboss:messaging"
- xmlns="urn:jboss:messaging"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="1.0">
-
- <xsd:element name="settings">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="security" maxOccurs="unbounded"
- minOccurs="0">
- </xsd:element>
- <xsd:element ref="queue-settings" maxOccurs="unbounded"
- minOccurs="0">
- </xsd:element>
- <xsd:element ref="queue" maxOccurs="unbounded"
- minOccurs="0">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="permission">
- <xsd:complexType>
- <xsd:attribute name="type" type="xsd:string" use="required"></xsd:attribute>
- <xsd:attribute name="roles" type="xsd:string" use="required"></xsd:attribute>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="security">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="permission" maxOccurs="unbounded" minOccurs="1"></xsd:element>
- </xsd:sequence>
- <xsd:attribute name="match" type="xsd:string" use="required"></xsd:attribute>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="queue-settings" type="queue-settingsType"></xsd:element>
-
- <xsd:complexType name="queue-settingsType">
- <xsd:sequence>
- <xsd:element name="clustered" type="xsd:boolean"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="dead-letter-address" type="xsd:string"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="expiry-address" type="xsd:string"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="redelivery-delay" type="xsd:long"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="max-size-bytes" type="xsd:long"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="page-size-bytes" type="xsd:long"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="drop-messages-when-full" type="xsd:boolean"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="distribution-policy-class" type="xsd:string"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="message-counter-history-day-limit" type="xsd:int"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="match" type="xsd:string" use="required"></xsd:attribute>
- </xsd:complexType>
-
- <xsd:element name="queue" type="queueType"></xsd:element>
-
- <xsd:complexType name="queueType">
- <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
- <xsd:attribute name="address" type="xsd:string"
- use="required">
- </xsd:attribute>
- <xsd:attribute name="filter" type="xsd:string" use="optional"></xsd:attribute>
- <xsd:attribute name="durable" type="xsd:boolean"
- use="optional">
- </xsd:attribute>
- </xsd:complexType>
-</xsd:schema>
Modified: trunk/tests/config/ConfigurationTest-full-config.xml
===================================================================
--- trunk/tests/config/ConfigurationTest-full-config.xml 2009-01-26 11:55:47 UTC (rev 5723)
+++ trunk/tests/config/ConfigurationTest-full-config.xml 2009-01-26 13:07:23 UTC (rev 5724)
@@ -137,5 +137,9 @@
<journal-max-aio>56546</journal-max-aio>
<large-messages-directory>largemessagesdir</large-messages-directory>
</configuration>
+
+ <settings>
+ <queue name="foo3" address="bar" />
+ </settings>
</deployment>
\ No newline at end of file
Added: trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/QueueDeployerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/QueueDeployerTest.java (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/QueueDeployerTest.java 2009-01-26 13:07:23 UTC (rev 5724)
@@ -0,0 +1,115 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt 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.messaging.tests.unit.core.config.impl;
+
+import junit.framework.TestCase;
+
+import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.config.cluster.QueueConfiguration;
+import org.jboss.messaging.core.config.impl.ConfigurationImpl;
+import org.jboss.messaging.core.deployers.impl.FileDeploymentManager;
+import org.jboss.messaging.core.deployers.impl.QueueDeployer;
+import org.jboss.messaging.util.XMLUtil;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/**
+ * A QueueDeployerTest
+ *
+ * @author <a href="jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ */
+public class QueueDeployerTest extends TestCase
+{
+
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ // Public --------------------------------------------------------
+
+ public void testParseQueueConfigurationFromQueueSettings() throws Exception
+ {
+ Configuration configuration = new ConfigurationImpl();
+ QueueDeployer deployer = new QueueDeployer(new FileDeploymentManager(500), configuration);
+
+ String xml = "<settings xmlns='urn:jboss:messaging'>"
+ + "<queue name='foo' address='bar' filter='speed > 88' durable='false' />"
+ + "</settings>";
+
+ Element rootNode = XMLUtil.stringToElement(xml);
+ deployer.validate(rootNode);
+ NodeList queueNodes = rootNode.getElementsByTagName("queue");
+ assertEquals(1, queueNodes.getLength());
+ deployer.deploy(queueNodes.item(0));
+
+ assertEquals(1, configuration.getQueueConfigurations().size());
+
+ QueueConfiguration queueConfiguration = configuration.getQueueConfigurations().get(0);
+ assertEquals("foo", queueConfiguration.getName());
+ assertEquals("bar", queueConfiguration.getAddress());
+ assertEquals("speed > 88", queueConfiguration.getFilterString());
+ assertEquals(false, queueConfiguration.isDurable());
+ }
+
+ public void testParseQueueConfigurationFromJBMConfiguration() throws Exception
+ {
+ Configuration configuration = new ConfigurationImpl();
+ QueueDeployer deployer = new QueueDeployer(new FileDeploymentManager(500), configuration);
+
+ String xml = "<deployment xmlns='urn:jboss:messaging'> "
+ + "<configuration>"
+ + "<acceptor><factory-class>FooAcceptor</factory-class></acceptor>"
+ + "<queue name='foo' address='bar' filter='speed > 88' durable='false' />"
+ + "</configuration>"
+ + "<settings>"
+ + "<queue name='foo2' address='bar2' filter='speed > 88' durable='true' />"
+ + "</settings>"
+ + "</deployment>";
+
+ Element rootNode = XMLUtil.stringToElement(xml);
+ deployer.validate(rootNode);
+ NodeList queueNodes = rootNode.getElementsByTagName("queue");
+ assertEquals(2, queueNodes.getLength());
+
+ deployer.deploy(queueNodes.item(0));
+ deployer.deploy(queueNodes.item(1));
+
+ assertEquals(2, configuration.getQueueConfigurations().size());
+ assertEquals("foo", configuration.getQueueConfigurations().get(0).getName());
+ assertEquals("foo2", configuration.getQueueConfigurations().get(1).getName());
+ }
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+
+}
More information about the jboss-cvs-commits
mailing list