[jboss-svn-commits] JBL Code SVN: r31994 - in labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts: validation-schematron and 9 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Mar 8 08:14:14 EST 2010


Author: johan.kumps
Date: 2010-03-08 08:14:13 -0500 (Mon, 08 Mar 2010)
New Revision: 31994

Added:
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/build.xml
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/deployment.xml
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jbm-queue-service.xml
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jbmq-queue-service.xml
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jboss-esb.xml
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jndi.properties
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/lib/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/log4j.xml
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/readme.txt
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/org/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/org/jboss/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/org/jboss/soa/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/org/jboss/soa/esb/samples/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/org/jboss/soa/esb/samples/quickstart/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/org/jboss/soa/esb/samples/quickstart/validation_schematron/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/org/jboss/soa/esb/samples/quickstart/validation_schematron/test/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/org/jboss/soa/esb/samples/quickstart/validation_schematron/test/SendJMSMessage.java
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/schematronRulesDefinition.sch
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/test-invalid.xml
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/test.xml
Log:
Created quickstart for Schematron validation feature

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/build.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/build.xml	2010-03-08 13:14:13 UTC (rev 31994)
@@ -0,0 +1,28 @@
+<project name="validation-schematron-quickstart" default="deploy" basedir=".">
+	<description> 
+		${ant.project.name}
+		${line.separator}
+	</description>
+
+	<property name="additional.deploys" value="smooks-res.xml" />
+
+	<!-- Import the base Ant build script... -->
+	<import file="../conf/base-build.xml" />
+
+	<target name="runtest-valid" depends="compile" description="runs Test JMS Sender">
+		<echo>Runs Test JMS Sender</echo>
+		<java fork="yes" classname="org.jboss.soa.esb.samples.quickstart.validation_schematron.test.SendJMSMessage" failonerror="true">
+			<arg value="test.xml" />
+			<classpath refid="exec-classpath" />
+		</java>
+	</target>
+
+	<target name="runtest-invalid" depends="compile" description="runs Test JMS Sender">
+		<echo>Runs Test JMS Sender</echo>
+		<java fork="yes" classname="org.jboss.soa.esb.samples.quickstart.validation_schematron.test.SendJMSMessage" failonerror="true">
+			<arg value="test-invalid.xml" />
+			<classpath refid="exec-classpath" />
+		</java>
+	</target>
+
+</project>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/deployment.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/deployment.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/deployment.xml	2010-03-08 13:14:13 UTC (rev 31994)
@@ -0,0 +1,4 @@
+<jbossesb-deployment>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_validation-schematron_gw</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_validation-schematron_esb</depends>
+</jbossesb-deployment>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jbm-queue-service.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jbm-queue-service.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jbm-queue-service.xml	2010-03-08 13:14:13 UTC (rev 31994)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+    <mbean code="org.jboss.jms.server.destination.QueueService"
+           name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_validation-schematron_gw"
+           xmbean-dd="xmdesc/Queue-xmbean.xml">
+        <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+        <depends>jboss.messaging:service=PostOffice</depends>
+    </mbean>
+    <mbean code="org.jboss.jms.server.destination.QueueService"
+           name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_validation-schematron_esb"
+           xmbean-dd="xmdesc/Queue-xmbean.xml">
+        <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+        <depends>jboss.messaging:service=PostOffice</depends>
+    </mbean>
+</server>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jbmq-queue-service.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jbmq-queue-service.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jbmq-queue-service.xml	2010-03-08 13:14:13 UTC (rev 31994)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+    name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_validation-schematron_gw">
+    <depends optional-attribute-name="DestinationManager">
+      jboss.mq:service=DestinationManager
+    </depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+    name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_validation-schematron_esb">
+    <depends optional-attribute-name="DestinationManager">
+      jboss.mq:service=DestinationManager
+    </depends>
+  </mbean>
+</server>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jboss-esb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jboss-esb.xml	2010-03-08 13:14:13 UTC (rev 31994)
@@ -0,0 +1,45 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
+
+	<providers>
+		<jms-provider name="JBossMQ"
+			connection-factory="ConnectionFactory">
+			<jms-bus busid="validation-schematron-quickstartGwChannel">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_validation-schematron_gw" />
+			</jms-bus>
+			<jms-bus busid="validation-schematron-quickstartEsbChannel">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_validation-schematron_esb" />
+			</jms-bus>
+
+		</jms-provider>
+	</providers>
+
+	<services>
+
+		<service category="FirstServiceESB" name="SimpleListener"
+			description="Hello World">
+			<listeners>
+				<jms-listener name="JMS-Gateway" busidref="validation-schematron-quickstartGwChannel" is-gateway="true"/>
+				<jms-listener name="quickstart" busidref="validation-schematron-quickstartEsbChannel"/>
+			</listeners>
+			<actions mep="OneWay">
+				<action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="[Schematron validation] Message before validation" />
+				</action>
+                <action name="xml-schema-validation" class="org.jboss.soa.esb.actions.validation.SchematronValidationAction">
+                    <property name="schematronRulesDefinition" value="/schematronRulesDefinition.sch"/>
+                    <property name="onErrorCancelProcessingPipeline" value="FALSE"/>  
+                     <property name="preserveOriginalMessage" value="FALSE"/>                  
+                    <property name="resultType" value="STRING"/>
+                </action>
+                <action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="[Schematron validation] Validation result" />
+				</action>
+				<!-- The next action is for Continuous Integration testing -->
+				<action name="testStore" class="org.jboss.soa.esb.actions.TestMessageStore"/>
+			</actions>
+		</service>
+	</services>
+
+</jbossesb>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jndi.properties
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/jndi.properties	2010-03-08 13:14:13 UTC (rev 31994)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/log4j.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/log4j.xml	2010-03-08 13:14:13 UTC (rev 31994)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <category name="org.jboss">
+      <priority value="WARN"/>
+   </category>
+   <category name="org.jboss.soa.esb">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.milyn">
+      <priority value="INFO"/>
+   </category>
+   <category name="org.jboss.soa.esb.smooks.SmooksAction">
+      <priority value="INFO"/>
+   </category>
+   <category name="org.jboss.internal.soa.esb">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.apache">
+      <priority value="ERROR"/>
+   </category>
+   <category name="quickstart">
+      <priority value="INFO"/>
+   </category>
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+   </root>
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/readme.txt
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/readme.txt	2010-03-08 13:14:13 UTC (rev 31994)
@@ -0,0 +1,19 @@
+Overview:
+=========
+  This is a very basic example of how to validate a Message
+  within JBoss ESB.  
+  
+Running this quickstart:
+========================
+  Please refer to 'ant help-quickstarts' for prerequisites about the quickstarts
+  and a more detailed descripton of the different ways to run the quickstarts.
+
+To Run:
+===========================
+  1. In a command terminal window in this folder ("Window1"), type 'ant deploy'.
+  2. Open another command terminal window in this folder ("Window2"), type
+     'ant runtest-valid' to send a valid message to JBoss ESB.
+  3. Switch back to Application Server console to see the output from the ESB
+  4. In this folder ("Window1"), type 'ant runtest-valid' to send an invalid message to JBoss ESB.
+  5. Switch back to Application Server console to see the output from the ESB
+  6. In this folder ("Window1"), type 'ant undeploy'.

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/org/jboss/soa/esb/samples/quickstart/validation_schematron/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/org/jboss/soa/esb/samples/quickstart/validation_schematron/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/org/jboss/soa/esb/samples/quickstart/validation_schematron/test/SendJMSMessage.java	2010-03-08 13:14:13 UTC (rev 31994)
@@ -0,0 +1,92 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.validation_schematron.test;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jboss.soa.esb.util.FileUtil;
+
+public class SendJMSMessage {
+	QueueConnection conn;
+	QueueSession session;
+	Queue que;
+
+	public void setupConnection() throws JMSException, NamingException {
+		InitialContext iniCtx = new InitialContext();
+		Object tmp = iniCtx.lookup("ConnectionFactory");
+		QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+		conn = qcf.createQueueConnection();
+		que = (Queue) iniCtx
+				.lookup("queue/quickstart_validation-schematron_gw");
+		session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+		conn.start();
+		System.out.println("Connection Started");
+	}
+
+	public void stop() throws JMSException {
+		conn.stop();
+		session.close();
+		conn.close();
+	}
+
+	public void sendAMessage(String fileName) throws JMSException, FileNotFoundException, IOException {
+    	
+        QueueSender send = session.createSender(que);
+        ObjectMessage tm;
+        File file = new File(fileName);
+        
+        if(!file.exists()) {
+        	throw new IllegalArgumentException("Input message file [" + file.getAbsolutePath() + "] not found.");
+        }
+        
+        String message = FileUtil.readTextFile(file);
+        
+       // for (int i = 0; i <10000; i++){
+        
+	        tm = session.createObjectMessage(message);
+	        tm.setStringProperty("jbesbfilename", "validation-schematron.log");
+	        send.send(tm);        
+	       
+        //}
+        send.close();
+        System.out.println("*** Switch back to the ESB Java console now to see '" + fileName + "' before and after the transformation...");
+    }
+
+	public static void main(String args[]) throws Exception {
+		SendJMSMessage sm = new SendJMSMessage();
+		sm.setupConnection();
+		sm.sendAMessage(args[0]);
+		sm.stop();
+	}
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/schematronRulesDefinition.sch
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/schematronRulesDefinition.sch	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/src/schematronRulesDefinition.sch	2010-03-08 13:14:13 UTC (rev 31994)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<iso:schema xmlns="http://purl.oclc.org/dsdl/schematron" xmlns:iso="http://purl.oclc.org/dsdl/schematron" queryBinding='xslt' schemaVersion='ISO19757-3'>
+	<iso:pattern name="ISO Schematron test">		
+		<iso:rule context="shiporder/shipto">			
+			<iso:assert test="country">Element country is missing</iso:assert>
+		</iso:rule>
+	</iso:pattern>
+</iso:schema>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/test-invalid.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/test-invalid.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/test-invalid.xml	2010-03-08 13:14:13 UTC (rev 31994)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<shiporder orderid="889923" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="shiporder.xsd">
+	<orderperson>John Smith</orderperson>
+	<shipto>
+		<name>Ola Nordmann</name>
+		<address>Langgt 23</address>
+		<city>4000 Stavanger</city>		
+	</shipto>
+	<item>
+		<title>Empire Burlesque</title>
+		<note>Special Edition</note>
+		<quantity>-1</quantity>
+		<price>10.90</price>
+	</item>
+	<item>
+		<title>Hide your heart</title>
+		<quantity>1</quantity>
+		<price>9.90</price>
+	</item>
+</shiporder>
\ No newline at end of file

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/test.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/test.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/validation-schematron/test.xml	2010-03-08 13:14:13 UTC (rev 31994)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<shiporder orderid="889923" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="shiporder.xsd">
+	<orderperson>John Smith</orderperson>
+	<shipto>
+		<name>Ola Nordmann</name>
+		<address>Langgt 23</address>
+		<city>4000 Stavanger</city>
+		<country>Norway</country>
+	</shipto>
+	<item>
+		<title>Empire Burlesque</title>
+		<note>Special Edition</note>
+		<quantity>1</quantity>
+		<price>10.90</price>
+	</item>
+	<item>
+		<title>Hide your heart</title>
+		<quantity>1</quantity>
+		<price>9.90</price>
+	</item>
+</shiporder>
\ No newline at end of file



More information about the jboss-svn-commits mailing list