package org.marketcetera.photon.views.providers;
import java.util.Map;
import org.eclipse.core.databinding.observable.map.IObservableMap;
import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;
import org.marketcetera.algo.BrokerAlgoTag;
/**
* Label provider for BrokerAlgoTags table.
* @author Milos Djuric
*
*/
public class AlgoTableObservableMapLabelProvider extends ObservableMapLabelProvider{
public AlgoTableObservableMapLabelProvider(IObservableMap attributeMap) {
super(attributeMap);
}
public AlgoTableObservableMapLabelProvider(IObservableMap[] attributeMaps) {
super(attributeMaps);
}
@Override
public String getColumnText(Object element, int columnIndex) {
if(element instanceof BrokerAlgoTag){
BrokerAlgoTag brokerAlgoTag = (BrokerAlgoTag)element;
switch(columnIndex){
case 0:
return brokerAlgoTag.getLabel();
case 1:
if(brokerAlgoTag.getTagSpec().getOptions() == null)
return brokerAlgoTag.getValue();
Map<String, String> options = brokerAlgoTag.getTagSpec().getOptions();
for(String key : options.keySet()){
if(options.get(key).equals(brokerAlgoTag.getValue()))
return key;
}
return "";
}
}
return null;
}
}