APDevFundamentals4.2 Snippets
APDevFundamentals4.2 Snippets
2 - Snippets
* MODULE 1 **********************************************************
* MODULE 2 **********************************************************
* MODULE 3 **********************************************************
* MODULE 4 **********************************************************
* MySQL database
db:
host: "iltdb.learn.mulesoft.com"
port: "3306"
user: "mule"
password: "mule"
database: "training"
* Derby database
URL: jdbc:derby://localhost:1527/memory:training
Driver class name: org.apache.derby.jdbc.ClientDriver
* MODULE 5 **********************************************************
Client ID:
6697bf1cd47f46018b655b161b66f11f
Client Secret:
9028Fc3469874575b09517B91Aa266E1
* MODULE 7 **********************************************************
* Salesforce query
SELECT Name, LastModifiedDate, BillingPostalCode
FROM Account
* MODULE 8 **********************************************************
* MODULE 9 **********************************************************
* Validation expression
#[['SFO','LAX','CLE','PDX','PDF'] contains vars.code]
* Validation error message
'Invalid destination' ++ ' ' ++ (vars.code default ' ')
* MODULE 12 *********************************************************
* MODULE 13 *********************************************************
* DataWeave Transformation
payload map ( payload01 , indexOfPayload01 ) -> {
Name: payload01.name,
BillingStreet: payload01.street,
BillingCity: (payload01.city default ""),
BillingState: payload01.state,
BillingPostalCode: payload01.postal,
BillingCountry: payload01.country
}
https://dzone.com/articles/property-file-handling-in-mule4
http://check1.us-e2.cloudhub.io/
https://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html
https://dzone.com/articles/power-of-arrays-module-in-dataweave
code share::
https://codeshare.io/axQrmX
training4-american-api.cloudhub.io
from Lalit Panwar 3 to All Participants:
d846d01ea59640108779eaaa532d00ca
from Lalit Panwar 3 to All Participants:
F7C5ecA48EBA449399b4B140416849B0
lower(vars.airline) ~= 'american'
lower(vars.airline) ~= 'united'
lower(vars.airline) ~= 'delta'
%dw 2.0
output application/json
---
[
{
airline:payload[0].airline,
origin:payload[0].fromAirportCode
},
{
airline:payload[1].airline,
origin:payload[1].fromAirportCode
}
]
------------
//'Sindhu' ++ 'Nangineni'
++('Sindhu',' Nangineni')
-------------------
%dw 2.0
output application/json
---
/*
map(inputCollection,mapping)
inputCollection map mapping
//payload map{}
//payload map ()->{}
//payload map (obj,ind)->{}
map(payload,(obj,ind)->{})
*/
payload map{
'airlineName': $.airline,
'code': $.flightCode,
'origin': $.fromAirportCode,
'destination': $.toAirportCode,
'avilableSeats': $.emptySeats
}
--------------------------
%dw 2.0
output application/json
---
/*
map(inputCollection, mapping)
inputCollection map mapping
payload map {}
payload map ()->{}
payload map (obj, ind)->{}
map(payload, (obj, ind)->{})
payload map {
index: $$,
airlineName: $.airline,
code: $.flightCode,
origin: $.fromAirportCode,
destination: $.toAirportCode,
availableSeats: $.emptySeats
}
*/
--------------------------
%dw 2.0
output application/xml
---
flights:
{(
flight:{
index: ind,
airlineName: flight.airline,
code: flight.flightCode,
origin: flight.fromAirportCode,
destination: flight.toAirportCode,
availableSeats: flight.emptySeats
}
)}
------------------------------------------------
%dw 2.0
output application/xml
---
flights:
flight: payload map (flight, ind)->{
index: ind,
airlineName: flight.airline,
code: flight.flightCode,
origin: flight.fromAirportCode,
destination: flight.toAirportCode,
availableSeats: flight.emptySeats
}
--------------------------------------------------
** JAVA does not support multiple variables with the same name
-------------------------------------------------------------
%dw 2.0
output application/json
---
payload..*return map (f, in)->{
airlineName: f.@airlineName,
code: f.code,
departureDate: f.departureDate,
destination: f.destination,
emptySeats: f.emptySeats,
origin: f.origin,
planeType: f.planeType,
price: f.price
}
-------------------------------------------------------------
%dw 2.0
output application/java
---
payload..*return map (f, in)->{
airlineName: f.@airlineName,
code: f.code,
departureDate: f.departureDate
as Date {format: "yyyy/MM/dd"}
as String {format: 'MMMM dd, yyyy'}
,
destination: f.destination,
emptySeats: f.emptySeats as Number,
origin: f.origin,
planeType: f.planeType,
price: f.price as Number //as String {format : '00000000,000'}
//{class: 'java.lang.Double'}
}
-----------------------------------------------------------------------------
%dw 2.0
output application/java
---
payload..*return map (f, in)->{
airlineName: f.@airlineName,
flightCode: f.code,
departureDate: f.departureDate
as Date {format: "yyyy/MM/dd"}
as String {format: 'MMMM dd, yyyy'}
,
destination: f.destination,
availableSeats: f.emptySeats as Number,
origination: f.origin,
planeType: f.planeType,
price: f.price as Number //as String {format : '00000000,000'}
} as Object {
class: 'com.mulesoft.training.Flight'
}
-----------------------------------------------------------------------------------
------
%dw 2.0
output application/json
type Currency = String{format: "-##.00"}
fun getTotalSeats(planeType: String)=
if(planeType contains '737')
180
else
300
---
payload..*return map (f, in)->{
airlineName: f.@airlineName,
flightCode: f.code,
departureDate: f.departureDate
as Date {format: "yyyy/MM/dd"}
as String {format: "MMMM dd, yyyy"}
,
destination: f.destination,
availableSeats: f.emptySeats as Number,
origination: f.origin,
planeType: f.planeType,
price: f.price as Number, //as Currency//as String {format : '00000000,000'}
totalSeats: getTotalSeats(f.planeType)
-----------------------------------------------------
%dw 2.0
output application/json
type Currency = String{format: "-##.00"}
fun getTotalSeats(planeType: String)=
if(planeType contains '737')
180
else
300
---
using (flights = payload..*return map (f, in)->{
airlineName: f.@airlineName,
flightCode: f.code,
departureDate: f.departureDate as Date {format: "yyyy/MM/dd"}
as String {format: "MMMM dd, yyyy"}
,
destination: f.destination,
availableSeats: f.emptySeats as Number,
origination: f.origin,
planeType: f.planeType,
price: f.price as Number,
totalSeats: getTotalSeats(f.planeType),
//name: fname ++ lname
} )
flights orderBy -$.price
filter($.avilableSeats>0)
distinctBy $
groupBy $.airlineName
planeType: dw::core::Strings::dasherize(f.planeType),
planeType: dw::core::Strings::dasherize(f.planeType)
----DW completed--------