Add configuration file
This commit is contained in:
parent
7d73e49adb
commit
a90b396f60
7
libraries/src/main/resources/smooks/email.ftl
Normal file
7
libraries/src/main/resources/smooks/email.ftl
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Hi,
|
||||||
|
Order number #${order.number} created on ${order.creationDate?date} is currently in ${order.status} status.
|
||||||
|
Consider contact supplier "${supplier.name}" with phone number: "${supplier.phoneNumber}".
|
||||||
|
Order items:
|
||||||
|
<#list items as item>
|
||||||
|
${item.quantity} X ${item.code} (total price ${item.price * item.quantity})
|
||||||
|
</#list>
|
1
libraries/src/main/resources/smooks/item-rules.csv
Normal file
1
libraries/src/main/resources/smooks/item-rules.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
"max_total","item.quantity * item.price < 300.00"
|
|
6
libraries/src/main/resources/smooks/order.ftl
Normal file
6
libraries/src/main/resources/smooks/order.ftl
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
UNA:+.? '
|
||||||
|
UNH+${order.number}+${order.status}+${order.creationDate?date}'
|
||||||
|
CTA+${supplier.name}+${supplier.phoneNumber}'
|
||||||
|
<#list items as item>
|
||||||
|
LIN+${item.quantity}+${item.code}+${item.price}'
|
||||||
|
</#list>
|
21
libraries/src/main/resources/smooks/order.json
Normal file
21
libraries/src/main/resources/smooks/order.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"creationDate":"2018-01-14",
|
||||||
|
"orderNumber":771,
|
||||||
|
"orderStatus":"IN_PROGRESS",
|
||||||
|
"supplier":{
|
||||||
|
"name":"CompanyX",
|
||||||
|
"phone":"1234567"
|
||||||
|
},
|
||||||
|
"orderItems":[
|
||||||
|
{
|
||||||
|
"quantity":1,
|
||||||
|
"code":"PX1234",
|
||||||
|
"price":9.99
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"quantity":2,
|
||||||
|
"code":"RX1990",
|
||||||
|
"price":120.32
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
20
libraries/src/main/resources/smooks/order.xml
Normal file
20
libraries/src/main/resources/smooks/order.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<order creation-date="2018-01-14">
|
||||||
|
<order-number>771</order-number>
|
||||||
|
<order-status>IN_PROGRESS</order-status>
|
||||||
|
<supplier>
|
||||||
|
<name>CompanyX</name>
|
||||||
|
<phone>1234567</phone>
|
||||||
|
</supplier>
|
||||||
|
<order-items>
|
||||||
|
<item>
|
||||||
|
<quantity>1</quantity>
|
||||||
|
<code>PX1234</code>
|
||||||
|
<price>9.99</price>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<quantity>2</quantity>
|
||||||
|
<code>RX990</code>
|
||||||
|
<price>120.32</price>
|
||||||
|
</item>
|
||||||
|
</order-items>
|
||||||
|
</order>
|
29
libraries/src/main/resources/smooks/smooks-mapping-json.xml
Normal file
29
libraries/src/main/resources/smooks/smooks-mapping-json.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
|
||||||
|
xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.2.xsd">
|
||||||
|
|
||||||
|
<jb:bean beanId="order" class="com.baeldung.smooks.model.Order" createOnElement="#document">
|
||||||
|
<jb:value property="number" data="orderNumber" />
|
||||||
|
<jb:value property="status" data="orderStatus" />
|
||||||
|
<jb:value property="creationDate" data="creationDate" decoder="Date">
|
||||||
|
<jb:decodeParam name="format">yyyy-MM-dd</jb:decodeParam>
|
||||||
|
</jb:value>
|
||||||
|
<jb:wiring property="supplier" beanIdRef="supplier" />
|
||||||
|
<jb:wiring property="items" beanIdRef="items" />
|
||||||
|
</jb:bean>
|
||||||
|
|
||||||
|
<jb:bean beanId="supplier" class="com.baeldung.smooks.model.Supplier" createOnElement="#document">
|
||||||
|
<jb:value property="name" data="name" />
|
||||||
|
<jb:value property="phoneNumber" data="phone" />
|
||||||
|
</jb:bean>
|
||||||
|
|
||||||
|
<jb:bean beanId="items" class="java.util.ArrayList" createOnElement="#document">
|
||||||
|
<jb:wiring beanIdRef="item" />
|
||||||
|
</jb:bean>
|
||||||
|
<jb:bean beanId="item" class="com.baeldung.smooks.model.Item" createOnElement="orderItems">
|
||||||
|
<jb:value property="code" data="item/code" />
|
||||||
|
<jb:value property="price" decoder="Double" data="item/price" />
|
||||||
|
<jb:value property="quantity" decoder="Integer" data="item/quantity" />
|
||||||
|
</jb:bean>
|
||||||
|
|
||||||
|
</smooks-resource-list>
|
29
libraries/src/main/resources/smooks/smooks-mapping.xml
Normal file
29
libraries/src/main/resources/smooks/smooks-mapping.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
|
||||||
|
xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.2.xsd">
|
||||||
|
|
||||||
|
<jb:bean beanId="order" class="com.baeldung.smooks.model.Order" createOnElement="order">
|
||||||
|
<jb:value property="number" data="order/order-number" />
|
||||||
|
<jb:value property="status" data="order/order-status" />
|
||||||
|
<jb:value property="creationDate" data="order/@creation-date" decoder="Date">
|
||||||
|
<jb:decodeParam name="format">yyyy-MM-dd</jb:decodeParam>
|
||||||
|
</jb:value>
|
||||||
|
<jb:wiring property="supplier" beanIdRef="supplier" />
|
||||||
|
<jb:wiring property="items" beanIdRef="items" />
|
||||||
|
</jb:bean>
|
||||||
|
|
||||||
|
<jb:bean beanId="supplier" class="com.baeldung.smooks.model.Supplier" createOnElement="supplier">
|
||||||
|
<jb:value property="name" data="name" />
|
||||||
|
<jb:value property="phoneNumber" data="phone" />
|
||||||
|
</jb:bean>
|
||||||
|
|
||||||
|
<jb:bean beanId="items" class="java.util.ArrayList" createOnElement="order">
|
||||||
|
<jb:wiring beanIdRef="item" />
|
||||||
|
</jb:bean>
|
||||||
|
<jb:bean beanId="item" class="com.baeldung.smooks.model.Item" createOnElement="item">
|
||||||
|
<jb:value property="code" data="item/code" />
|
||||||
|
<jb:value property="price" decoder="Double" data="item/price" />
|
||||||
|
<jb:value property="quantity" decoder="Integer" data="item/quantity" />
|
||||||
|
</jb:bean>
|
||||||
|
|
||||||
|
</smooks-resource-list>
|
11
libraries/src/main/resources/smooks/smooks-transform-edi.xml
Normal file
11
libraries/src/main/resources/smooks/smooks-transform-edi.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
|
||||||
|
xmlns:ftl="http://www.milyn.org/xsd/smooks/freemarker-1.1.xsd">
|
||||||
|
|
||||||
|
<import file="smooks-validation.xml" />
|
||||||
|
|
||||||
|
<ftl:freemarker applyOnElement="#document">
|
||||||
|
<ftl:template>/smooks/order.ftl</ftl:template>
|
||||||
|
</ftl:freemarker>
|
||||||
|
|
||||||
|
</smooks-resource-list>
|
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
|
||||||
|
xmlns:ftl="http://www.milyn.org/xsd/smooks/freemarker-1.1.xsd">
|
||||||
|
|
||||||
|
|
||||||
|
<import file="smooks-validation.xml" />
|
||||||
|
|
||||||
|
<ftl:freemarker applyOnElement="#document">
|
||||||
|
<ftl:template>/smooks/email.ftl</ftl:template>
|
||||||
|
</ftl:freemarker>
|
||||||
|
|
||||||
|
</smooks-resource-list>
|
17
libraries/src/main/resources/smooks/smooks-validation.xml
Normal file
17
libraries/src/main/resources/smooks/smooks-validation.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
|
||||||
|
xmlns:rules="http://www.milyn.org/xsd/smooks/rules-1.0.xsd"
|
||||||
|
xmlns:validation="http://www.milyn.org/xsd/smooks/validation-1.0.xsd">
|
||||||
|
|
||||||
|
<import file="/smooks/smooks-mapping.xml" />
|
||||||
|
|
||||||
|
<rules:ruleBases>
|
||||||
|
<rules:ruleBase name="supplierValidation" src="/smooks/supplier.properties" provider="org.milyn.rules.regex.RegexProvider"/>
|
||||||
|
<rules:ruleBase name="itemsValidation" src="/smooks/item-rules.csv" provider="org.milyn.rules.mvel.MVELProvider"/>
|
||||||
|
</rules:ruleBases>
|
||||||
|
|
||||||
|
<validation:rule executeOn="supplier/name" name="supplierValidation.supplierName" onFail="ERROR"/>
|
||||||
|
<validation:rule executeOn="supplier/phone" name="supplierValidation.supplierPhone" onFail="ERROR"/>
|
||||||
|
<validation:rule executeOn="order-items/item" name="itemsValidation.max_total" onFail="ERROR"/>
|
||||||
|
|
||||||
|
</smooks-resource-list>
|
2
libraries/src/main/resources/smooks/supplier.properties
Normal file
2
libraries/src/main/resources/smooks/supplier.properties
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
supplierName=[A-Za-z0-9]*
|
||||||
|
supplierPhone=^[0-9\\-\\+]{9,15}$
|
Loading…
x
Reference in New Issue
Block a user