Title: [955] trunk/servicemix-wsnotification: Add su / sa creation for the ws-notification module
Revision
955
Author
gnt
Date
2005-11-28 12:15:09 -0500 (Mon, 28 Nov 2005)

Log Message

Add su / sa creation for the ws-notification module

Modified Paths


Added Paths

Removed Paths

Diff

Modified: trunk/servicemix-wsnotification/maven.xml (954 => 955)

--- trunk/servicemix-wsnotification/maven.xml	2005-11-28 14:08:56 UTC (rev 954)
+++ trunk/servicemix-wsnotification/maven.xml	2005-11-28 17:15:09 UTC (rev 955)
@@ -1,3 +1,97 @@
-<project default="default" xmlns:j="jelly:core" xmlns:ant="jelly:ant" xmlns:maven="jelly:maven">
+<project default="default" 
+        xmlns:j="jelly:core" 
+        xmlns:ant="jelly:ant" 
+        xmlns:maven="jelly:maven">
 
+  <!--==================================================================-->
+  <!-- Initializations                                                  -->
+  <!--==================================================================-->
+  <goal name="jbi:su-init" 
+    description="Initialise filesystem and other resources for a jbi service unit">
+
+    <ant:available property="jbiSuResourcesPresent" type="dir"
+      file="${maven.jbi.su.src}"/>
+      
+  </goal>
+  
+  <goal name="jbi:su" prereqs="jbi:su-init,jar:jar" description="Build a jbi su file">
+    
+    <!-- Copy resources -->
+    <j:if test="${jbiSuResourcesPresent == 'true'}">
+      <ant:copy todir="${maven.jbi.su.build.dir}" preservelastmodified="true">
+        <ant:fileset dir="${maven.jbi.su.src}"
+          includes="${maven.jbi.su.src.includes}"
+          excludes="${maven.jbi.su.src.excludes},META-INF/jbi.xml,xbean.xml">
+        </ant:fileset>
+      </ant:copy>
+    </j:if>
+
+    <!-- Copy libs -->
+    <j:forEach var="lib" items="${pom.artifacts}">
+      <j:set var="dep" value="${lib.dependency}"/>     
+      <j:if test="${dep.getProperty('jbi.su.bundle')=='true'}">
+         <j:if test="${dep.type =='jar'}"> 
+           <ant:copy todir="${maven.jbi.su.build.lib}" file="${lib.path}"/>  
+         </j:if> 
+      </j:if>  
+    </j:forEach>  
+    <ant:copy todir="${maven.jbi.su.build.lib}" file="${maven.build.dir}/${maven.final.name}.jar"/>        
+
+    <j:file name="${maven.jbi.su.build.dir}/META-INF/jbi.xml"
+            outputMode="xml"
+            prettyPrint="true"
+            encoding="${maven.jbi.su.descriptor.encoding}">
+      <j:import file="${maven.jbi.su.descriptor}" inherit="true" />
+    </j:file>  
+
+    <j:file name="${maven.jbi.su.build.dir}/xbean.xml"
+            outputMode="xml"
+            prettyPrint="true"
+            encoding="${maven.jbi.su.xbean.encoding}">
+      <j:import file="${maven.jbi.su.xbean}" inherit="true" />
+    </j:file>  
+    
+    <ant:jar 
+         destfile="${maven.build.dir}/${maven.jbi.su.final.name}"
+         basedir="${maven.jbi.su.build.dir}">
+    </ant:jar>
+  </goal>
+
+  <!--==================================================================-->
+  <!-- Initializations                                                  -->
+  <!--==================================================================-->
+  <goal name="jbi:sa-init" 
+    description="Initialise filesystem and other resources for a jbi service assembly">
+
+    <ant:available property="jbiSaResourcesPresent" type="dir"
+      file="${maven.jbi.sa.src}"/>
+      
+  </goal>
+  
+  <goal name="jbi:sa" prereqs="jbi:sa-init,jbi:su" description="Build a jbi sa file">
+    
+    <!-- Copy resources -->
+    <j:if test="${jbiSaResourcesPresent == 'true'}">
+      <ant:copy todir="${maven.jbi.sa.build.dir}" preservelastmodified="true">
+        <ant:fileset dir="${maven.jbi.sa.src}"
+          includes="${maven.jbi.sa.src.includes}"
+          excludes="${maven.jbi.sa.src.excludes},META-INF/jbi.xml">
+        </ant:fileset>
+      </ant:copy>
+    </j:if>
+    <ant:mkdir dir="${maven.jbi.sa.build.dir}/META-INF" />
+    <j:file name="${maven.jbi.sa.build.dir}/META-INF/jbi.xml"
+            outputMode="xml"
+            prettyPrint="true"
+            encoding="${maven.jbi.sa.descriptor.encoding}">
+      <j:import file="${maven.jbi.sa.descriptor}" inherit="true" />
+    </j:file>  
+    <ant:copy todir="${maven.jbi.sa.build.dir}" file="${maven.build.dir}/${maven.jbi.su.final.name}" />
+    
+    <ant:jar 
+         destfile="${maven.build.dir}/${maven.jbi.sa.final.name}"
+         basedir="${maven.jbi.sa.build.dir}">
+    </ant:jar>
+  </goal>
+
 </project>

Modified: trunk/servicemix-wsnotification/project.properties (954 => 955)

--- trunk/servicemix-wsnotification/project.properties	2005-11-28 14:08:56 UTC (rev 954)
+++ trunk/servicemix-wsnotification/project.properties	2005-11-28 17:15:09 UTC (rev 955)
@@ -19,6 +19,29 @@
 http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent,\
 http://jakarta.apache.org/commons/logging/apidocs
 
-maven.jar.jsr250=${basedir}/lib/sun/jsr250-api.jar
+maven.jbi.su.src=""
+maven.jbi.su.final.name=${pom.artifactId}-su-${pom.currentVersion}.zip
+maven.jbi.su.build.dir=${maven.build.dir}/su
+maven.jbi.su.build.lib=${maven.jbi.su.build.dir}/lib
+maven.jbi.su.src.includes=**
+maven.jbi.su.src.excludes=
+maven.jbi.su.manifest=${maven.jbi.su.src}/META-INF/MANIFEST.MF
+maven.jbi.su.descriptor=${maven.jbi.su.src}/META-INF/jbi.xml
+maven.jbi.su.descriptor.encoding=UTF-8
+maven.jbi.su.xbean=${maven.jbi.su.src}/xbean.xml
+maven.jbi.su.xbean.encoding=UTF-8
+maven.jbi.su.ident.name=${pom.artifactId}-su
+maven.jbi.su.ident.description=${pom.artifactId}-su
+maven.jbi.su.component=servicemix-jsr181
 
-maven.eclipse.classpath.include=src/test/resources
+maven.jbi.sa.src=""
+maven.jbi.sa.final.name=${pom.artifactId}-sa-${pom.currentVersion}.zip
+maven.jbi.sa.build.dir=${maven.build.dir}/sa
+maven.jbi.sa.build.sus=${maven.jbi.sa.build.dir}
+maven.jbi.sa.src.includes=**
+maven.jbi.sa.src.excludes=
+maven.jbi.sa.manifest=${maven.jbi.sa.src}/META-INF/MANIFEST.MF
+maven.jbi.sa.descriptor=${maven.jbi.sa.src}/META-INF/jbi.xml
+maven.jbi.sa.descriptor.encoding=UTF-8
+maven.jbi.sa.ident.name=${pom.artifactId}-sa
+maven.jbi.sa.ident.description=${pom.artifactId}-sa

Modified: trunk/servicemix-wsnotification/project.xml (954 => 955)

--- trunk/servicemix-wsnotification/project.xml	2005-11-28 14:08:56 UTC (rev 954)
+++ trunk/servicemix-wsnotification/project.xml	2005-11-28 17:15:09 UTC (rev 955)
@@ -171,6 +171,10 @@
       <groupId>servicemix</groupId>
       <artifactId>servicemix-wspojo</artifactId>
       <version>${pom.currentVersion}</version>
+      <properties>
+        <eclipse.dependency>true</eclipse.dependency>
+        <jbi.su.bundle>true</jbi.su.bundle>
+      </properties>
     </dependency>
 
     <!-- for testing -->

Deleted: trunk/servicemix-wsnotification/src/main/java/org/servicemix/ws/.cvsignore (954 => 955)

--- trunk/servicemix-wsnotification/src/main/java/org/servicemix/ws/.cvsignore	2005-11-28 14:08:56 UTC (rev 954)
+++ trunk/servicemix-wsnotification/src/main/java/org/servicemix/ws/.cvsignore	2005-11-28 17:15:09 UTC (rev 955)
@@ -1 +0,0 @@
-xmlbeans

Added: trunk/servicemix-wsnotification/src/sa/META-INF/jbi.xml (954 => 955)

--- trunk/servicemix-wsnotification/src/sa/META-INF/jbi.xml	2005-11-28 14:08:56 UTC (rev 954)
+++ trunk/servicemix-wsnotification/src/sa/META-INF/jbi.xml	2005-11-28 17:15:09 UTC (rev 955)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<j:whitespace xmlns:j="jelly:core" xmlns:util="jelly:util" xmlns:x="jelly:xml"
+	xmlns:ant="jelly:ant" xmlns="dummy" trim="true">
+  <x:element URI="http://java.sun.com/xml/ns/jbi" name="jbi">
+		<x:attribute name="xmlns" trim="true">http://java.sun.com/xml/ns/jbi</x:attribute>
+    <x:attribute name="xmlns:xsi" trim="true">http://www.w3.org/2001/XMLSchema-instance</x:attribute>
+    <x:attribute name="xsi:schemaLocation" trim="true">http://java.sun.com/xml/ns/jbi ../jbi.xsd</x:attribute>
+    <x:attribute name="version" trim="true">1.0</x:attribute>
+    
+    <service-assembly>
+      <identification>
+        <name>${maven.jbi.sa.ident.name}</name>
+        <description>${maven.jbi.sa.ident.description}</description>
+      </identification>
+      <service-unit>
+        <identification>
+          <name>${maven.jbi.su.ident.name}</name>
+          <description>${maven.jbi.su.ident.description}</description>
+        </identification>
+        <target>
+          <artifacts-zip>${maven.jbi.su.final.name}</artifacts-zip>
+          <component-name>${maven.jbi.su.component}</component-name>
+        </target>
+      </service-unit>
+    </service-assembly>
+  
+  </x:element> 	
+</j:whitespace>

Added: trunk/servicemix-wsnotification/src/sa/jbi.xsd (954 => 955)

--- trunk/servicemix-wsnotification/src/sa/jbi.xsd	2005-11-28 14:08:56 UTC (rev 954)
+++ trunk/servicemix-wsnotification/src/sa/jbi.xsd	2005-11-28 17:15:09 UTC (rev 955)
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://java.sun.com/xml/ns/jbi" xmlns:this="http://java.sun.com/xml/ns/jbi">
+  <xs:element name="jbi">
+    <xs:complexType>
+      <xs:choice>
+        <xs:element ref="this:component"/>
+        <xs:element ref="this:service-assembly"/>
+        <xs:group ref="this:shared-library"/>
+        <xs:element ref="this:services"/>
+      </xs:choice>
+      <xs:attribute name="version" use="required" type="xs:decimal"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="component">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:identification"/>
+        <xs:element ref="this:component-class-name"/>
+        <xs:element ref="this:component-class-path"/>
+        <xs:element ref="this:bootstrap-class-name"/>
+        <xs:element ref="this:bootstrap-class-path"/>
+        <xs:group minOccurs="0" maxOccurs="unbounded" ref="this:shared-library-list"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="type" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="service-engine"/>
+            <xs:enumeration value="binding-component"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="component-class-loader-delegation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="parent-first"/>
+            <xs:enumeration value="self-first"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="bootstrap-class-loader-delegation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="parent-first"/>
+            <xs:enumeration value="self-first"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="component-class-name">
+    <xs:complexType mixed="true">
+      <xs:attribute name="description"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="component-class-path" type="this:class-path"/>
+  <xs:element name="bootstrap-class-name" type="xs:string"/>
+  <xs:element name="bootstrap-class-path" type="this:class-path"/>
+  <xs:group name="shared-library">
+    <xs:sequence>
+      <xs:element name="shared-library">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element ref="this:identification"/>
+            <xs:element ref="this:shared-library-class-path"/>
+          </xs:sequence>
+          <xs:attribute name="class-loader-delegation">
+            <xs:simpleType>
+              <xs:restriction base="xs:token">
+                <xs:enumeration value="parent-first"/>
+                <xs:enumeration value="self-first"/>
+              </xs:restriction>
+            </xs:simpleType>
+          </xs:attribute>
+          <xs:attribute name="version"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <xs:element name="shared-library-class-path" type="this:class-path"/>
+  <xs:group name="shared-library-list">
+    <xs:sequence>
+      <xs:element name="shared-library">
+        <xs:complexType mixed="true">
+          <xs:attribute name="version"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <xs:element name="service-assembly">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:identification"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="this:service-unit"/>
+        <xs:element minOccurs="0" ref="this:connections"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-unit">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:identification"/>
+        <xs:element ref="this:target"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="target">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:artifacts-zip"/>
+        <xs:element ref="this:component-name"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="artifacts-zip" type="xs:string"/>
+  <xs:element name="component-name" type="xs:string"/>
+  <xs:element name="identification">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:name"/>
+        <xs:element ref="this:description"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="name" type="xs:string"/>
+  <xs:element name="description" type="xs:string"/>
+  <xs:complexType name="class-path">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" ref="this:path-element"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="path-element" type="xs:string"/>
+  <xs:element name="connections">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="this:connection"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="connection">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:consumer"/>
+        <xs:element ref="this:provider"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="consumer">
+    <xs:complexType>
+      <xs:attribute name="interface-name" type="xs:QName"/>
+      <xs:attribute name="service-name" type="xs:QName"/>
+      <xs:attribute name="endpoint-name"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="provider">
+    <xs:complexType>
+      <xs:attribute name="service-name" use="required" type="xs:QName"/>
+      <xs:attribute name="endpoint-name" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="services">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="this:provides"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="this:consumes"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="binding-component" use="required" type="xs:boolean"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="provides">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="this:requires-capabilities"/>
+        <xs:element minOccurs="0" ref="this:provides-capabilities"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="interface-name" use="required" type="xs:QName"/>
+      <xs:attribute name="service-name" use="required" type="xs:QName"/>
+      <xs:attribute name="endpoint-name" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="consumes">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="this:requires-capabilities"/>
+        <xs:element minOccurs="0" ref="this:provides-capabilities"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="interface-name" use="required" type="xs:QName"/>
+      <xs:attribute name="service-name" type="xs:QName"/>
+      <xs:attribute name="endpoint-name"/>
+      <xs:attribute name="link-type">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="standard"/>
+            <xs:enumeration value="hard"/>
+            <xs:enumeration value="soft"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="requires-capabilities">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="this:capability"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="provides-capabilities">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="this:capability"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="capability">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:value"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="name" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="value">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>

Added: trunk/servicemix-wsnotification/src/su/META-INF/jbi.xml (954 => 955)

--- trunk/servicemix-wsnotification/src/su/META-INF/jbi.xml	2005-11-28 14:08:56 UTC (rev 954)
+++ trunk/servicemix-wsnotification/src/su/META-INF/jbi.xml	2005-11-28 17:15:09 UTC (rev 955)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<j:whitespace xmlns:j="jelly:core" xmlns:util="jelly:util" xmlns:x="jelly:xml"
+	xmlns:ant="jelly:ant" xmlns="dummy" trim="true">
+  <x:element URI="http://java.sun.com/xml/ns/jbi" name="jbi">
+		<x:attribute name="xmlns" trim="true">http://java.sun.com/xml/ns/jbi</x:attribute>
+    <x:attribute name="xmlns:xsi" trim="true">http://www.w3.org/2001/XMLSchema-instance</x:attribute>
+    <x:attribute name="xsi:schemaLocation" trim="true">http://java.sun.com/xml/ns/jbi ../jbi.xsd</x:attribute>
+    <x:attribute name="version" trim="true">1.0</x:attribute>
+    
+    <services binding-component="false">
+    </services>
+  
+  </x:element> 	
+</j:whitespace>

Added: trunk/servicemix-wsnotification/src/su/classes/broker-vmpersistence.xml (954 => 955)

--- trunk/servicemix-wsnotification/src/su/classes/broker-vmpersistence.xml	2005-11-28 14:08:56 UTC (rev 954)
+++ trunk/servicemix-wsnotification/src/su/classes/broker-vmpersistence.xml	2005-11-28 17:15:09 UTC (rev 955)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE beans PUBLIC  "-//ACTIVEMQ//DTD//EN" "http://activemq.org/dtd/activemq.dtd">
+<beans>
+
+  <!-- ==================================================================== -->
+  <!-- ActiveMQ Broker Configuration -->
+  <!-- ==================================================================== -->
+  <broker>
+    <connector>
+      <serverTransport uri="vm://localhost"/>
+    </connector>
+    <persistence>
+      <vmPersistence/>
+    </persistence>
+  </broker>
+</beans>

Added: trunk/servicemix-wsnotification/src/su/jbi.xsd (954 => 955)

--- trunk/servicemix-wsnotification/src/su/jbi.xsd	2005-11-28 14:08:56 UTC (rev 954)
+++ trunk/servicemix-wsnotification/src/su/jbi.xsd	2005-11-28 17:15:09 UTC (rev 955)
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://java.sun.com/xml/ns/jbi" xmlns:this="http://java.sun.com/xml/ns/jbi">
+  <xs:element name="jbi">
+    <xs:complexType>
+      <xs:choice>
+        <xs:element ref="this:component"/>
+        <xs:element ref="this:service-assembly"/>
+        <xs:group ref="this:shared-library"/>
+        <xs:element ref="this:services"/>
+      </xs:choice>
+      <xs:attribute name="version" use="required" type="xs:decimal"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="component">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:identification"/>
+        <xs:element ref="this:component-class-name"/>
+        <xs:element ref="this:component-class-path"/>
+        <xs:element ref="this:bootstrap-class-name"/>
+        <xs:element ref="this:bootstrap-class-path"/>
+        <xs:group minOccurs="0" maxOccurs="unbounded" ref="this:shared-library-list"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="type" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="service-engine"/>
+            <xs:enumeration value="binding-component"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="component-class-loader-delegation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="parent-first"/>
+            <xs:enumeration value="self-first"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="bootstrap-class-loader-delegation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="parent-first"/>
+            <xs:enumeration value="self-first"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="component-class-name">
+    <xs:complexType mixed="true">
+      <xs:attribute name="description"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="component-class-path" type="this:class-path"/>
+  <xs:element name="bootstrap-class-name" type="xs:string"/>
+  <xs:element name="bootstrap-class-path" type="this:class-path"/>
+  <xs:group name="shared-library">
+    <xs:sequence>
+      <xs:element name="shared-library">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element ref="this:identification"/>
+            <xs:element ref="this:shared-library-class-path"/>
+          </xs:sequence>
+          <xs:attribute name="class-loader-delegation">
+            <xs:simpleType>
+              <xs:restriction base="xs:token">
+                <xs:enumeration value="parent-first"/>
+                <xs:enumeration value="self-first"/>
+              </xs:restriction>
+            </xs:simpleType>
+          </xs:attribute>
+          <xs:attribute name="version"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <xs:element name="shared-library-class-path" type="this:class-path"/>
+  <xs:group name="shared-library-list">
+    <xs:sequence>
+      <xs:element name="shared-library">
+        <xs:complexType mixed="true">
+          <xs:attribute name="version"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <xs:element name="service-assembly">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:identification"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="this:service-unit"/>
+        <xs:element minOccurs="0" ref="this:connections"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-unit">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:identification"/>
+        <xs:element ref="this:target"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="target">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:artifacts-zip"/>
+        <xs:element ref="this:component-name"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="artifacts-zip" type="xs:string"/>
+  <xs:element name="component-name" type="xs:string"/>
+  <xs:element name="identification">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:name"/>
+        <xs:element ref="this:description"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="name" type="xs:string"/>
+  <xs:element name="description" type="xs:string"/>
+  <xs:complexType name="class-path">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" ref="this:path-element"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="path-element" type="xs:string"/>
+  <xs:element name="connections">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="this:connection"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="connection">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:consumer"/>
+        <xs:element ref="this:provider"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="consumer">
+    <xs:complexType>
+      <xs:attribute name="interface-name" type="xs:QName"/>
+      <xs:attribute name="service-name" type="xs:QName"/>
+      <xs:attribute name="endpoint-name"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="provider">
+    <xs:complexType>
+      <xs:attribute name="service-name" use="required" type="xs:QName"/>
+      <xs:attribute name="endpoint-name" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="services">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="this:provides"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="this:consumes"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="binding-component" use="required" type="xs:boolean"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="provides">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="this:requires-capabilities"/>
+        <xs:element minOccurs="0" ref="this:provides-capabilities"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="interface-name" use="required" type="xs:QName"/>
+      <xs:attribute name="service-name" use="required" type="xs:QName"/>
+      <xs:attribute name="endpoint-name" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="consumes">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="this:requires-capabilities"/>
+        <xs:element minOccurs="0" ref="this:provides-capabilities"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="interface-name" use="required" type="xs:QName"/>
+      <xs:attribute name="service-name" type="xs:QName"/>
+      <xs:attribute name="endpoint-name"/>
+      <xs:attribute name="link-type">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="standard"/>
+            <xs:enumeration value="hard"/>
+            <xs:enumeration value="soft"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="requires-capabilities">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="this:capability"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="provides-capabilities">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="this:capability"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="capability">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:value"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="name" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="value">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>

Added: trunk/servicemix-wsnotification/src/su/xbean.xml (954 => 955)

--- trunk/servicemix-wsnotification/src/su/xbean.xml	2005-11-28 14:08:56 UTC (rev 954)
+++ trunk/servicemix-wsnotification/src/su/xbean.xml	2005-11-28 17:15:09 UTC (rev 955)
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<j:whitespace xmlns:j="jelly:core" xmlns:util="jelly:util" xmlns:x="jelly:xml"
+	xmlns:ant="jelly:ant" xmlns="dummy" trim="true"
+  xmlns:jsr181="http://servicemix.org/jsr181/1.0">
+  
+  <x:element name="beans">
+		<x:attribute name="xmlns:jsr181" trim="true">http://servicemix.org/jsr181/1.0</x:attribute>
+
+    <classpath>
+      <j:set var="componentJar" value="lib/${maven.final.name}.jar"/>
+      <location>classes</location>
+      <location>${componentJar}</location>        
+      <j:forEach var="lib" items="${pom.artifacts}">
+  		  <j:set var="dep" value="${lib.dependency}"/> 
+    	  <j:if test="${dep.getProperty('jbi.su.bundle')=='true'}">   
+  	      <j:set var="libname" value="lib/${lib.file.name}"/>
+          <location>${libname}</location>
+        </j:if>
+      </j:forEach>
+    </classpath>
+  
+  	<jsr181:endpoint annotations="java5" type-mapping="jaxb2">
+  		<jsr181:pojo>
+  			<bean class="org.servicemix.ws.notification.JBINotificationBroker">
+  				<constructor-arg>
+  					<bean class="org.activemq.ActiveMQConnectionFactory">
+  						<property name="brokerURL" value="vm://localhost" />
+  						<property name="useEmbeddedBroker" value="true" />
+  						<property name="brokerXmlConfig" value="classpath:broker-vmpersistence.xml" />
+  					</bean>
+  				</constructor-arg>
+  			</bean>
+  		</jsr181:pojo>
+  	</jsr181:endpoint>
+	
+  </x:element> 	
+</j:whitespace>

Reply via email to