/******************************************************************************* * Copyright (c) 2017 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.manager; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import com.hangum.tadpole.engine.define.DBGroupDefine; import com.hangum.tadpole.engine.query.dao.system.UserDBDAO; import com.hangum.tadpole.engine.sql.util.QueryUtils; import com.hangum.tadpole.engine.sql.util.resultset.QueryExecuteResultDTO; /** * Initialize UserDB * * @author hangum * */ public class InitializeDB { private static final Logger logger = Logger.getLogger(InitializeDB.class); /** * initialize DB information * * @param userDB * @return */ public static UserDBDAO dbInfo(UserDBDAO userDB) { if(userDB.getDBGroup() == DBGroupDefine.MYSQL_GROUP) { try { // // db readonly 여부 // QueryExecuteResultDTO endStatus = QueryUtils.executeQuery(userDB, "SHOW global variables like 'read_only'", 0, 20); List<Map<Integer, Object>> tdbResultSet = endStatus.getDataList().getData(); String strReadonly = ""+tdbResultSet.get(0).get(1); if("OFF".equals(strReadonly)) userDB.setReadonly("NO"); else userDB.setReadonly("YES"); } catch (Exception e) { logger.error("mysql connection initialize: " + e.getMessage()); } } return userDB; } /** * initialize DB information * * @param userDB * @return */ public static String dbCharacterSetDatabase(UserDBDAO userDB) { String strCharacterSetDatabase = ""; if(userDB.getDBGroup() == DBGroupDefine.MYSQL_GROUP) { try { QueryExecuteResultDTO endStatus = QueryUtils.executeQuery(userDB, "show variables like 'character_set_database'", 0, 20); List<Map<Integer, Object>> tdbResultSet = endStatus.getDataList().getData(); strCharacterSetDatabase = ""+tdbResultSet.get(0).get(1); if(logger.isDebugEnabled()) logger.debug(String.format("**** get database character set %s ", strCharacterSetDatabase)); } catch (Exception e) { logger.error("mysql Character " + e.getMessage()); } } return strCharacterSetDatabase; } }