/******************************************************************************* * Copyright (c) 2013 hangum. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v2.1 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * * Contributors: * hangum - initial API and implementation ******************************************************************************/ package com.hangum.tadpole.engine.sql.util.tables; import java.text.SimpleDateFormat; import java.util.Date; import org.eclipse.jface.viewers.ITableColorProvider; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Image; import com.hangum.tadpole.commons.dialogs.message.dao.RequestResultDAO; import com.hangum.tadpole.commons.dialogs.message.dao.TadpoleMessageDAO; import com.swtdesigner.SWTResourceManager; /** * history label provider * @author hangum * */ @SuppressWarnings("serial") public class SQLHistoryLabelProvider extends LabelProvider implements ITableLabelProvider, ITableColorProvider { @Override public Image getColumnImage(Object element, int columnIndex) { return null; } @Override public String getColumnText(Object element, int columnIndex) { if(element instanceof RequestResultDAO) { RequestResultDAO historyDAO = (RequestResultDAO)element; switch(columnIndex) { case 0: return dateToStr(historyDAO.getStartDateExecute()); // 쿼리에 개행 문자가 있으면 테이블에 개행 문자 이후 쿼리가 보이지 않으므로 보여줄 때는 개행 문자를 제거합니다. case 1: // System.out.println(historyDAO.getStrSQLText()); return historyDAO.getStrSQLText();//StringUtils.replace(historyDAO.getStrSQLText(), "\n", "<br/>"); // return StringEscapeUtils.escapeXml(StringUtils.replaceChars(historyDAO.getStrSQLText(), "\n", "<br> ")); case 2: return ""+( (historyDAO.getEndDateExecute().getTime() - historyDAO.getStartDateExecute().getTime()) / 1000f); case 3: return ""+historyDAO.getRows(); case 4: return historyDAO.getResult(); case 5: return historyDAO.getMesssage(); case 6: return historyDAO.getUserName(); case 7: return historyDAO.getDbName(); case 8: return historyDAO.getIpAddress(); } } else if(element instanceof TadpoleMessageDAO) { TadpoleMessageDAO dao = (TadpoleMessageDAO)element; switch(columnIndex) { case 0: return dateToStr(dao.getDateExecute()); case 1: return dao.getStrMessage(); } } return "### not set column ###"; //$NON-NLS-1$ } /** * 보기편하게 * * @param date * @return */ public static String dateToStr(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sdf.format(date); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITableColorProvider#getForeground(java.lang.Object, int) */ @Override public Color getForeground(Object element, int columnIndex) { return null; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITableColorProvider#getBackground(java.lang.Object, int) */ @Override public Color getBackground(Object element, int columnIndex) { if(element instanceof RequestResultDAO) { RequestResultDAO historyDAO = (RequestResultDAO)element; String strResult = historyDAO.getResult(); if("F".equals(strResult)) { return SWTResourceManager.getColor(240, 180, 167); } } return SWTResourceManager.getColor(SWT.COLOR_GRAY); } }