package org.nightlabs.jfire.trade.ui.transfer.error;
import java.util.ArrayList;
import org.nightlabs.jfire.store.deliver.Delivery;
import org.nightlabs.jfire.trade.ui.resource.Messages;
public class DeliveryTreeNode
extends TransferTreeNode
{
private Delivery delivery;
public DeliveryTreeNode(Delivery delivery)
{
this.delivery = delivery;
}
@Override
public String getColumnText(int columnIndex)
{
switch (columnIndex) {
case 0:
return Messages.getString("org.nightlabs.jfire.trade.ui.transfer.error.DeliveryTreeNode.delivery"); //$NON-NLS-1$
case 1:
return String.format(Messages.getString("org.nightlabs.jfire.trade.ui.transfer.error.DeliveryTreeNode.articleCount"), new Integer(delivery.getArticleIDs().size())); //$NON-NLS-1$
case 2:
return delivery.isFailed() ? Messages.getString("org.nightlabs.jfire.trade.ui.transfer.error.DeliveryTreeNode.failure") : Messages.getString("org.nightlabs.jfire.trade.ui.transfer.error.DeliveryTreeNode.success"); //$NON-NLS-1$ //$NON-NLS-2$
case 3:
return delivery.isRolledBack() ? Messages.getString("org.nightlabs.jfire.trade.ui.transfer.error.DeliveryTreeNode.rolledBack") : Messages.getString("org.nightlabs.jfire.trade.ui.transfer.error.DeliveryTreeNode.notRolledBack"); //$NON-NLS-1$ //$NON-NLS-2$
default:
return ""; //$NON-NLS-1$
}
}
private Object[] children = null;
@Override
public Object[] getChildren()
{
if (children == null) {
ArrayList<DeliveryResultTreeNode> l = new ArrayList<DeliveryResultTreeNode>();
if (delivery.getDeliverBeginClientResult() != null)
l.add(
new DeliveryResultTreeNode(Phase.beginClient, delivery.getDeliverBeginClientResult())
);
if (delivery.getDeliverBeginServerResult() != null)
l.add(
new DeliveryResultTreeNode(Phase.beginServer, delivery.getDeliverBeginServerResult())
);
if (delivery.getDeliverDoWorkClientResult() != null)
l.add(
new DeliveryResultTreeNode(Phase.doWorkClient, delivery.getDeliverDoWorkClientResult())
);
if (delivery.getDeliverDoWorkServerResult() != null)
l.add(
new DeliveryResultTreeNode(Phase.doWorkServer, delivery.getDeliverDoWorkServerResult())
);
if (delivery.getDeliverEndClientResult() != null)
l.add(
new DeliveryResultTreeNode(Phase.endClient, delivery.getDeliverEndClientResult())
);
if (delivery.getDeliverEndServerResult() != null)
l.add(
new DeliveryResultTreeNode(Phase.endServer, delivery.getDeliverEndServerResult())
);
children = l.toArray();
}
return children;
}
}