diff options
author | nash <nash@13f79535-47bb-0310-9956-ffa450edef68> | 2011-03-30 19:50:51 +0000 |
---|---|---|
committer | nash <nash@13f79535-47bb-0310-9956-ffa450edef68> | 2011-03-30 19:50:51 +0000 |
commit | 3a569a2f00bf172cddfd567149774ee808a2a242 (patch) | |
tree | 5b18450a44f7f33a4d3c56780393f15331150347 /sca-java-1.x/branches/sca-java-1.6.2/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_external_references.xq | |
parent | c1fc4bd1ac2a2133b870e4314424cfd050bef607 (diff) |
Create branch for 1.6.2
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1087059 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/branches/sca-java-1.6.2/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_external_references.xq')
-rw-r--r-- | sca-java-1.x/branches/sca-java-1.6.2/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_external_references.xq | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.6.2/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_external_references.xq b/sca-java-1.x/branches/sca-java-1.6.2/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_external_references.xq new file mode 100644 index 0000000000..cc50da164a --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.6.2/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_external_references.xq @@ -0,0 +1,69 @@ +(: + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +:) +declare namespace quoteJoin="scaservice:java/xquery.quote.ExternalReferencesQuoteJoin"; + +declare namespace quoteCalculator="scareference:java/xquery.quote.QuoteCalculator"; + +declare namespace priceQuoteProvider="scareference:java/xquery.quote.PriceQuoteProviderNodeInfo"; +declare namespace availQuoteProvider="scareference:java/xquery.quote.AvailQuoteProviderNodeInfo"; + +declare namespace quo="http://www.example.org/quote"; + +declare variable $quoteCalculator external; + +declare variable $priceQuoteProvider external; +declare variable $availQuoteProvider external; + +declare function quoteJoin:joinPriceAndAvailQuotes($taxRate) { +let $priceQuoteDoc := priceQuoteProvider:providePriceQuote($priceQuoteProvider) +let $availQuoteDoc := availQuoteProvider:provideAvailQuote($availQuoteProvider, 'dummy') +return +<quo:quote> + <quo:name>{ data($priceQuoteDoc/priceQuote/customerName) }</quo:name> + <quo:address>{ concat($priceQuoteDoc/priceQuote/shipAddress/@street , ",", $priceQuoteDoc/priceQuote/shipAddress/@city ,",", fn:upper-case($priceQuoteDoc/priceQuote/shipAddress/@state) , ",", $priceQuoteDoc/priceQuote/shipAddress/@zip) }</quo:address> + { + for $priceRequest in $priceQuoteDoc/priceQuote/priceRequests/priceRequest, + $availRequest in $availQuoteDoc/availQuote/availRequest + where data($priceRequest/widgetId) = data($availRequest/widgetId) + return + <quo:quoteResponse> + <quo:widgetId>{ data($priceRequest/widgetId) }</quo:widgetId> + <quo:unitPrice>{ data($priceRequest/price) }</quo:unitPrice> + <quo:requestedQuantity>{ data($availRequest/requestedQuantity) }</quo:requestedQuantity> + <quo:fillOrder>{ data($availRequest/quantityAvail) }</quo:fillOrder> + { + for $shipDate in $availRequest/shipDate + return + <quo:shipDate>{ data($shipDate) }</quo:shipDate> + } + <quo:taxRate>{ $taxRate }</quo:taxRate> + <quo:totalCost>{ quoteCalculator:calculateTotalPrice( + $quoteCalculator, + + $taxRate, + + $availRequest/requestedQuantity, + + $priceRequest/price, + + $availRequest/quantityAvail) }</quo:totalCost> + </quo:quoteResponse> + } + </quo:quote> +}; |