Created
January 17, 2014 00:36
-
-
Save adrianhsieh/8466294 to your computer and use it in GitHub Desktop.
Recursive call to find the right number to increment against QuickBooks Online
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <flow name="qb-findname-flow" doc:name="qb-findname-flow" processingStrategy="synchronous"> | |
| <vm:inbound-endpoint exchange-pattern="request-response" path="qb.findname" doc:name="qb.findname"/> | |
| <enricher source="#[payload.size()]" target="#[variable:matched]" doc:name="Message Enricher"> | |
| <quickbooks:find-objects config-ref="quickbooks" queryFilter="name :EQUALS: #[payload.workingname]" accessTokenId="#[map-payload:realmid]" type="#[map-payload:synctype]" doc:name="Quickbooks Online"/> | |
| </enricher> | |
| <choice doc:name="Choice"> | |
| <when expression="#[matched > 0]"> | |
| <processor-chain> | |
| <scripting:transformer doc:name="append-to-name"> | |
| <scripting:script engine="Groovy"> | |
| <scripting:text><![CDATA[def idx = payload.get('idx') + 1; | |
| def workingname = payload.get('orgname') + ' ' + idx; | |
| payload.put('idx', idx); | |
| payload.put('workingname', workingname); | |
| return payload;]]></scripting:text> | |
| </scripting:script> | |
| </scripting:transformer> | |
| <logger message="QB Name conflict. Try next: #[payload]" level="WARN" doc:name="qb-name-conflict"/> | |
| <vm:outbound-endpoint exchange-pattern="request-response" path="qb.findname" doc:name="qb.findname"/> | |
| </processor-chain> | |
| </when> | |
| <otherwise> | |
| <processor-chain> | |
| <logger message="Found QB Name to use: #[payload]" level="INFO" doc:name="qb-found-name"/> | |
| <expression-transformer expression="#[map-payload:workingname]" doc:name="return-name"/> | |
| </processor-chain> | |
| </otherwise> | |
| </choice> | |
| </flow> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment