diff options
Diffstat (limited to 'sca-java-1.x/tags/1.3.2/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl')
3 files changed, 246 insertions, 0 deletions
diff --git a/sca-java-1.x/tags/1.3.2/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockExchangeJaxB.java b/sca-java-1.x/tags/1.3.2/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockExchangeJaxB.java new file mode 100644 index 0000000000..4f4fe50041 --- /dev/null +++ b/sca-java-1.x/tags/1.3.2/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockExchangeJaxB.java @@ -0,0 +1,71 @@ +/* + * 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 org.apache.tuscany.sca.test.exceptions.impl; + +import org.apache.tuscany.sca.test.exceptions.impl.jaxb.InvalidSymbolFault; +import org.apache.tuscany.sca.test.exceptions.impl.jaxb.InvalidSymbolFault_Exception; +import org.apache.tuscany.sca.test.exceptions.impl.jaxb.MarketClosedFault; +import org.apache.tuscany.sca.test.exceptions.impl.jaxb.ObjectFactory; +import org.apache.tuscany.sca.test.exceptions.impl.jaxb.StockExceptionTest; +import org.apache.tuscany.sca.test.exceptions.impl.jaxb.StockOffer; +import org.apache.tuscany.sca.test.exceptions.impl.jaxb.TestNotDeclaredAtSourceFault; +import org.osoa.sca.annotations.Service; + +/** + * JAXB version of StockExceptionTest impl + */ +@Service(StockExceptionTest.class) +public class StockExchangeJaxB implements StockExceptionTest { + + public StockExchangeJaxB() { + + } + + public StockOffer stockQuoteOffer(StockOffer input) throws InvalidSymbolFault_Exception, MarketClosedFault, + TestNotDeclaredAtSourceFault { + + System.out.println("stockQuoteOffer '" + input + "'"); + + String symbol = input.getSymbol(); + if ("IBM".equals(symbol)) { + input.setPrice(99.00F); + return input; + + } else if ("CLOSED".equals(input.getName())) { + throw new MarketClosedFault("TO LATE!", 3); + + } else if ("UNDECLARED_SOURCE".equals(input.getName())) { + + throw new TestNotDeclaredAtSourceFault("not declared", "fault info"); + + } else if ("UNDECLARED_TARGET".equals(input.getName())) { + throw new IllegalArgumentException("System fault"); + } + ObjectFactory jaxbOjectFactory = new ObjectFactory(); + + InvalidSymbolFault faultinfo = jaxbOjectFactory.createInvalidSymbolFault(); + + faultinfo.setOffer(input); + + throw new InvalidSymbolFault_Exception("bad symbol", faultinfo); + + } + +} diff --git a/sca-java-1.x/tags/1.3.2/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockTraderSDO.java b/sca-java-1.x/tags/1.3.2/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockTraderSDO.java new file mode 100644 index 0000000000..95496e1737 --- /dev/null +++ b/sca-java-1.x/tags/1.3.2/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockTraderSDO.java @@ -0,0 +1,39 @@ +/* + * 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 org.apache.tuscany.sca.test.exceptions.impl; + +import java.rmi.RemoteException; + +import org.apache.tuscany.sca.test.exceptions.sdohandgen.InvalidSymbolSDOException; +import org.apache.tuscany.sca.test.exceptions.sdohandgen.MarketClosedSDOException; + +import stockexceptiontestservice.scatesttool.StockOffer; + +public interface StockTraderSDO { + + StockOffer testTrading() throws RemoteException, InvalidSymbolSDOException, MarketClosedSDOException; + + void testInvalidSymbolSDOException() throws RemoteException, InvalidSymbolSDOException, MarketClosedSDOException; + + Object testNotDeclaredAtSourceTest(); + + Object testNotDeclaredAtTargetTest(); + +} diff --git a/sca-java-1.x/tags/1.3.2/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockTraderSDOImpl.java b/sca-java-1.x/tags/1.3.2/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockTraderSDOImpl.java new file mode 100644 index 0000000000..842dd4e602 --- /dev/null +++ b/sca-java-1.x/tags/1.3.2/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockTraderSDOImpl.java @@ -0,0 +1,136 @@ +/* + * 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 org.apache.tuscany.sca.test.exceptions.impl; + +import java.rmi.RemoteException; + +import org.apache.tuscany.sca.test.exceptions.sdohandgen.InvalidSymbolSDOException; +import org.apache.tuscany.sca.test.exceptions.sdohandgen.MarketClosedSDOException; +import org.apache.tuscany.sca.test.exceptions.sdohandgen.StockExceptionTest; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +import stockexceptiontestservice.scatesttool.ScatesttoolFactory; +import stockexceptiontestservice.scatesttool.StockOffer; + +/** + * + */ +@Service(StockTraderSDO.class) +public class StockTraderSDOImpl implements StockTraderSDO { + + private StockExceptionTest exchangeJaxb; + + /** + * + */ + + public StockTraderSDOImpl() { + // TODO Auto-generated constructor stub + } + + @Reference + public void setExchangeJaxb(StockExceptionTest exchangeJaxb) { + this.exchangeJaxb = exchangeJaxb; + } + + /* + * (non-Javadoc) + * + * @see org.apache.tuscany.sca.test.exceptions.impl.StockTraderSDO#tradingTest() + */ + public StockOffer testTrading() throws RemoteException, InvalidSymbolSDOException, MarketClosedSDOException { + StockOffer stockOffer = ScatesttoolFactory.INSTANCE.createStockOffer(); + stockOffer.setName("IBM"); + stockOffer.setSymbol("IBM"); + stockOffer.setPrice(100.00F); // offer to buy at max $100.00 + + StockOffer stockOfferAccepted = exchangeJaxb.stockQuoteOffer(stockOffer); + + return stockOfferAccepted; + + } + + public void testInvalidSymbolSDOException() throws RemoteException, InvalidSymbolSDOException, + MarketClosedSDOException { + StockOffer stockOffer = ScatesttoolFactory.INSTANCE.createStockOffer(); + // set up for a InvalidSymbolSDOException + stockOffer.setName(""); + stockOffer.setSymbol("IBM0"); + + stockOffer.setPrice(11.0F); // offer to buy at max $100.00 + exchangeJaxb.stockQuoteOffer(stockOffer); + + } + + public void marketClosedSDOExceptionTest() { + StockOffer stockOffer = ScatesttoolFactory.INSTANCE.createStockOffer(); + + // set up for a MarketClosedSDOException + stockOffer.setName("CLOSED"); + stockOffer.setSymbol("MBI"); + stockOffer.setPrice(Float.NaN); // offer to buy at max $100.00 + try { + StockOffer stockOfferAccepted = exchangeJaxb.stockQuoteOffer(stockOffer); + stockOfferAccepted.getPrice(); // the price actually bought. + } catch (InvalidSymbolSDOException e) { + + e.printStackTrace(); + } catch (MarketClosedSDOException e) { + + e.printStackTrace(); + } + } + + public Object testNotDeclaredAtSourceTest() { + StockOffer stockOffer = ScatesttoolFactory.INSTANCE.createStockOffer(); + + // set up for a MarketClosedSDOException + stockOffer.setName("UNDECLARED_SOURCE"); + stockOffer.setSymbol("XYZ"); + stockOffer.setPrice(Float.NaN); // offer to buy at max $100.00 + try { + return exchangeJaxb.stockQuoteOffer(stockOffer); + + } catch (Exception e) { + return e; + + } + + } + + public Object testNotDeclaredAtTargetTest() { + StockOffer stockOffer = ScatesttoolFactory.INSTANCE.createStockOffer(); + + // set up for a MarketClosedSDOException + stockOffer.setName("UNDECLARED_TARGET"); + stockOffer.setSymbol("XYZ"); + stockOffer.setPrice(Float.NaN); // offer to buy at max $100.00 + try { + return exchangeJaxb.stockQuoteOffer(stockOffer); + + } catch (Exception e) { + return e; + + } + + } + +} |