/** * Please modify this class to meet your needs * This class is not complete */ package org.savara.purchasing.store; import org.jboss.examples.store.AccountNotFoundType; import org.jboss.examples.store.BuyRequestType; import org.jboss.examples.store.BuyConfirmedType; import org.jboss.examples.creditagency.CreditCheckType; import org.jboss.examples.creditagency.CreditRatingType; import org.jboss.examples.logistics.DeliveryRequestType; import org.jboss.examples.logistics.DeliveryConfirmedType; import org.savara.purchasing.creditagency.CustomerUnknownFault; import java.math.BigInteger; import java.util.logging.Logger; @org.switchyard.component.bean.Service(Store.class) public class StoreImpl implements Store { @javax.inject.Inject @org.switchyard.component.bean.Reference org.savara.purchasing.creditagency.CreditAgency _creditAgency; @javax.inject.Inject @org.switchyard.component.bean.Reference org.savara.purchasing.logistics.Logistics _logistics; private static final Logger LOG = Logger.getLogger(StoreImpl.class.getName()); /* (non-Javadoc) * @see org.savara.purchasing.store.Store#buy(org.jboss.examples.store.BuyRequestType content )* */ public org.jboss.examples.store.BuyConfirmedType buy(org.jboss.examples.store.BuyRequestType content) throws AccountNotFoundFault // ,InsufficientCreditFault { BuyConfirmedType ret=null; // TODO: Add code here to handle request (in variable 'content') try { // TODO: Add code here to initialize request CreditCheckType creditCheckReq=new CreditCheckType(); creditCheckReq.setCustomer(content.getCustomer()); creditCheckReq.setId(content.getId()); System.out.println(">>>> CALL CREDIT CHECK"); CreditRatingType creditCheckResult = _creditAgency.creditCheck(creditCheckReq); System.out.println(">>>> RETURNED="+creditCheckResult); if (creditCheckResult.getRating().intValue() <= 5) { // TODO: Set expression //throw new InsufficientCreditFault(); } else { // TODO: Add code here to initialize request DeliveryRequestType deliveryReq=new DeliveryRequestType(); deliveryReq.setAddress("1001 Acme Street"); deliveryReq.setId(content.getId()); DeliveryConfirmedType deliveryResult = _logistics.delivery(deliveryReq); // TODO: Add code here to return response ret = new BuyConfirmedType(); ret.setId(content.getId()); BigInteger bi=new BigInteger("500"); ret.setAmount(bi); } } catch (CustomerUnknownFault customerUnknown) { System.out.println(">>>> RETURNED FAULT="+customerUnknown); AccountNotFoundType anfe=new AccountNotFoundType(); anfe.setId(content.getId()); anfe.setReason("Customer Unknown"); throw new AccountNotFoundFault("Customer Unknown", anfe); } return (ret); } }