diff --git a/integrator-default-profile/enterprise-integration-pattern/aggregator/main.bal b/integrator-default-profile/enterprise-integration-pattern/aggregator/main.bal index 4f30dbe4..99984a9d 100644 --- a/integrator-default-profile/enterprise-integration-pattern/aggregator/main.bal +++ b/integrator-default-profile/enterprise-integration-pattern/aggregator/main.bal @@ -1,10 +1,11 @@ import ballerina/http; +map partialSurveys = {}; + listener http:Listener httpListener = new (port = 8080); service /api/v1 on httpListener { resource function post survey/[string id](@http:Header string userId, @http:Payload json formData) returns error? { - map partialSurveys = {}; json[]|() surveyData = partialSurveys[userId]; if surveyData == () { json[] newSurvey = [formData]; diff --git a/integrator-default-profile/enterprise-integration-pattern/channel_adapter/Ballerina.toml b/integrator-default-profile/enterprise-integration-pattern/channel_adapter/Ballerina.toml index 9582b597..1825cda9 100644 --- a/integrator-default-profile/enterprise-integration-pattern/channel_adapter/Ballerina.toml +++ b/integrator-default-profile/enterprise-integration-pattern/channel_adapter/Ballerina.toml @@ -1,4 +1,8 @@ [package] org = "wso2" name = "channel_adapter" -version = "0.1.0" \ No newline at end of file +version = "0.1.0" +[[dependency]] +org = "ballerinax" +name = "jira" +version = "1.5.1" diff --git a/integrator-default-profile/enterprise-integration-pattern/content_filter/data_mappings.bal b/integrator-default-profile/enterprise-integration-pattern/content_filter/data_mappings.bal index e69de29b..8144d246 100644 --- a/integrator-default-profile/enterprise-integration-pattern/content_filter/data_mappings.bal +++ b/integrator-default-profile/enterprise-integration-pattern/content_filter/data_mappings.bal @@ -0,0 +1,3 @@ +function filterReimbursements(DetailedReimbursementTemplate[] templates) returns ReimbursementTemplate[] => + from var templatesItem in templates +select {reimbursementTypeID: templatesItem.reimbursementTypeID, fixedAmount: templatesItem.fixedAmount}; diff --git a/integrator-default-profile/enterprise-integration-pattern/content_filter/main.bal b/integrator-default-profile/enterprise-integration-pattern/content_filter/main.bal index 30c21cad..36820b7f 100644 --- a/integrator-default-profile/enterprise-integration-pattern/content_filter/main.bal +++ b/integrator-default-profile/enterprise-integration-pattern/content_filter/main.bal @@ -6,8 +6,7 @@ service /payroll on httpListener { resource function post employees/[string id]/paytemplate/reimbursements(DetailedReimbursementTemplate[] templates) returns Reimbursement|error { - ReimbursementTemplate[] reimbursementRequests = from var {reimbursementTypeID, fixedAmount} in templates - select {reimbursementTypeID, fixedAmount}; + ReimbursementTemplate[] reimbursementRequests = filterReimbursements(templates); Reimbursement result = check xero->/payrollxro/employees/[id]/paytemplate/reimbursements.post(reimbursementRequests); return result; } diff --git a/integrator-default-profile/enterprise-integration-pattern/format_indicator/data_mappings.bal b/integrator-default-profile/enterprise-integration-pattern/format_indicator/data_mappings.bal index e69de29b..26f7afd4 100644 --- a/integrator-default-profile/enterprise-integration-pattern/format_indicator/data_mappings.bal +++ b/integrator-default-profile/enterprise-integration-pattern/format_indicator/data_mappings.bal @@ -0,0 +1,5 @@ +function toPatient(PatientReqV1 req) returns Patient => { + dob: req.dob, + fullName: req.firstName + " " + req.lastName, + diagnosis: req.diagnosis +}; diff --git a/integrator-default-profile/enterprise-integration-pattern/format_indicator/main.bal b/integrator-default-profile/enterprise-integration-pattern/format_indicator/main.bal index f96badd7..8d3ae4a3 100644 --- a/integrator-default-profile/enterprise-integration-pattern/format_indicator/main.bal +++ b/integrator-default-profile/enterprise-integration-pattern/format_indicator/main.bal @@ -3,19 +3,15 @@ import ballerina/http; listener http:Listener httpListener = new (port = 8080); service /api/v1 on httpListener { - resource function post data/patient(PatientReq patintReq) returns error? { + resource function post data/patient(PatientReq patientReq) returns error? { Patient patient; - if patintReq is PatientReqV1 { - patient = { - dob: patintReq.dob, - fullName: patintReq.firstName + " " + patintReq.lastName, - diagnosis: patintReq.diagnosis - }; + if patientReq is PatientReqV1 { + patient = toPatient(patientReq); } else { patient = { - dob: patintReq.patient.dob, - fullName: patintReq.patient.fullName, - diagnosis: patintReq.patient.diagnosis + dob: patientReq.patient.dob, + fullName: patientReq.patient.fullName, + diagnosis: patientReq.patient.diagnosis }; } http:Response response = check patientClient->/patient.post(patient, targetType = http:Response); diff --git a/integrator-default-profile/enterprise-integration-pattern/idempotent_receiver/main.bal b/integrator-default-profile/enterprise-integration-pattern/idempotent_receiver/main.bal index ab0c50a4..54eabce9 100644 --- a/integrator-default-profile/enterprise-integration-pattern/idempotent_receiver/main.bal +++ b/integrator-default-profile/enterprise-integration-pattern/idempotent_receiver/main.bal @@ -1,10 +1,11 @@ import ballerina/http; +map orderStatuses = {}; + listener http:Listener httpListener = new (port = 8080); service /api/v1 on httpListener { resource function put manage\-orders/[string orderId](OrderDetail orderDetail) returns http:STATUS_NO_CONTENT|http:STATUS_CREATED { - map orderStatuses = {}; "CANCELLED"|"COMPLETED"|"SHIPPED"|"CREATED"|() orderStatus = orderStatuses[orderId]; if orderStatus == orderDetail.status { return http:STATUS_NO_CONTENT; diff --git a/integrator-default-profile/enterprise-integration-pattern/message/connections.bal b/integrator-default-profile/enterprise-integration-pattern/message/connections.bal index 29156c3f..6b4b0a09 100644 --- a/integrator-default-profile/enterprise-integration-pattern/message/connections.bal +++ b/integrator-default-profile/enterprise-integration-pattern/message/connections.bal @@ -1,3 +1,3 @@ import ballerina/http; -final http:Client surveyMonkey = check new ("http://api.surveymonkey.com/v3/surveys"); +final http:Client surveyMonkey = check new ("http://api.surveymonkey.com.balmock.io"); diff --git a/integrator-default-profile/enterprise-integration-pattern/message_endpoint/main.bal b/integrator-default-profile/enterprise-integration-pattern/message_endpoint/main.bal index 2acd4dcb..ccfdc2d7 100644 --- a/integrator-default-profile/enterprise-integration-pattern/message_endpoint/main.bal +++ b/integrator-default-profile/enterprise-integration-pattern/message_endpoint/main.bal @@ -3,7 +3,7 @@ import ballerina/http; listener http:Listener httpListener = new (port = 8080); service /api/v1/rates on httpListener { - isolated resource function get covert(Currency base, Currency target, decimal amount = 1.00) returns decimal { + isolated resource function get convert(Currency base, Currency target, decimal amount = 1.00) returns decimal { map rates = { "AUD": 1.59, "INR": 83.24, diff --git a/integrator-default-profile/enterprise-integration-pattern/message_endpoint/types.bal b/integrator-default-profile/enterprise-integration-pattern/message_endpoint/types.bal index d7f2f6b0..75af7cd9 100644 --- a/integrator-default-profile/enterprise-integration-pattern/message_endpoint/types.bal +++ b/integrator-default-profile/enterprise-integration-pattern/message_endpoint/types.bal @@ -1,2 +1,2 @@ -type Currency "AUD"|"INR"|"BGP"; +type Currency "AUD"|"INR"|"GBP"; diff --git a/integrator-default-profile/enterprise-integration-pattern/message_translator/data_mappings.bal b/integrator-default-profile/enterprise-integration-pattern/message_translator/data_mappings.bal index e69de29b..2f7b8f46 100644 --- a/integrator-default-profile/enterprise-integration-pattern/message_translator/data_mappings.bal +++ b/integrator-default-profile/enterprise-integration-pattern/message_translator/data_mappings.bal @@ -0,0 +1,9 @@ +function translate(SalesData salesData) returns QuickBooksInvoice => { + customerId: salesData.customer.id, + invoices: from var opportunity in salesData.opportunities + select { + id: opportunity.id, + amount: opportunity.amount, + invoiceDate: opportunity.closeDate + } +}; diff --git a/integrator-default-profile/enterprise-integration-pattern/message_translator/functions.bal b/integrator-default-profile/enterprise-integration-pattern/message_translator/functions.bal index 26c7455d..e69de29b 100644 --- a/integrator-default-profile/enterprise-integration-pattern/message_translator/functions.bal +++ b/integrator-default-profile/enterprise-integration-pattern/message_translator/functions.bal @@ -1,11 +0,0 @@ -function translate(SalesData salesData) returns QuickBooksInvoice { - return { - customerId: salesData.customer.id, - invoices: from var oppotunity in salesData.opportunities - select { - id: oppotunity.id, - amount: oppotunity.amount, - invoiceDate: oppotunity.closeDate - } - }; -} diff --git a/integrator-default-profile/enterprise-integration-pattern/message_translator/types.bal b/integrator-default-profile/enterprise-integration-pattern/message_translator/types.bal index a056f9b0..e319baeb 100644 --- a/integrator-default-profile/enterprise-integration-pattern/message_translator/types.bal +++ b/integrator-default-profile/enterprise-integration-pattern/message_translator/types.bal @@ -1,7 +1,7 @@ type SalesData record {| Customer customer; - Oppotunity[] opportunities; + Opportunity[] opportunities; |}; type Customer record {| @@ -10,7 +10,7 @@ type Customer record {| string email; |}; -type Oppotunity record {| +type Opportunity record {| string id; decimal amount; string closeDate; diff --git a/integrator-default-profile/enterprise-integration-pattern/pipes_and_filters/main.bal b/integrator-default-profile/enterprise-integration-pattern/pipes_and_filters/main.bal index 91f76b99..e86aa76c 100644 --- a/integrator-default-profile/enterprise-integration-pattern/pipes_and_filters/main.bal +++ b/integrator-default-profile/enterprise-integration-pattern/pipes_and_filters/main.bal @@ -4,8 +4,8 @@ listener http:Listener httpDefaultListener = http:getDefaultListener(); service /api/v1 on httpDefaultListener { isolated resource function get employee/top\-performers(int count) returns TopPerformer[]|error { - EmployeePerformance[] employeePerformace = check firebaseClient->/performance\.json.get(); - return from var {empId, productivity, customerSatisfaction, goalAchievement} in employeePerformace + EmployeePerformance[] employeePerformance = check firebaseClient->/performance\.json.get(); + return from var {empId, productivity, customerSatisfaction, goalAchievement} in employeePerformance let float performance = productivity * 0.3 + customerSatisfaction * 0.1 + goalAchievement * 0.6 where performance > 7.5 limit count diff --git a/integrator-default-profile/enterprise-integration-pattern/process_manager/functions.bal b/integrator-default-profile/enterprise-integration-pattern/process_manager/functions.bal index 2973cad1..8dd7c132 100644 --- a/integrator-default-profile/enterprise-integration-pattern/process_manager/functions.bal +++ b/integrator-default-profile/enterprise-integration-pattern/process_manager/functions.bal @@ -16,7 +16,7 @@ function createFedexShipment(OrderResponse response) returns FedexResponse|error return targetType; } -function creeateDhlShipment(OrderResponse response) returns DHLResponse|error { +function createDhlShipment(OrderResponse response) returns DHLResponse|error { ShipmentRequest dhlReq = { amount: response.total, currency: response.currency, diff --git a/integrator-default-profile/enterprise-integration-pattern/process_manager/main.bal b/integrator-default-profile/enterprise-integration-pattern/process_manager/main.bal index a0ddbc2a..1224f286 100644 --- a/integrator-default-profile/enterprise-integration-pattern/process_manager/main.bal +++ b/integrator-default-profile/enterprise-integration-pattern/process_manager/main.bal @@ -10,7 +10,7 @@ service /api/v1 on httpListener { FedexResponse fedexResp = check createFedexShipment(response); trackingNumber = fedexResp.trackingNumber; } else { - DHLResponse dhlResp = check creeateDhlShipment(response); + DHLResponse dhlResp = check createDhlShipment(response); trackingNumber = dhlResp.trackingNumber; } future futureResult = start sendConfirmationMail(response.address.fullName, response.email, trackingNumber); diff --git a/integrator-default-profile/enterprise-integration-pattern/routing_slip/main.bal b/integrator-default-profile/enterprise-integration-pattern/routing_slip/main.bal index 08832d1f..e5cc5ee4 100644 --- a/integrator-default-profile/enterprise-integration-pattern/routing_slip/main.bal +++ b/integrator-default-profile/enterprise-integration-pattern/routing_slip/main.bal @@ -14,7 +14,7 @@ service /api/v1 on httpListener { mobileNumber: message.mobileNumber, routingSlip: message.routingSlip }; - http:Response targetType = check pointHandler->/points.post(payload); + points = check pointHandler->/points.post(payload); } return checkout(message, points); }