/******************************************************************************* * 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.monitoring.core.editors.monitoring.manage; import org.apache.commons.lang.StringUtils; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; import com.hangum.tadpole.commons.libs.core.define.PublicTadpoleDefine; import com.hangum.tadpole.engine.define.DBDefine; import com.hangum.tadpole.engine.query.dao.ManagerListDTO; import com.hangum.tadpole.engine.query.dao.system.UserDBDAO; import com.hangum.tadpole.engine.query.dao.system.UserDBResourceDAO; import com.hangum.tadpole.session.manager.SessionManager; import com.swtdesigner.ResourceManager; /** * manager view label provider * * @author hangum * */ public class UserDBLabelProvider extends LabelProvider { public static final String PLUGIN_ID = "com.hangum.tadpole.rdb.core"; //$NON-NLS-1$ /** production markup start tag */ public static String PRODUCTION_SERVER_START_TAG = "<em style='color:rgb(255, 0, 0)'>"; //$NON-NLS-1$ /** development markup start tag */ public static String DEVELOPMENT_SERVER_START_TAG = "<em style='color:rgb(224, 224, 224)'>"; //$NON-NLS-1$ /** Markup end tag */ public static String END_TAG = "</em>"; //$NON-NLS-1$ @Override public Image getImage(Object element) { if(element instanceof ManagerListDTO) { return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/server_database.png"); //$NON-NLS-1$ } else if(element instanceof UserDBDAO) { UserDBDAO dto = (UserDBDAO)element; DBDefine dbType = dto.getDBDefine(); if(DBDefine.MYSQL_DEFAULT == dbType) return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/mysql-add.png"); //$NON-NLS-1$ else if(DBDefine.MARIADB_DEFAULT == dbType) return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/mariadb-add.png"); //$NON-NLS-1$ else if(DBDefine.ORACLE_DEFAULT == dbType) return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/oracle-add.png"); //$NON-NLS-1$ else if(DBDefine.SQLite_DEFAULT == dbType) return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/sqlite-add.png"); //$NON-NLS-1$ else if(DBDefine.MSSQL_DEFAULT == dbType) return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/mssql-add.png"); //$NON-NLS-1$ else if(DBDefine.CUBRID_DEFAULT == dbType) return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/cubrid-add.png"); //$NON-NLS-1$ else if(DBDefine.POSTGRE_DEFAULT == dbType) return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/postgresSQL-add.png"); //$NON-NLS-1$ else if(DBDefine.MONGODB_DEFAULT == dbType) return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/mongodb-add.png"); //$NON-NLS-1$ else if(DBDefine.HIVE_DEFAULT == dbType) return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/hive-add.png"); //$NON-NLS-1$ else return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/database-add.png"); //$NON-NLS-1$ } else if(element instanceof UserDBResourceDAO) { UserDBResourceDAO dao = (UserDBResourceDAO)element; if(PublicTadpoleDefine.RESOURCE_TYPE.ERD.toString().equals( dao.getResource_types())) { return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/erd.png"); //$NON-NLS-1$ } else { return ResourceManager.getPluginImage(PLUGIN_ID, "resources/icons/sql-query.png"); //$NON-NLS-1$ } } return super.getImage(element); } @Override public String getText(Object element) { if(element instanceof ManagerListDTO) { ManagerListDTO dto = (ManagerListDTO)element; return dto.getName(); } else if(element instanceof UserDBDAO) { UserDBDAO dao = (UserDBDAO)element; String retText = ""; if(PublicTadpoleDefine.DBOperationType.PRODUCTION.toString().equals(dao.getOperation_type())) { retText = PRODUCTION_SERVER_START_TAG + "[" + StringUtils.substring(dao.getOperation_type(), 0, 1) + "] " + END_TAG; } else { retText = DEVELOPMENT_SERVER_START_TAG + "[" + StringUtils.substring(dao.getOperation_type(), 0, 1) + "] " + END_TAG; } // 자신의 디비만 보이도록 수정 if(dao.getUser_seq() == SessionManager.getUserSeq()) { retText += dao.getDisplay_name() + " (" + dao.getUsers() + "@" + dao.getDb() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } else { retText += dao.getDisplay_name(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } return retText; } else if(element instanceof UserDBResourceDAO) { UserDBResourceDAO dao = (UserDBResourceDAO)element; String strComment = "".equals(dao.getDescription())?"":" (" + dao.getDescription() + ")"; return "[" + dao.getShared_type() + "] " + dao.getName() + strComment; } return "## not set ##"; //$NON-NLS-1$ } }