package org.apache.fullmatix.mysql; import java.sql.ResultSet; import java.util.HashMap; import java.util.Map; import org.apache.fullmatix.mysql.SlaveStatus.SlaveStatusAttribute; public class MasterStatus { public enum MasterStatusAttribute { File, Position, Executed_Gtid_Set; } Map<String, String> valueMap = new HashMap<String, String>(); public MasterStatus(ResultSet rs) { try { if (rs.next()) { int columnCount = rs.getMetaData().getColumnCount(); for (int i = 1; i <= columnCount; i++) { Object object = rs.getObject(i); valueMap.put(rs.getMetaData().getColumnName(i).toLowerCase(), (object != null) ? object.toString() : null); } } } catch (Exception e) { // ignore } } public String getString(MasterStatusAttribute attribute) { return valueMap.get(attribute.toString().toLowerCase()); } public int getInt(MasterStatusAttribute attribute, int defaultValue) { int retVal = defaultValue; try { String val = valueMap.get(attribute.toString().toLowerCase()); if (val != null) { retVal = Integer.parseInt(val); } } catch (Exception e) { retVal = defaultValue; } return retVal; } }