Example usage for org.apache.commons.lang SerializationUtils clone

List of usage examples for org.apache.commons.lang SerializationUtils clone

Introduction

In this page you can find the example usage for org.apache.commons.lang SerializationUtils clone.

Prototype

public static Object clone(Serializable object) 

Source Link

Document

Deep clone an Object using serialization.

This is many times slower than writing clone methods by hand on all objects in your object graph.

Usage

From source file:org.yes.cart.payment.impl.PayPalNvpPaymentGatewayImpl.java

/**
 * {@inheritDoc}/*from   w  ww .j  a v  a2 s  .co m*/
 */
public Payment authorizeCapture(final Payment paymentIn) {
    final Payment payment = (Payment) SerializationUtils.clone(paymentIn);
    payment.setTransactionOperation(AUTH_CAPTURE);
    final NVPEncoder encoder = createAuthRequest(payment, "Sale");
    return runTransaction(encoder, payment, AUTH_CAPTURE);
}

From source file:org.yes.cart.payment.impl.PayPalNvpPaymentGatewayImpl.java

/**
 * {@inheritDoc}/*from ww  w  .java  2  s . c o  m*/
 */
public Payment reverseAuthorization(final Payment paymentIn) {
    final Payment payment = (Payment) SerializationUtils.clone(paymentIn);
    payment.setTransactionOperation(REVERSE_AUTH);
    final NVPEncoder encoder = new NVPEncoder();
    encoder.add("METHOD", "DoVoid");
    encoder.add("TRXTYPE", "V");
    encoder.add("AUTHORIZATIONID", payment.getTransactionAuthorizationCode());
    return runTransaction(encoder, payment, REVERSE_AUTH);
}

From source file:org.yes.cart.payment.impl.PayPalNvpPaymentGatewayImpl.java

/**
 * Void capture perfomred as refund//  ww w .  ja v a  2s .  c o m
 * <p/>
 * {@inheritDoc}
 */
public Payment voidCapture(final Payment paymentIn) {
    final Payment payment = (Payment) SerializationUtils.clone(paymentIn);
    payment.setTransactionOperation(VOID_CAPTURE);
    final NVPEncoder encoder = new NVPEncoder();
    //encoder.add("METHOD", "DoVoid");
    //encoder.add("TRXTYPE", "V");
    //encoder.add("AUTHORIZATIONID", payment.getTransactionAuthorizationCode());

    encoder.add("METHOD", "RefundTransaction");
    encoder.add("REFUNDTYPE", "Full");
    encoder.add("TRANSACTIONID", payment.getTransactionReferenceId());

    return runTransaction(encoder, payment, VOID_CAPTURE);

}

From source file:org.yes.cart.payment.impl.PayPalNvpPaymentGatewayImpl.java

/**
 * {@inheritDoc}/*from w  w  w.  j a  va 2  s. co  m*/
 */
public Payment refund(final Payment paymentIn) {
    final Payment payment = (Payment) SerializationUtils.clone(paymentIn);
    payment.setTransactionOperation(REFUND);
    final NVPEncoder encoder = new NVPEncoder();
    encoder.add("METHOD", "RefundTransaction");
    encoder.add("REFUNDTYPE", "Full");
    encoder.add("TRANSACTIONID", payment.getTransactionReferenceId());
    return runTransaction(encoder, payment, REFUND);

}

From source file:org.yes.cart.payment.impl.PayPalNvpPaymentGatewayImpl.java

/**
 * {@inheritDoc}// w w  w.j  av  a  2  s .c  om
 */
public Payment capture(final Payment paymentIn) {
    final Payment payment = (Payment) SerializationUtils.clone(paymentIn);
    payment.setTransactionOperation(CAPTURE);
    final NVPEncoder encoder = new NVPEncoder();
    encoder.add("METHOD", "DoCapture");
    encoder.add("TRXTYPE", "D");
    encoder.add("AUTHORIZATIONID", payment.getTransactionAuthorizationCode());
    encoder.add("AMT", payment.getPaymentAmount().setScale(2, RoundingMode.HALF_UP).toString());
    encoder.add("COMPLETETYPE", "NotComplete");
    encoder.add("CURRENCYCODE", payment.getOrderCurrency());
    return runTransaction(encoder, payment, CAPTURE);

}

From source file:org.yes.cart.payment.impl.PayPalProPaymentGatewayImpl.java

/**
 * {@inheritDoc}//from w w w  . j  a v  a 2 s  . c  o m
 */
public Payment authorize(final Payment paymentIn) {
    final Payment payment = (Payment) SerializationUtils.clone(paymentIn);
    payment.setTransactionOperation(AUTH);
    final NvpBuilder npvs = createAuthRequest(payment, "Authorization");
    return runTransaction("DoDirectPayment", npvs.toMap(), payment, AUTH);
}

From source file:org.yes.cart.payment.impl.PayPalProPaymentGatewayImpl.java

/**
 * {@inheritDoc}/*  w  w  w  . j  a v a 2  s . co  m*/
 */
public Payment authorizeCapture(final Payment paymentIn) {
    final Payment payment = (Payment) SerializationUtils.clone(paymentIn);
    payment.setTransactionOperation(AUTH_CAPTURE);
    payment.setTransactionReferenceId(UUID.randomUUID().toString());
    payment.setTransactionAuthorizationCode(UUID.randomUUID().toString());
    payment.setPaymentProcessorResult(Payment.PAYMENT_STATUS_MANUAL_PROCESSING_REQUIRED);
    payment.setPaymentProcessorBatchSettlement(false);
    return payment;
}

From source file:org.yes.cart.payment.impl.PayPalProPaymentGatewayImpl.java

/**
 * {@inheritDoc}//from  w ww  .j  a v a 2 s. com
 */
public Payment reverseAuthorization(final Payment paymentIn) {
    final Payment payment = (Payment) SerializationUtils.clone(paymentIn);
    payment.setTransactionOperation(REVERSE_AUTH);
    final NvpBuilder npvs = new NvpBuilder();
    npvs.addRaw("AUTHORIZATIONID", payment.getTransactionReferenceId());
    return runTransaction("DoVoid", npvs.toMap(), payment, REVERSE_AUTH);
}

From source file:org.yes.cart.payment.impl.PayPalProPaymentGatewayImpl.java

/**
 * {@inheritDoc}//from w ww .  j  av a2  s. com
 */
public Payment capture(final Payment paymentIn) {
    final Payment payment = (Payment) SerializationUtils.clone(paymentIn);
    payment.setTransactionOperation(CAPTURE);
    final NvpBuilder npvs = new NvpBuilder();
    npvs.addRaw("AUTHORIZATIONID", payment.getTransactionReferenceId());
    npvs.addRaw("AMT", payment.getPaymentAmount().setScale(2, RoundingMode.HALF_UP).toString());
    npvs.addRaw("COMPLETETYPE", "NotComplete");
    npvs.addRaw("CURRENCYCODE", payment.getOrderCurrency());
    npvs.addEncoded("INVNUM", payment.getOrderShipment());
    return runTransaction("DoCapture", npvs.toMap(), payment, CAPTURE);

}

From source file:org.yes.cart.payment.impl.PostFinanceManualPaymentGatewayImpl.java

/**
 * {@inheritDoc}// w w w. j ava 2 s . c o m
 */
public Payment authorizeCapture(final Payment paymentIn) {
    final Payment payment = (Payment) SerializationUtils.clone(paymentIn);
    payment.setTransactionOperation(AUTH);
    payment.setTransactionReferenceId(UUID.randomUUID().toString());
    payment.setTransactionAuthorizationCode(UUID.randomUUID().toString());
    payment.setPaymentProcessorResult(Payment.PAYMENT_STATUS_MANUAL_PROCESSING_REQUIRED);
    payment.setPaymentProcessorBatchSettlement(false);
    return payment;
}