Added:
sci-flex/trunk/java/demo/xslt/
sci-flex/trunk/java/demo/xslt/mediator_1_mail.xsl
sci-flex/trunk/java/demo/xslt/mediator_2_mail.xsl
sci-flex/trunk/java/demo/xslt/mediator_3_mail.xsl
sci-flex/trunk/java/demo/xslt/mediator_4_mail.xsl
sci-flex/trunk/java/demo/xslt/test/
sci-flex/trunk/java/demo/xslt/test/mediator_1_mail.xml
sci-flex/trunk/java/demo/xslt/test/mediator_2_mail.xml
sci-flex/trunk/java/demo/xslt/test/mediator_3_mail.xml
sci-flex/trunk/java/demo/xslt/test/mediator_4_mail.xml
Modified:
sci-flex/trunk/java/demo/build.xml
sci-flex/trunk/java/demo/conf/synapse.xml
Log:
1. Modification to Synapse.xml to use XSLT for outgoing e-mail
2. Added XSLT files and corresponding tests
3. Fixed build file to remove logs folder
Modified: sci-flex/trunk/java/demo/build.xml
==============================================================================
--- sci-flex/trunk/java/demo/build.xml (original)
+++ sci-flex/trunk/java/demo/build.xml Sun Jan 25 22:55:46 2009
@@ -42,6 +42,7 @@
<target name="clean">
<delete dir="target" quiet="true"/>
<delete dir="${class.dir}" quiet="true"/>
+ <delete dir="logs" quiet="true"/>
</target>
<target name="traffic" depends="compile">
Modified: sci-flex/trunk/java/demo/conf/synapse.xml
==============================================================================
--- sci-flex/trunk/java/demo/conf/synapse.xml (original)
+++ sci-flex/trunk/java/demo/conf/synapse.xml Sun Jan 25 22:55:46 2009
@@ -18,88 +18,110 @@
-->
<definitions xmlns="http://ws.apache.org/ns/synapse">
- <sequence name="main">
- <in>
- <filter source="get-property('To')" regex="/">
- <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
- <property name="Configuration">
- <esper-configuration
xmlns="http://www.espertech.com/schema/esper"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="esper-configuration-2-0.xsd">
- <event-type alias="packets">
- <xml-dom root-element-name="packet">
- <xpath-property property-name="version"
xpath="//packet/version" type="string"/>
- <xpath-property property-name="protocol"
xpath="//packet/protocol" type="string"/>
- <xpath-property property-name="length"
xpath="//packet/length" type="string"/>
- <xpath-property property-name="date"
xpath="//packet/timestamp/@date" type="string"/>
- <xpath-property property-name="time"
xpath="//packet/timestamp/@time" type="string"/>
- <xpath-property property-name="fid"
xpath="//packet/fragment/@id" type="string"/>
- <xpath-property property-name="foffset"
xpath="//packet/fragment/@offset" type="string"/>
- <xpath-property property-name="flags"
xpath="//packet/fragment/@flags" type="string"/>
- <xpath-property property-name="sip"
xpath="//packet/source/@ip" type="string"/>
- <xpath-property property-name="sport"
xpath="//packet/source/@port" type="string"/>
- <xpath-property property-name="dip"
xpath="//packet/destination/@ip" type="string"/>
- <xpath-property property-name="dport"
xpath="//packet/destination/@port" type="string"/>
- <xpath-property property-name="tos"
xpath="//packet/extra/@tos" type="string"/>
- <xpath-property property-name="ttl"
xpath="//packet/extra/@ttl" type="string"/>
- <xpath-property property-name="type"
xpath="//packet/@type" type="string"/>
- <xpath-property property-name="vlan"
xpath="//packet/@vlan" type="string"/>
- <xpath-property property-name="extra"
xpath="//packet/extra/@information" type="string"/>
- </xml-dom>
- </event-type>
- </esper-configuration>
- </property>
- <property name="InstanceURI" value="urn:CEPInstance"/>
- <property name="Statement" value="select sip from
packets where version = '4' output last every 100 events"/>
- <property name="EventToAddress"
value="urn:trafficInformation"/>
- </class>
- <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
- <property name="InstanceURI" value="urn:CEPInstance"/>
- <property name="Statement" value="select sip from
packets where sip = '192.248.8.248' and sport = '1316'"/>
- <property name="EventToAddress"
value="urn:trafficInformation"/>
- </class>
- <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
- <property name="InstanceURI" value="urn:CEPInstance"/>
- <property name="Statement" value="select sip from
packets where fid = '10000' and dport = 'ssh'"/>
- <property name="EventToAddress"
value="urn:trafficInformation"/>
- </class>
- <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
- <property name="InstanceURI" value="urn:CEPInstance"/>
- <property name="Statement" value="select dip from
packets where time = '22:25:43.189253'"/>
- <property name="EventToAddress"
value="urn:trafficInformation"/>
- </class>
- <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
- <property name="InstanceURI" value="urn:CEPInstance"/>
- <property name="Statement" value="select * from
packets"/>
- <property name="EventToAddress"
value="urn:trafficInformation"/>
- <property name="Inactive" value="true"/>
- </class>
- <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
- <property name="InstanceURI" value="urn:CEPInstance"/>
- <property name="Statement" value="select * from
packets"/>
- <property name="EventToAddress"
value="urn:trafficInformation"/>
- <property name="Inactive" value="true"/>
- </class>
- <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
- <property name="InstanceURI" value="urn:CEPInstance"/>
- <property name="Statement" value="select * from
packets"/>
- <property name="EventToAddress"
value="urn:trafficInformation"/>
- <property name="Inactive" value="true"/>
- </class>
- <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
- <property name="InstanceURI" value="urn:CEPInstance"/>
- <property name="Statement" value="select * from
packets"/>
- <property name="EventToAddress"
value="urn:trafficInformation"/>
- <property name="Inactive" value="true"/>
- </class>
- </filter>
- </in>
- <log level="full"/>
- <out>
- <property action="set" name="OUT_ONLY" value="true"/>
- <send>
- <endpoint>
- <address
uri="mailto:sci...@gmail.com?subject=SCI-Flex%20Alert"/>
- </endpoint>
- </send>
- </out>
- </sequence>
+ <!--registry provider="org.wso2.carbon.mediation.registry.ESBRegistry">
+ <parameter
name="root">file:../sci-flex/trunk/sci-flex/demo</parameter>
+ <parameter name="cachableDuration">15000</parameter>
+ </registry-->
+ <in>
+ <filter source="get-property('To')" regex="/">
+ <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
+ <property name="Configuration">
+ <esper-configuration
xmlns="http://www.espertech.com/schema/esper"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="esper-configuration-2-0.xsd">
+ <event-type alias="packets">
+ <xml-dom root-element-name="packet">
+ <xpath-property property-name="version"
xpath="//packet/version" type="string"/>
+ <xpath-property property-name="protocol"
xpath="//packet/protocol" type="string"/>
+ <xpath-property property-name="length"
xpath="//packet/length" type="string"/>
+ <xpath-property property-name="date"
xpath="//packet/timestamp/@date" type="string"/>
+ <xpath-property property-name="time"
xpath="//packet/timestamp/@time" type="string"/>
+ <xpath-property property-name="fid"
xpath="//packet/fragment/@id" type="string"/>
+ <xpath-property property-name="foffset"
xpath="//packet/fragment/@offset" type="string"/>
+ <xpath-property property-name="flags"
xpath="//packet/fragment/@flags" type="string"/>
+ <xpath-property property-name="sip"
xpath="//packet/source/@ip" type="string"/>
+ <xpath-property property-name="sport"
xpath="//packet/source/@port" type="string"/>
+ <xpath-property property-name="dip"
xpath="//packet/destination/@ip" type="string"/>
+ <xpath-property property-name="dport"
xpath="//packet/destination/@port" type="string"/>
+ <xpath-property property-name="tos"
xpath="//packet/extra/@tos" type="string"/>
+ <xpath-property property-name="ttl"
xpath="//packet/extra/@ttl" type="string"/>
+ <xpath-property property-name="type"
xpath="//packet/@type" type="string"/>
+ <xpath-property property-name="vlan"
xpath="//packet/@vlan" type="string"/>
+ <xpath-property property-name="extra"
xpath="//packet/extra/@information" type="string"/>
+ </xml-dom>
+ </event-type>
+ </esper-configuration>
+ </property>
+ <property name="InstanceURI" value="urn:CEPInstance"/>
+ <property name="Statement" value="select sip from packets
where version = '4' output last every 100 events"/>
+ <property name="EventToAddress"
value="urn:trafficInformation1"/>
+ </class>
+ <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
+ <property name="InstanceURI" value="urn:CEPInstance"/>
+ <property name="Statement" value="select sip, time, date,
dip, dport from packets where sip = '192.248.8.248' and sport = '1316'"/>
+ <property name="EventToAddress"
value="urn:trafficInformation2"/>
+ </class>
+ <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
+ <property name="InstanceURI" value="urn:CEPInstance"/>
+ <property name="Statement" value="select sip from packets
where fid = '10000' and dport = 'ssh'"/>
+ <property name="EventToAddress"
value="urn:trafficInformation3"/>
+ </class>
+ <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
+ <property name="InstanceURI" value="urn:CEPInstance"/>
+ <property name="Statement" value="select sip, dip from
packets where time = '22:25:43.189253'"/>
+ <property name="EventToAddress"
value="urn:trafficInformation4"/>
+ </class>
+ <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
+ <property name="InstanceURI" value="urn:CEPInstance"/>
+ <property name="Statement" value="select * from packets"/>
+ <property name="EventToAddress"
value="urn:trafficInformation5"/>
+ <property name="Inactive" value="true"/>
+ </class>
+ <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
+ <property name="InstanceURI" value="urn:CEPInstance"/>
+ <property name="Statement" value="select * from packets"/>
+ <property name="EventToAddress"
value="urn:trafficInformation6"/>
+ <property name="Inactive" value="true"/>
+ </class>
+ <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
+ <property name="InstanceURI" value="urn:CEPInstance"/>
+ <property name="Statement" value="select * from packets"/>
+ <property name="EventToAddress"
value="urn:trafficInformation7"/>
+ <property name="Inactive" value="true"/>
+ </class>
+ <class
name="org.sciflex.plugins.synapse.esper.mediators.XMLMediator">
+ <property name="InstanceURI" value="urn:CEPInstance"/>
+ <property name="Statement" value="select * from packets"/>
+ <property name="EventToAddress"
value="urn:trafficInformation8"/>
+ <property name="Inactive" value="true"/>
+ </class>
+ </filter>
+ </in>
+ <log level="full"/>
+ <localEntry key="xslt-key-m-1"
src="file:../sci-flex/trunk/sci-flex/demo/xslt/mediator_1_mail.xsl"/>
+ <localEntry key="xslt-key-m-2"
src="file:../sci-flex/trunk/sci-flex/demo/xslt/mediator_2_mail.xsl"/>
+ <localEntry key="xslt-key-m-3"
src="file:../sci-flex/trunk/sci-flex/demo/xslt/mediator_3_mail.xsl"/>
+ <localEntry key="xslt-key-m-4"
src="file:../sci-flex/trunk/sci-flex/demo/xslt/mediator_4_mail.xsl"/>
+ <switch source="get-property('To')">
+ <case regex="urn:trafficInformation1">
+ <xslt key="xslt-key-m-1"/>
+ </case>
+ <case regex="urn:trafficInformation2">
+ <xslt key="xslt-key-m-2"/>
+ </case>
+ <case regex="urn:trafficInformation3">
+ <xslt key="xslt-key-m-3"/>
+ </case>
+ <case regex="urn:trafficInformation4">
+ <xslt key="xslt-key-m-4"/>
+ </case>
+ </switch>
+ <log level="full"/>
+ <out>
+ <property action="set" name="OUT_ONLY" value="true"/>
+ <drop />
+ <!--send>
+ <endpoint>
+ <address
uri="mailto:sci...@gmail.com?subject=SCI-Flex%20Alert"/>
+ </endpoint>
+ </send-->
+ </out>
</definitions>
Added: sci-flex/trunk/java/demo/xslt/mediator_1_mail.xsl
==============================================================================
--- (empty file)
+++ sci-flex/trunk/java/demo/xslt/mediator_1_mail.xsl Sun Jan 25 22:55:46
2009
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet version="2.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fn="http://www.w3.org/2005/02/xpath-functions"
+ xmlns:ax="http://ws.apache.org/commons/ns/payload"
+ exclude-result-prefixes="ax fn">
+<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
+
+<xsl:template match="//ax:entry[@name='sip']">
+ <html>
+ <body>
+ <p>There were more than 1000 IPv6 packets exchanged from the host
<b><xsl:value-of select="/"/></b>.</p>
+ </body>
+ </html>
+</xsl:template>
+</xsl:stylesheet>
Added: sci-flex/trunk/java/demo/xslt/mediator_2_mail.xsl
==============================================================================
--- (empty file)
+++ sci-flex/trunk/java/demo/xslt/mediator_2_mail.xsl Sun Jan 25 22:55:46
2009
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet version="2.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fn="http://www.w3.org/2005/02/xpath-functions"
+ xmlns:ax="http://ws.apache.org/commons/ns/payload"
+ exclude-result-prefixes="ax fn">
+<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
+
+<xsl:template match="//ax:map[ax:entry/@name='time' and
ax:entry/@name='dip' and ax:entry/@name='date' and ax:entry/@name='sip' and
ax:entry/@name='sport']">
+ <html>
+ <body>
+ <p>A connection from host <b><xsl:value-of
select="ax:entry[@name='sip']"/></b> was made to destination
<b><xsl:value-of select="ax:entry[@name='dip']"/></b> on port
<b><xsl:value-of select="ax:entry[@name='sport']"/></b> on <b><xsl:value-of
select="ax:entry[@name='date']"/></b> at <b><xsl:value-of
select="ax:entry[@name='time']"/></b>.</p>
+ </body>
+ </html>
+</xsl:template>
+</xsl:stylesheet>
Added: sci-flex/trunk/java/demo/xslt/mediator_3_mail.xsl
==============================================================================
--- (empty file)
+++ sci-flex/trunk/java/demo/xslt/mediator_3_mail.xsl Sun Jan 25 22:55:46
2009
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet version="2.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fn="http://www.w3.org/2005/02/xpath-functions"
+ xmlns:ax="http://ws.apache.org/commons/ns/payload"
+ exclude-result-prefixes="ax fn">
+<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
+
+<xsl:template match="//ax:entry[@name='sip']">
+ <html>
+ <body>
+ <p>More than 10000 packets were sent over SSH from <b><xsl:value-of
select="/"/></b>.</p>
+ </body>
+ </html>
+</xsl:template>
+</xsl:stylesheet>
Added: sci-flex/trunk/java/demo/xslt/mediator_4_mail.xsl
==============================================================================
--- (empty file)
+++ sci-flex/trunk/java/demo/xslt/mediator_4_mail.xsl Sun Jan 25 22:55:46
2009
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet version="2.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fn="http://www.w3.org/2005/02/xpath-functions"
+ xmlns:ax="http://ws.apache.org/commons/ns/payload"
+ exclude-result-prefixes="ax fn">
+<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
+
+<xsl:template match="//ax:map[ax:entry/@name='dip' and
ax:entry/@name='sip']">
+ <html>
+ <body>
+ <p>A connection from host <b><xsl:value-of
select="ax:entry[@name='sip']"/></b> was made to destination
<b><xsl:value-of select="ax:entry[@name='dip']"/></b> at
<b>22:25:43.189253</b>.</p>
+ </body>
+ </html>
+</xsl:template>
+</xsl:stylesheet>
Added: sci-flex/trunk/java/demo/xslt/test/mediator_1_mail.xml
==============================================================================
--- (empty file)
+++ sci-flex/trunk/java/demo/xslt/test/mediator_1_mail.xml Sun Jan 25
22:55:46 2009
@@ -0,0 +1 @@
+<?xml version='1.0' encoding='utf-8'?><?xml-stylesheet type="text/xsl"
href="cdcatalog.xsl"?><soapenv:Envelope
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><ax:map
xmlns:ax="http://ws.apache.org/commons/ns/payload"><ax:entry name="sip"
type="string">home.local.50934.</ax:entry></ax:map></soapenv:Body></soapenv:Envelope>
Added: sci-flex/trunk/java/demo/xslt/test/mediator_2_mail.xml
==============================================================================
--- (empty file)
+++ sci-flex/trunk/java/demo/xslt/test/mediator_2_mail.xml Sun Jan 25
22:55:46 2009
@@ -0,0 +1 @@
+<?xml version='1.0' encoding='utf-8'?><?xml-stylesheet type="text/xsl"
href="cdcatalog.xsl"?><soapenv:Envelope
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><ax:map
xmlns:ax="http://ws.apache.org/commons/ns/payload"><ax:entry name="sport"
type="string">xmpp-client</ax:entry><ax:entry name="time"
type="string">09:37:39.900213</ax:entry><ax:entry name="dip"
type="string">ec2-75-101-157-142.compute-1.amazonaws.com</ax:entry><ax:entry
name="date" type="string">Jan 21</ax:entry><ax:entry name="sip"
type="string">192.248.8.248</ax:entry></ax:map></soapenv:Body></soapenv:Envelope>
Added: sci-flex/trunk/java/demo/xslt/test/mediator_3_mail.xml
==============================================================================
--- (empty file)
+++ sci-flex/trunk/java/demo/xslt/test/mediator_3_mail.xml Sun Jan 25
22:55:46 2009
@@ -0,0 +1 @@
+<?xml version='1.0' encoding='utf-8'?><?xml-stylesheet type="text/xsl"
href="cdcatalog.xsl"?><soapenv:Envelope
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><ax:map
xmlns:ax="http://ws.apache.org/commons/ns/payload"><ax:entry name="sip"
type="string">home.local.50934.</ax:entry></ax:map></soapenv:Body></soapenv:Envelope>
Added: sci-flex/trunk/java/demo/xslt/test/mediator_4_mail.xml
==============================================================================
--- (empty file)
+++ sci-flex/trunk/java/demo/xslt/test/mediator_4_mail.xml Sun Jan 25
22:55:46 2009
@@ -0,0 +1 @@
+<?xml version='1.0' encoding='utf-8'?><?xml-stylesheet type="text/xsl"
href="cdcatalog.xsl"?><soapenv:Envelope
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><ax:map
xmlns:ax="http://ws.apache.org/commons/ns/payload"><ax:entry name="sport"
type="string">xmpp-client</ax:entry><ax:entry name="time"
type="string">09:37:39.900213</ax:entry><ax:entry name="dip"
type="string">ec2-75-101-157-142.compute-1.amazonaws.com</ax:entry><ax:entry
name="date" type="string">Jan 21</ax:entry><ax:entry name="sip"
type="string">192.248.8.248</ax:entry></ax:map></soapenv:Body></soapenv:Envelope>