package org.reldb.dbrowser.ui.content.rel.operator;
import org.eclipse.swt.graphics.Image;
import org.reldb.dbrowser.ui.content.rel.DbTreeAction;
import org.reldb.dbrowser.ui.content.rel.DbTreeItem;
import org.reldb.dbrowser.ui.content.rel.NaiveShowTab;
import org.reldb.dbrowser.ui.content.rel.RelPanel;
import org.reldb.rel.client.Tuple;
import org.reldb.rel.client.Tuples;
public class OperatorPlayer extends DbTreeAction {
public OperatorPlayer(RelPanel relPanel) {
super(relPanel);
}
@Override
public void go(DbTreeItem item, Image image) {
String query =
"(UNION {" +
" (sys.Operators UNGROUP Implementations) {Signature, Definition}," +
" sys.OperatorsBuiltin {Signature, Definition}" +
"}" +
"WHERE Signature='" + item.getName() + "')" +
"{Definition}";
Tuples tuples = relPanel.getConnection().getTuples(query);
String definition = "???";
if (tuples != null)
for (Tuple tuple: tuples)
definition = tuple.getAttributeValue("Definition").toString();
if (definition.trim().length() == 0)
definition = "<System-generated definition is unavailable.>";
NaiveShowTab typetab = new NaiveShowTab(relPanel, item, definition);
typetab.setImage(image);
relPanel.getTabFolder().setSelection(typetab);
}
}