From 8a0d0fd710674914f2b2f0b256162af9e2db9c83 Mon Sep 17 00:00:00 2001 From: rfeng Date: Wed, 27 May 2009 04:52:05 +0000 Subject: Adding XML printout and refactoring a client git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@778997 13f79535-47bb-0310-9956-ffa450edef68 --- .../creditcard/impl/CreditCardPaymentImpl.java | 34 ++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) (limited to 'sandbox/rfeng/scatours-creditcard-payment-dosgi-contribution/src/main/java/scatours/payment/creditcard') diff --git a/sandbox/rfeng/scatours-creditcard-payment-dosgi-contribution/src/main/java/scatours/payment/creditcard/impl/CreditCardPaymentImpl.java b/sandbox/rfeng/scatours-creditcard-payment-dosgi-contribution/src/main/java/scatours/payment/creditcard/impl/CreditCardPaymentImpl.java index 510dc76b7d..014c49f143 100644 --- a/sandbox/rfeng/scatours-creditcard-payment-dosgi-contribution/src/main/java/scatours/payment/creditcard/impl/CreditCardPaymentImpl.java +++ b/sandbox/rfeng/scatours-creditcard-payment-dosgi-contribution/src/main/java/scatours/payment/creditcard/impl/CreditCardPaymentImpl.java @@ -19,6 +19,16 @@ package scatours.payment.creditcard.impl; +import java.io.StringWriter; +import java.util.UUID; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import javax.xml.bind.PropertyException; +import javax.xml.namespace.QName; + import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; @@ -36,17 +46,37 @@ public class CreditCardPaymentImpl implements CreditCardPayment { public String authorize(CreditCardDetailsType creditCard, float amount) { if (creditCard != null) { + try { + print(creditCard); + } catch (Exception e) { + e.printStackTrace(); + } + System.out.println("Credit card: name = " + creditCard.getCardOwner().getName() + " number = " + creditCard.getCreditCardNumber() + " for amount " - + amount + " EUR"); + + amount + + " EUR"); amount = convertCurrency(amount); } else { System.out.println("Credit card is null"); } - return "OK"; + return "SUCCESS: " + UUID.randomUUID(); + } + + private void print(CreditCardDetailsType creditCard) throws JAXBException, PropertyException { + JAXBContext context = JAXBContext.newInstance(CreditCardDetailsType.class); + QName name = new QName("http://ns1", "creditCard"); + JAXBElement element = new JAXBElement(name, Object.class, creditCard); + StringWriter writer = new StringWriter(); + Marshaller marshaller = context.createMarshaller(); + marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true); + marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + context.createMarshaller().marshal(element, writer); + writer.flush(); + System.out.println(writer.toString()); } private float convertCurrency(float amount) { -- cgit v1.2.3