package org.jboss.tools.common.reddeer.view; import java.util.ArrayList; import java.util.List; import org.jboss.reddeer.common.logging.Logger; import org.jboss.reddeer.swt.api.Table; import org.jboss.reddeer.swt.api.TableItem; import org.jboss.reddeer.swt.impl.table.DefaultTable; import org.jboss.reddeer.workbench.impl.view.WorkbenchView; /** * Represents 'Messages View' * * @author tsedmik */ public class MessagesView extends WorkbenchView { private static final String TITLE = "Messages View"; private static final Logger log = Logger.getLogger(MessagesView.class); public MessagesView() { super(TITLE); } /** * Gets all messages in 'Messages View' * * @return list of all messages in 'Messages View' */ public List<Message> getAllMessages() { log.debug("Getting all data from 'Messages View'"); activate(); List<Message> data = new ArrayList<Message>(); Table table = new DefaultTable(); for (TableItem item : table.getItems()) { Message msg = new Message(); msg.setTraceId(Integer.parseInt(item.getText())); msg.setTraceNode(item.getText(14)); data.add(msg); } log.debug(data.size() + "items were found."); return data; } /** * Return message on given position in 'Messages View' * * @param i * row in the table * @return message on given row */ public Message getMessage(int i) { log.debug("Getting message on " + i + " row."); activate(); Table table = new DefaultTable(); TableItem item = table.getItem(i - 1); Message msg = new Message(); msg.setTraceId(Integer.parseInt(item.getText())); msg.setTraceNode(item.getText(15)); return msg; } }