[jboss-svn-commits] JBL Code SVN: r8401 - in labs/jbossesb/trunk/product: core/listeners/src/org/jboss/soa/esb/listeners/config core/listeners/src/org/jboss/soa/esb/listeners/config/mappers core/listeners/tests/src/org/jboss/soa/esb/listeners/config etc/schemas/xml
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Dec 19 08:26:37 EST 2006
Author: tfennelly
Date: 2006-12-19 08:26:25 -0500 (Tue, 19 Dec 2006)
New Revision: 8401
Added:
labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml
labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml
Modified:
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationController.java
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/GatewayGenerator.java
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/Generator.java
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/YADOMUtil.java
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/ActionMapper.java
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java
labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControlerUnitTest.java
labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java
labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml
labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd
Log:
Some more config updates.
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationController.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationController.java 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationController.java 2006-12-19 13:26:25 UTC (rev 8401)
@@ -53,6 +53,8 @@
private StreamSource mValidationInputSource;
private File mConfigDirectory;
private long mPreviousFileTimestamp;
+ private boolean ended = false;
+
/**
* Start the Controller externally.
* @param args - arg[0] - the parameter file name
@@ -91,6 +93,7 @@
validationInputStream = new FileInputStream(validationFile);
} catch (FileNotFoundException e) {
mLogger.error(e.getMessage(),e);
+ throw new IllegalStateException("ESB configuration file [" + (new File(configFileName)).getAbsolutePath() + "] not found.", e);
}
}
if (validationInputStream==null) {
@@ -107,50 +110,66 @@
*/
public void run()
{
- if (mConfigFileName!=null) {
- while (!mIsEndRequested) {
- if (isReloadNeeded()) {
+ mLogger.info("Configuration Controller instance started.");
+ try {
+ if (mConfigFileName!=null) {
+ while (!mIsEndRequested) {
+ if (isReloadNeeded()) {
+ try {
+ mLogger.info("loading configuration..");
+ String configXml = ParamRepositoryFactory.getInstance().get(mConfigFileName);
+ mLogger.debug("Start validation on configXml=" + configXml);
+ InputSource xmlInputSource = new InputSource(new StringReader(configXml));
+ XmlValidator validator = new XmlValidatorImpl();
+ if (validator.validate(xmlInputSource, mValidationInputSource)) {
+ mLogger.debug("Configuration file " + mConfigFileName + " passed validation. Starting " +
+ " the generation process of the jbossesb-listener.xml and the jbossesb-gateway.xml.");
+ Generator generator = new Generator(new ByteArrayInputStream(configXml.getBytes()));
+ generator.generate(mConfigDirectory);
+ } else {
+ StringBuffer buffer = new StringBuffer("The configuration file "
+ + mConfigFileName + "\n did not pass validation for the following reasons: \n");
+ int i=0;
+ for (String error: validator.getValidationResults())
+ {
+ buffer.append("** " + ++i + ". "+ error + "\n");
+ }
+ System.out.println(buffer);
+ mLogger.error(buffer);
+ mLogger.info("The current configuration is kept in place until "
+ + " validation passes.");
+ }
+ } catch (Exception e) {
+ mLogger.error("The current versions of the jbossesb-listener.xml and/or"
+ + " jbossesb-gateway.xml are kept in place until the following error is resolved: "
+ + e.getMessage(), e);
+ System.out.println(e.getMessage());
+ }
+ }
try {
- mLogger.info("loading configuration..");
- String configXml = ParamRepositoryFactory.getInstance().get(mConfigFileName);
- mLogger.debug("Start validation on configXml=" + configXml);
- InputSource xmlInputSource = new InputSource(new StringReader(configXml));
- XmlValidator validator = new XmlValidatorImpl();
- if (validator.validate(xmlInputSource, mValidationInputSource)) {
- mLogger.debug("Configuration file " + mConfigFileName + " passed validation. Starting " +
- " the generation process of the jbossesb-listener.xml and the jbossesb-gateway.xml.");
- Generator generator = new Generator(new ByteArrayInputStream(configXml.getBytes()));
- generator.generate(mConfigDirectory);
- } else {
- StringBuffer buffer = new StringBuffer("The configuration file "
- + mConfigFileName + "\n did not pass validation for the following reasons: \n");
- int i=0;
- for (String error: validator.getValidationResults())
- {
- buffer.append("** " + ++i + ". "+ error + "\n");
- }
- mLogger.error(buffer);
- mLogger.info("The current configuration is kept in place until "
- + " validation passes.");
- }
- } catch (Exception e) {
- mLogger.error("The current versions of the jbossesb-listener.xml and/or"
- + " jbossesb-gateway.xml are kept in place until the following error is resolved: "
- + e.getMessage(), e);
- }
- }
- try {
- Thread.sleep(SLEEP_MILLIS);
- } catch (InterruptedException ie) {
- mLogger.warn("Could not sleep." + ie.getMessage(),ie);
- }
- }
- } else {
- mLogger.fatal("The name of the configuran file was null: " + mConfigFileName);
+ Thread.sleep(SLEEP_MILLIS);
+ } catch (InterruptedException ie) {
+ mLogger.warn("Could not sleep." + ie.getMessage(),ie);
+ }
+ }
+ } else {
+ mLogger.fatal("The name of the configuran file was null: " + mConfigFileName);
+ }
+ } finally {
+ mLogger.info("Exiting Config Controller...");
+ ended = true;
}
- mLogger.info("Exiting Config Controller...");
}
+
/**
+ * Has the controller instance ended.
+ * @return True if this controller instance has ended, otherwise false..
+ */
+ public boolean hasEnded() {
+ return ended;
+ }
+
+ /**
* Setter, to request the end of processing.
* @param isEndRequested
*/
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java 2006-12-19 13:26:25 UTC (rev 8401)
@@ -64,8 +64,11 @@
*/
protected Document generate() throws ConfigurationException {
Document doc = YADOMUtil.createDocument();
- Element root = YADOMUtil.addElement(doc, "jbossesb-listeners");
+ Element root;
+ doc.appendChild(doc.createComment("\n\tNOTE: DO NOT MODIFY\n\tThis file was auto-generated.\n"));
+ root = YADOMUtil.addElement(doc, "jbossesb-listeners");
+
// Iterate over all the ESB Aware listner configs and map them to the listener configuration...
List<Listener> listeners = model.getESBAwareListeners();
for(Listener listener : listeners) {
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/GatewayGenerator.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/GatewayGenerator.java 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/GatewayGenerator.java 2006-12-19 13:26:25 UTC (rev 8401)
@@ -61,8 +61,11 @@
*/
protected Document generate() throws ConfigurationException {
Document doc = YADOMUtil.createDocument();
- Element root = YADOMUtil.addElement(doc, "jbossesb-gateways");
+ Element root;
+ doc.appendChild(doc.createComment("\n\tNOTE: DO NOT MODIFY\n\tThis file was auto-generated.\n"));
+ root = YADOMUtil.addElement(doc, "jbossesb-gateways");
+
// Iterate over all the gateway configs and map them to the gateway configuration...
List<Listener> gateways = model.getGatewayListeners();
for(Listener gateway : gateways) {
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/Generator.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/Generator.java 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/Generator.java 2006-12-19 13:26:25 UTC (rev 8401)
@@ -27,6 +27,7 @@
import java.util.ArrayList;
import java.util.List;
+import org.apache.log4j.Logger;
import org.apache.xmlbeans.XmlException;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.listeners.config.JbossesbDocument;
@@ -47,6 +48,8 @@
*/
public class Generator {
+ private static Logger logger = Logger.getLogger(Generator.class);
+
/**
* Gateway Listeners config file.
*/
@@ -111,11 +114,15 @@
// Generate and serialise the configuration for the Gateway listeners...
GatewayGenerator gatewayGenerator = new GatewayGenerator(model);
Document gatewayConfig = gatewayGenerator.generate();
+
+ logger.info("Serialising ESB Aware Listener 'ConfigTree' configuration to [" + (new File(outdir, ESB_CONFIG_GATEWAY_XML_FILE)).getAbsolutePath() + "].");
YADOMUtil.serialize(gatewayConfig, outdir, ESB_CONFIG_GATEWAY_XML_FILE);
// Generate and serialise the configuration for the ESB Aware listeners...
ESBAwareGenerator awareGenerator = new ESBAwareGenerator(model);
Document awareConfig = awareGenerator.generate();
+
+ logger.info("Serialising ESB Gateway Listener 'ConfigTree' configuration to [" + (new File(outdir, ESB_CONFIG_GATEWAY_XML_FILE)).getAbsolutePath() + "].");
YADOMUtil.serialize(awareConfig, outdir, ESB_CONFIG_XML_FILE);
}
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/YADOMUtil.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/YADOMUtil.java 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/YADOMUtil.java 2006-12-19 13:26:25 UTC (rev 8401)
@@ -109,15 +109,24 @@
}
/**
- * Serialize the supplied Document to the specified file in the specified output directory.
- * @param doc The document to be serialised.
+ * Serialize the supplied DOM node to the specified file in the specified output directory.
+ * @param node The DOM node to be serialised.
* @param outdir The directory into which the file is to be serialised.
* @param fileName The name of the file.
- * @throws ConfigurationException Unable to serialise the document.
+ * @throws ConfigurationException Unable to serialise the node.
*/
- public static void serialize(Document doc, File outdir, String fileName) throws ConfigurationException {
- DOMSource domSource = new DOMSource(doc);
- StreamResult streamRes = new StreamResult(new File(outdir, fileName));
+ public static void serialize(Node node, File outdir, String fileName) throws ConfigurationException {
+ serialize(node, new StreamResult(new File(outdir, fileName)));
+ }
+
+ /**
+ * Serialize the supplied DOM node to the supplied DOM StreamResult instance.
+ * @param node The DOM node to be serialised.
+ * @param streamRes The StreamResult into which the node is to be serialised.
+ * @throws ConfigurationException Unable to serialise the node.
+ */
+ public static void serialize(Node node, StreamResult streamRes) throws ConfigurationException {
+ DOMSource domSource = new DOMSource(node);
try {
Transformer transformer = TransformerFactory.newInstance().newTransformer();
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/ActionMapper.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/ActionMapper.java 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/ActionMapper.java 2006-12-19 13:26:25 UTC (rev 8401)
@@ -21,12 +21,23 @@
package org.jboss.soa.esb.listeners.config.mappers;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
+import javax.xml.transform.stream.StreamResult;
+
+import org.apache.xmlbeans.XmlCursor;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlCursor.TokenType;
+import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.listeners.ListenerTagNames;
import org.jboss.soa.esb.listeners.config.YADOMUtil;
import org.jboss.soa.esb.listeners.config.ActionDocument.Action;
import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
import org.jboss.soa.esb.listeners.config.PropertyDocument.Property;
import org.jboss.soa.esb.listeners.config.ServiceDocument.Service;
+import org.milyn.xml.DomUtils;
+import org.w3c.dom.Document;
import org.w3c.dom.Element;
/**
@@ -63,13 +74,21 @@
actionConfigTree.setAttribute(ListenerTagNames.ACTION_ELEMENT_TAG, action.getName());
actionConfigTree.setAttribute(ListenerTagNames.ACTION_CLASS_TAG, action.getClass1());
actionConfigTree.setAttribute(ListenerTagNames.PROCESS_METHOD_TAG, action.getProcess());
- // TODO: What will we do about the "okMethods" and "exceptionMethod" attributes supported by the ConfigTree model??
+ // The "okMethods" and "exceptionMethod" attributes are supported by adding them as child <property> elements.
- // Map the property elements to actions attributes...
+ // Map the property elements to action attributes...
for(Property property : properties) {
- actionConfigTree.setAttribute(property.getName(), property.getValue());
+ Element propertyElement = listenerConfigTree.getOwnerDocument().createElement("property");
+
+ MapperUtil.serialize(property, propertyElement);
- // TODO: Add support for CDATA or xsd:anyType property contents...
+ // If the property has child content, add that directy to the action. Of course it only really
+ // makes sense to do this with one property!
+ if(propertyElement.hasChildNodes()) {
+ DomUtils.copyChildNodes(propertyElement, actionConfigTree);
+ } else {
+ actionConfigTree.setAttribute(property.getName(), property.getValue());
+ }
}
// Remove any empty attributes set on the action config...
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java 2006-12-19 13:26:25 UTC (rev 8401)
@@ -48,7 +48,7 @@
* @param root The "ConfigTree" configuration root node.
* @param listener The Jmslistener to be mapped into the ConfigTree.
* @param model The configuration model from which the mapping is being performed.
- * @param The ConfigTree listener configuration node.
+ * @return The ConfigTree listener configuration node.
* @throws ConfigurationException Invalid listener configuration.
*/
public static Element map(Element root, JmsListener listener, XMLBeansModel model) throws ConfigurationException {
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java 2006-12-19 13:26:25 UTC (rev 8401)
@@ -21,6 +21,9 @@
package org.jboss.soa.esb.listeners.config.mappers;
+import org.apache.xmlbeans.XmlCursor;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlCursor.TokenType;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.listeners.ListenerTagNames;
import org.jboss.soa.esb.listeners.config.Bus;
@@ -30,7 +33,13 @@
import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
import org.jboss.soa.esb.listeners.config.PropertyDocument.Property;
import org.jboss.soa.esb.listeners.config.ServiceDocument.Service;
+import org.w3c.dom.Document;
import org.w3c.dom.Element;
+import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+import org.xml.sax.ext.LexicalHandler;
/**
* Mapper utility methods.
@@ -89,8 +98,61 @@
for(Property property : properties) {
target.setAttribute(property.getName(), property.getValue());
}
+ }
+
+ /**
+ * Serialise the supplied {@link XmlObject} instance to the supplied element.
+ * @param xmlObject The XmlObject instance.
+ * @param toElement The element to which the cursor is to be serialised.
+ */
+ protected static void serialize(XmlObject xmlObject, Element toElement) {
+ XmlCursor cursor = xmlObject.newCursor();
- // Remove any empty attributes set on the action config...
- YADOMUtil.removeEmptyAttributes(target);
+ // Note there are methods on the XmlObject that "looked" as though they might be able
+ // to do this for us (save, newDomNode etc), but they kept throwing exceptions.
+
+ serialize(cursor, toElement);
+ cursor.dispose();
}
+
+ /**
+ * Serialise the XML content behind the supplied XmlCursor instance to the supplied
+ * target element.
+ * @param cursor The cursor instance.
+ * @param toElement The target DOM Element.
+ */
+ private static void serialize(XmlCursor cursor, Element toElement) {
+ TokenType token;
+ Document doc = toElement.getOwnerDocument();
+
+ while(true) {
+ token = cursor.toNextToken();
+
+ switch (token.intValue()) {
+ case TokenType.INT_ATTR:
+ toElement.setAttribute(cursor.getName().getLocalPart(), cursor.getTextValue());
+ break;
+ case TokenType.INT_COMMENT:
+ toElement.appendChild(doc.createComment(cursor.getTextValue()));
+ break;
+ case TokenType.INT_START:
+ Element childElement = doc.createElement(cursor.getName().getLocalPart());
+ toElement.appendChild(childElement);
+ serialize(cursor, childElement);
+ break;
+ case TokenType.INT_TEXT:
+ toElement.appendChild(doc.createTextNode(cursor.getChars()));
+ break;
+ case TokenType.INT_END:
+ case TokenType.INT_STARTDOC:
+ case TokenType.INT_ENDDOC:
+ case TokenType.INT_NONE:
+ return;
+ case TokenType.INT_PROCINST:
+ case TokenType.INT_NAMESPACE:
+ default:
+ break;
+ }
+ }
+ }
}
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java 2006-12-19 13:26:25 UTC (rev 8401)
@@ -34,17 +34,20 @@
* defined using the base <listener> type, mapping all it's associated
* <property> values (including those of the associated bus and provider) onto the listener
* ConfigTree as attributes.
+ * <p/>
+ * This is effectively like the base transform - if we don't have a mapper for the listener, this one is applied.
*
* @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
*/
public class UntypedListenerMapper {
/**
- * @param root
- * @param listener
- * @param model
- * @return
- * @throws ConfigurationException
+ * Perform the mapping.
+ * @param root The "ConfigTree" configuration root node.
+ * @param listener The listener to be mapped into the ConfigTree.
+ * @param model The configuration model from which the mapping is being performed.
+ * @return The ConfigTree listener configuration node.
+ * @throws ConfigurationException Invalid listener configuration.
*/
public static Element map(Element root, Listener listener, XMLBeansModel model) throws ConfigurationException {
Element listenerNode = YADOMUtil.addElement(root, "listener-config");
@@ -54,6 +57,9 @@
// Map the <property> elements targeted at the listener.
MapperUtil.mapProperties(listener, listenerNode, model);
+ // Remove any empty attributes set on the listener config...
+ YADOMUtil.removeEmptyAttributes(listenerNode);
+
return listenerNode;
}
}
Modified: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControlerUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControlerUnitTest.java 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControlerUnitTest.java 2006-12-19 13:26:25 UTC (rev 8401)
@@ -75,14 +75,14 @@
controller.start();
int deciSeconds=0;
//wait till the file files are there, or timeout after 8 seconds
- while (true) {
+ while (!configurationController.hasEnded()) {
if (listenerFile.exists() && (gatewayFile.exists())){
break;
} else {
- if (deciSeconds++>80) {
+ if (deciSeconds++>8) {
break;
} else {
- Thread.sleep(100);
+ Thread.sleep(1000);
}
}
}
Modified: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java 2006-12-19 13:26:25 UTC (rev 8401)
@@ -27,6 +27,7 @@
import junit.framework.TestCase;
+import org.jboss.internal.soa.esb.util.StreamUtils;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
import org.jboss.soa.esb.listeners.config.JmsBusDocument.JmsBus;
@@ -67,11 +68,13 @@
gatewayConfig = new File(outdir, Generator.ESB_CONFIG_GATEWAY_XML_FILE);
assertTrue(gatewayConfig.exists());
- System.out.println(FileUtil.readTextFile(gatewayConfig));
+ String expectedGatewayConfig = new String(StreamUtils.readStream(getClass().getResourceAsStream("jbossesb_config_01_gateways.xml")));
+ assertEquals(expectedGatewayConfig, FileUtil.readTextFile(gatewayConfig));
awareConfig = new File(outdir, Generator.ESB_CONFIG_XML_FILE);
assertTrue(awareConfig.exists());
- System.out.println(FileUtil.readTextFile(awareConfig));
+ String expectedESBAwareConfig = new String(StreamUtils.readStream(getClass().getResourceAsStream("jbossesb_config_01_esbaware.xml")));
+ assertEquals(expectedESBAwareConfig, FileUtil.readTextFile(awareConfig));
}
public void test_model() throws ConfigurationException, IOException {
Modified: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml 2006-12-19 13:26:25 UTC (rev 8401)
@@ -50,6 +50,16 @@
<actions>
<action name="TestDefaultRouteAction" process="route" class="org.jboss.soa.esb.actions.CbrProxyAction">
<property name="propName" value="propValue" />
+ <property name="propName">
+ This is some complex..
+ <!-- property -->
+ value.
+ <xxxx>
+ boooo
+ <yyyy/>
+ </xxxx>
+ <![CDATA[ Some CDATA data...]]>
+ </property>
</action>
</actions>
Added: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml 2006-12-19 13:26:25 UTC (rev 8401)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ NOTE: DO NOT MODIFY
+ This file was auto-generated.
+-->
+<jbossesb-listeners>
+<jms-listener-config connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" epr-description="Bank-Listener" jndi-URL="jnp://localhost:1099" listenerClass="org.jboss.soa.esb.listeners.message.JmsQueueListener" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation">
+<action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.CbrProxyAction" process="route" propName="propValue">
+ This is some complex..
+ <!-- property -->
+ value.
+ <xxxx>
+ boooo
+ <yyyy/>
+ </xxxx>
+ Some CDATA data...
+ </action>
+</jms-listener-config>
+<listener-config epr-description="Bank-Listener-Generic" my-generic-bus="my-generic-bus#someattribvalue" my-generic-listener="my-generic-listener#someattribvalue" my-generic-provider="my-generic-provider#someattribvalue" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation">
+<action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.CbrProxyAction" process="route" propName="propValue">
+ This is some complex..
+ <!-- property -->
+ value.
+ <xxxx>
+ boooo
+ <yyyy/>
+ </xxxx>
+ Some CDATA data...
+ </action>
+</listener-config>
+</jbossesb-listeners>
Added: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml 2006-12-19 13:26:25 UTC (rev 8401)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ NOTE: DO NOT MODIFY
+ This file was auto-generated.
+-->
+<jbossesb-gateways>
+<jms-listener-config connection-factory="com.xyz.provider.XYZConnectionFactory" destination-name="queue/A" destination-type="queue" gatewayClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" jndi-URL="xyz://server1:9876" jndi-context-factory="com.xyz.provider.NamingContextFactory" jndi-pkg-prefix="com.xyz" target-service-category="Bank" target-service-name="Reconciliation"/>
+</jbossesb-gateways>
Modified: labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd
===================================================================
--- labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd 2006-12-19 12:29:48 UTC (rev 8400)
+++ labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd 2006-12-19 13:26:25 UTC (rev 8401)
@@ -27,8 +27,12 @@
<xsd:documentation xml:lang="en">A simple name-value pair.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
- <xsd:attribute name="name" use="required" type="xsd:string"/>
- <xsd:attribute name="value" type="xsd:string"/>
+ <xsd:complexContent>
+ <xsd:extension base="xsd:anyType">
+ <xsd:attribute name="name" use="required" type="xsd:string"/>
+ <xsd:attribute name="value" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
</xsd:complexType>
</xsd:element>
@@ -38,7 +42,7 @@
<xsd:element name="providers">
<xsd:annotation>
- <xsd:documentation xml:lang="en">A container for the providers referenced in the jbossesb configfile</xsd:documentation>
+ <xsd:documentation xml:lang="en">A container for the providers referenced in the jbossesb config file</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
@@ -59,14 +63,14 @@
<xsd:complexType name="bus">
<xsd:annotation>
- <xsd:documentation xml:lang="en">A bus (also called channel by others) is a how a one application communicates with another application (JMS, FTP, HTTP, etc)</xsd:documentation>
+ <xsd:documentation xml:lang="en">A bus (also called "channel" by others) is a means by which Services communicate with each other (JMS, FTP, HTTP, etc).</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="jesb:property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="busid" use="required" type="xsd:string">
<xsd:annotation>
- <xsd:documentation xml:lang="en">An id such that this bus can be referenced by services.</xsd:documentation><xsd:appinfo>
+ <xsd:documentation xml:lang="en">An id such that this bus can be referenced by Service listn.</xsd:documentation><xsd:appinfo>
</xsd:appinfo></xsd:annotation>
</xsd:attribute>
</xsd:complexType>
More information about the jboss-svn-commits
mailing list