package org.nightlabs.jfire.trade.ui.transfer.error;
import java.util.ArrayList;
import org.nightlabs.jfire.accounting.pay.Payment;
import org.nightlabs.jfire.trade.ui.resource.Messages;
import org.nightlabs.l10n.NumberFormatter;
public class PaymentTreeNode
extends TransferTreeNode
{
private Payment payment;
public PaymentTreeNode(Payment payment)
{
this.payment = payment;
}
@Override
public String getColumnText(int columnIndex)
{
switch (columnIndex) {
case 0:
return Messages.getString("org.nightlabs.jfire.trade.ui.transfer.error.PaymentTreeNode.payment"); //$NON-NLS-1$
case 1:
return NumberFormatter.formatCurrency(payment.getAmount(), payment.getCurrency());
case 2:
return payment.isFailed() ? Messages.getString("org.nightlabs.jfire.trade.ui.transfer.error.PaymentTreeNode.failure") : Messages.getString("org.nightlabs.jfire.trade.ui.transfer.error.PaymentTreeNode.success"); //$NON-NLS-1$ //$NON-NLS-2$
case 3:
return payment.isRolledBack() ? Messages.getString("org.nightlabs.jfire.trade.ui.transfer.error.PaymentTreeNode.rolledBack") : Messages.getString("org.nightlabs.jfire.trade.ui.transfer.error.PaymentTreeNode.notRolledBack"); //$NON-NLS-1$ //$NON-NLS-2$
default:
return ""; //$NON-NLS-1$
}
}
private Object[] children = null;
@Override
public Object[] getChildren()
{
if (children == null) {
ArrayList<PaymentResultTreeNode> l = new ArrayList<PaymentResultTreeNode>();
if (payment.getPayBeginClientResult() != null)
l.add(
new PaymentResultTreeNode(Phase.beginClient, payment.getPayBeginClientResult())
);
if (payment.getPayBeginServerResult() != null)
l.add(
new PaymentResultTreeNode(Phase.beginServer, payment.getPayBeginServerResult())
);
if (payment.getPayDoWorkClientResult() != null)
l.add(
new PaymentResultTreeNode(Phase.doWorkClient, payment.getPayDoWorkClientResult())
);
if (payment.getPayDoWorkServerResult() != null)
l.add(
new PaymentResultTreeNode(Phase.doWorkServer, payment.getPayDoWorkServerResult())
);
if (payment.getPayEndClientResult() != null)
l.add(
new PaymentResultTreeNode(Phase.endClient, payment.getPayEndClientResult())
);
if (payment.getPayEndServerResult() != null)
l.add(
new PaymentResultTreeNode(Phase.endServer, payment.getPayEndServerResult())
);
children = l.toArray();
}
return children;
}
}