diff options
Diffstat (limited to 'sandbox')
4 files changed, 133 insertions, 2 deletions
diff --git a/sandbox/travelsample/payment-contribution/creditcard.composite b/sandbox/travelsample/payment-contribution/creditcard.composite index 100cc3d9f9..97ee9a2e69 100644 --- a/sandbox/travelsample/payment-contribution/creditcard.composite +++ b/sandbox/travelsample/payment-contribution/creditcard.composite @@ -25,8 +25,14 @@ <binding.ws uri="http://localhost:8080/CreditCardPayment" />
</reference>
<service name="CreditCardPayment">
- <t:binding.jsonrpc uri="/jsonrpc/CreditCardPayment">
- </t:binding.jsonrpc>
+ <t:binding.jsonrpc uri="/jsonrpc/CreditCardPayment" />
+ <binding.sca />
+ </service>
+ </component>
+ <component name="CreditCardPaymentWS">
+ <implementation.java class="payment.creditcard.ws.impl.CreditCardPaymentWSImpl" />
+ <service name="CreditCardPayment">
+ <binding.ws uri="http://localhost:8080/CreditCardPayment" />
</service>
</component>
</composite>
\ No newline at end of file diff --git a/sandbox/travelsample/payment-contribution/pom.xml b/sandbox/travelsample/payment-contribution/pom.xml index da7faf9b7c..00f5507709 100644 --- a/sandbox/travelsample/payment-contribution/pom.xml +++ b/sandbox/travelsample/payment-contribution/pom.xml @@ -43,6 +43,27 @@ </dependency> <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-jsonrpc-runtime</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-jetty</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.2</version> @@ -53,6 +74,7 @@ <build> <finalName>${artifactId}</finalName> <sourceDirectory>${basedir}/src</sourceDirectory> + <testSourceDirectory>${basedir}/test</testSourceDirectory> <resources> <resource> <directory>${basedir}</directory> @@ -63,6 +85,7 @@ <exclude>build.xml</exclude> <exclude>target/**</exclude> <exclude>src/**</exclude> + <exclude>test/**</exclude> </excludes> </resource> </resources> diff --git a/sandbox/travelsample/payment-contribution/src/payment/creditcard/ws/impl/CreditCardPaymentWSImpl.java b/sandbox/travelsample/payment-contribution/src/payment/creditcard/ws/impl/CreditCardPaymentWSImpl.java new file mode 100644 index 0000000000..b0fd37f6ea --- /dev/null +++ b/sandbox/travelsample/payment-contribution/src/payment/creditcard/ws/impl/CreditCardPaymentWSImpl.java @@ -0,0 +1,37 @@ +/* + * 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. + */ + +package payment.creditcard.ws.impl; + +import org.osoa.sca.annotations.Service; + +import payment.creditcard.CreditCardDetailsType; +import payment.creditcard.CreditCardPayment; + +/** + * + */ +@Service(CreditCardPayment.class) +public class CreditCardPaymentWSImpl implements CreditCardPayment { + + public String authorize(CreditCardDetailsType creditCard, float amount) { + return "OK"; + } + +} diff --git a/sandbox/travelsample/payment-contribution/test/payment/creditcard/CreditCardPaymentTestCase.java b/sandbox/travelsample/payment-contribution/test/payment/creditcard/CreditCardPaymentTestCase.java new file mode 100644 index 0000000000..a43bcbbf17 --- /dev/null +++ b/sandbox/travelsample/payment-contribution/test/payment/creditcard/CreditCardPaymentTestCase.java @@ -0,0 +1,65 @@ +/* + * 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. + */ + +package payment.creditcard; + +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCANode; +import org.apache.tuscany.sca.node.SCANodeFactory; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * + */ +public class CreditCardPaymentTestCase { + private static SCANode node; + + /** + * @throws java.lang.Exception + */ + @BeforeClass + public static void setUpBeforeClass() throws Exception { + SCANodeFactory factory = SCANodeFactory.newInstance(); + node = factory.createSCANodeFromClassLoader("creditcard.composite", CreditCardPayment.class.getClassLoader()); + node.start(); + } + + @Test + public void testCreditCardPayment() { + SCAClient client = (SCAClient) node; + CreditCardPayment cc = client.getService(CreditCardPayment.class, "CreditCardPayment"); + ObjectFactory objectFactory = new ObjectFactory(); + CreditCardDetailsType ccDetails = objectFactory.createCreditCardDetailsType(); + System.out.println(cc.authorize(ccDetails, 100.00f)); + } + + /** + * @throws java.lang.Exception + */ + @AfterClass + public static void tearDownAfterClass() throws Exception { + if (node != null) { + node.stop(); + node = null; + } + } + +} |