/** @param args */ public static void main(String[] args) { /* * IbatorConfig config = new IbatorConfig(); config.parseConfig(null, * null); QueryFieldUtil obj = new QueryFieldUtil(); * obj.queryFields(config); */ String s = Date.class.getSimpleName(); System.out.println(s); DBConfig dbConfig = new DBConfig("couponaccountdetail"); List<String> warns = new ArrayList<String>(); dbConfig.parseConfig(warns); QueryFieldUtil obj = new QueryFieldUtil(); obj.queryFields(dbConfig); }
public Map<String, List<String>> querySchema(DBConfig config) { Map<String, List<String>> map = new HashMap<String, List<String>>(); List<String> schemaList = config.getSchemaList(); Connection conn = null; DatabaseMetaData databaseMetaData = null; try { conn = ConnectionFactory.getInstance().getConnection(config); databaseMetaData = conn.getMetaData(); } catch (Exception e) { e.printStackTrace(); return map; } for (String schema : schemaList) { List<String> tableList = new ArrayList<String>(); try { String localSchema = schema; if (databaseMetaData.storesLowerCaseIdentifiers()) { localSchema = localSchema == null ? null : localSchema.toLowerCase(); } else if (databaseMetaData.storesUpperCaseIdentifiers()) { localSchema = localSchema == null ? null : localSchema.toUpperCase(); } ResultSet rs = databaseMetaData.getTables(null, localSchema, null, null); while (rs.next()) { String tableName = rs.getString("TABLE_NAME"); tableList.add(tableName); // System.out.println(tableName); } map.put(schema, tableList); } catch (Exception e) { e.printStackTrace(); } } return map; }
public static void main(String argv[]) { DBConfig.cmdLineInit(argv, true); // main String accountID = RTConfig.getString(ARG_ACCOUNT, ""); String deviceID = RTConfig.getString(ARG_DEVICE, ""); int statusCode = RTConfig.getInt(ARG_CODE, 0); boolean anyCode = true; // RTConfig.hasProperty(ARG_ECODE); /* account-id specified? */ if (StringTools.isBlank(accountID)) { Print.logError("Account-ID not specified."); usage(); } /* get account */ Account account = null; try { account = Account.getAccount(accountID); // may throw DBException if (account == null) { Print.logError("Account-ID does not exist: " + accountID); usage(); } } catch (DBException dbe) { Print.logException("Error loading Account: " + accountID, dbe); // dbe.printException(); System.exit(99); } /* device-id specified? */ if (StringTools.isBlank(deviceID) || deviceID.startsWith("/")) { deviceID = ALL_DEVICES; } /* check device existance */ if (!deviceID.equals(ALL_DEVICES)) { try { Device device = Device.getDevice(account, deviceID); // may throw DBException if (device == null) { Print.logError("Device-ID does not exist: " + accountID + " / " + deviceID); usage(); } } catch (DBException dbe) { Print.logException("Error loading Device: " + accountID + " / " + deviceID, dbe); System.exit(99); } } /* status-code specified? */ if ((statusCode > 0) && !anyCode && !StatusCodes.IsValid(statusCode, account.getPrivateLabel())) { Print.logError("Invalid Status Code specified."); usage(); } /* statusCode specified? */ if (statusCode <= 0) { Print.logError("StatusCode not specified."); usage(); } /* statusCode exists? */ boolean statusCodeExists = false; try { statusCodeExists = StatusCode.exists(accountID, deviceID, statusCode); } catch (DBException dbe) { Print.logError( "Error determining if StatusCode exists: " + accountID + "/" + deviceID + "/" + statusCode); System.exit(99); } /* option count */ int opts = 0; /* delete */ if (RTConfig.getBoolean(ARG_DELETE, false)) { opts++; if (!statusCodeExists) { Print.logWarn( "StatusCode does not exist: " + accountID + "/" + deviceID + "/" + statusCode); Print.logWarn("Continuing with delete process ..."); } try { StatusCode.Key scKey = new StatusCode.Key(accountID, deviceID, statusCode); scKey.delete(true); // also delete dependencies (if any) Print.logInfo("StatusCode deleted: " + accountID + "/" + deviceID + "/" + statusCode); statusCodeExists = false; } catch (DBException dbe) { Print.logError( "Error deleting StatusCode: " + accountID + "/" + deviceID + "/" + statusCode); dbe.printException(); System.exit(99); } System.exit(0); } /* create */ if (RTConfig.getBoolean(ARG_CREATE, false)) { opts++; if (statusCodeExists) { Print.logWarn( "StatusCode already exists: " + accountID + "/" + deviceID + "/" + statusCode); } else { try { StatusCode.createNewStatusCode(account, deviceID, statusCode); Print.logInfo("Created StatusCode: " + accountID + "/" + deviceID + "/" + statusCode); statusCodeExists = true; } catch (DBException dbe) { Print.logError( "Error creating StatusCode: " + accountID + "/" + deviceID + "/" + statusCode); dbe.printException(); System.exit(99); } } } /* edit */ if (RTConfig.getBoolean(ARG_EDIT, false)) { opts++; if (!statusCodeExists) { Print.logError( "StatusCode does not exist: " + accountID + "/" + deviceID + "/" + statusCode); } else { try { StatusCode sc = StatusCode.getStatusCode(account, deviceID, statusCode); // may throw DBException DBEdit editor = new DBEdit(sc); editor.edit(); // may throw IOException } catch (IOException ioe) { if (ioe instanceof EOFException) { Print.logError("End of input"); } else { Print.logError("IO Error"); } } catch (DBException dbe) { Print.logError( "Error editing StatusCode: " + accountID + "/" + deviceID + "/" + statusCode); dbe.printException(); } } System.exit(0); } /* list */ if (RTConfig.hasProperty(ARG_LIST)) { opts++; String listType = RTConfig.getString(ARG_LIST, null); // TODO: complete ... } /* no options specified */ if (opts == 0) { Print.logWarn("Missing options ..."); usage(); } }
public List<Table> queryFields(DBConfig config) { List<Table> tableInfoList = new ArrayList<Table>(); Connection conn = null; try { List<TableConfiguration> tableList = (List<TableConfiguration>) config.getTableList(); if (tableList == null || tableList.size() <= 0) return tableInfoList; conn = ConnectionFactory.getInstance().getConnection(config); DatabaseMetaData databaseMetaData = conn.getMetaData(); for (TableConfiguration table : tableList) { Table tableInfo = new Table(); String localCatalog = table.getCatalog(); String localSchema = table.getSchema(); String localTableName = table.getTableName(); if (databaseMetaData.storesLowerCaseIdentifiers()) { localCatalog = localCatalog == null ? null : localCatalog.toLowerCase(); localSchema = localSchema == null ? null : localSchema.toLowerCase(); localTableName = localTableName == null ? null : localTableName.toLowerCase(); } else if (databaseMetaData.storesUpperCaseIdentifiers()) { localCatalog = localCatalog == null ? null : localCatalog.toUpperCase(); localSchema = localSchema == null ? null : localSchema.toUpperCase(); localTableName = localTableName == null ? null : localTableName.toUpperCase(); } Statement stmt = conn.createStatement(); ResultSet tableRs = stmt.executeQuery("SHOW CREATE TABLE " + localTableName); if (tableRs != null && tableRs.next()) { String create = tableRs.getString(2); String comment = parse(create); tableInfo.setComment(comment); } ResultSet rs = databaseMetaData.getColumns(localCatalog, localSchema, localTableName, null); tableInfo.setSerialVersionUID(System.nanoTime() + "L"); while (rs.next()) { tableInfo.setCatalog(rs.getString("TABLE_CAT")); tableInfo.setSchema(rs.getString("TABLE_SCHEM")); tableInfo.setName(rs.getString("TABLE_NAME")); tableInfo.setCode(rs.getString("TABLE_NAME")); Column introspectedColumn = new Column(); introspectedColumn.setTableAlias(table.getTableName()); introspectedColumn.setName(rs.getString("COLUMN_NAME")); introspectedColumn.setJdbcType(rs.getInt("DATA_TYPE")); introspectedColumn.setDataType( JdbcTypeNameTranslator.getJdbcTypeName(rs.getInt("DATA_TYPE"))); // $NON-NLS-1$ introspectedColumn.setLength(rs.getInt("COLUMN_SIZE")); // $NON-NLS-1$ introspectedColumn.setCode(rs.getString("COLUMN_NAME")); /*introspectedColumn.setActualColumnName(rs .getString("COLUMN_NAME"));*/ //$NON-NLS-1$ introspectedColumn.setNullable( rs.getInt("NULLABLE") == DatabaseMetaData.columnNullable); // $NON-NLS-1$ introspectedColumn.setScale(rs.getInt("DECIMAL_DIGITS")); // $NON-NLS-1$ introspectedColumn.setComment(rs.getString("REMARKS")); tableInfo.addColumn(introspectedColumn); PropertyBean pb = new PropertyBean(); pb.setName(convertFirstUpper(getFieldName(rs.getString("COLUMN_NAME")))); pb.setType(JdbcType2Java.calculateJavaType(introspectedColumn)); String importType = JdbcType2Java.importJavaType(introspectedColumn); if (importType != null && !importType.equals("")) { if (importType.indexOf("java.lang") < 0 && !tableInfo.getImportList().contains(importType)) tableInfo.getImportList().add(importType); } tableInfo.getPropertyBeanList().add(pb); } closeResultSet(rs); rs = databaseMetaData.getPrimaryKeys(localCatalog, localSchema, localTableName); while (rs.next()) { tableInfo.addPrimaryKeyColumn(rs.getString("COLUMN_NAME")); } closeResultSet(rs); tableInfoList.add(tableInfo); } } catch (Exception e) { e.printStackTrace(); } return tableInfoList; }
public static void main(String args[]) { DBConfig.cmdLineInit(args, true); // main String acctID = RTConfig.getString(ARG_ACCOUNT, ""); String roleID = RTConfig.getString(ARG_ROLE, ""); String aclID = RTConfig.getString(ARG_ACL, ""); /* account-id specified? */ if ((acctID == null) || acctID.equals("")) { Print.logError("Account-ID not specified."); usage(); } /* get account */ Account acct = null; try { acct = Account.getAccount(acctID); // may return DBException if (acct == null) { Print.logError("Account-ID does not exist: " + acctID); usage(); } } catch (DBException dbe) { Print.logException("Error loading Account: " + acctID, dbe); // dbe.printException(); System.exit(99); } /* role-id specified? */ if ((roleID == null) || roleID.equals("")) { Print.logError("Role-ID not specified."); usage(); } /* get role */ Role role = null; try { role = Role.getRole(acct, roleID); // may return DBException if (role == null) { Print.logError("Role-ID does not exist: " + acctID + "/" + roleID); usage(); } } catch (DBException dbe) { Print.logException("Error loading Role: " + acctID + "/" + roleID, dbe); // dbe.printException(); System.exit(99); } /* RoleAcl exists? */ boolean aclExists = false; if ((aclID != null) && !aclID.equals("")) { try { aclExists = RoleAcl.exists(acctID, roleID, aclID); } catch (DBException dbe) { Print.logError( "Error determining if RoleAcl exists: " + acctID + "/" + roleID + "/" + aclID); System.exit(99); } } /* option count */ int opts = 0; /* list */ if (RTConfig.getBoolean(ARG_LIST, false)) { opts++; try { String aclList[] = role.getAclsForRole(); for (int i = 0; i < aclList.length; i++) { AccessLevel level = RoleAcl.getAccessLevel(role, aclList[i], AccessLevel.NONE); Print.sysPrintln(" " + aclList[i] + " ==> " + level); } } catch (DBException dbe) { Print.logError("Error getting Acl list: " + dbe); System.exit(99); } System.exit(0); } /* delete */ if (RTConfig.getBoolean(ARG_DELETE, false) && !acctID.equals("") && !roleID.equals("")) { opts++; if (!aclExists) { Print.logWarn("RoleAcl does not exist: " + acctID + "/" + roleID + "/" + aclID); Print.logWarn("Continuing with delete process ..."); } try { RoleAcl.Key aclKey = new RoleAcl.Key(acctID, roleID, aclID); aclKey.delete(true); // also delete dependencies Print.logInfo("RoleAcl deleted: " + acctID + "/" + roleID + "/" + aclID); } catch (DBException dbe) { Print.logError("Error deleting RoleAcl: " + acctID + "/" + roleID + "/" + aclID); dbe.printException(); System.exit(99); } System.exit(0); } /* create */ if (RTConfig.getBoolean(ARG_CREATE, false)) { opts++; if (aclExists) { Print.logWarn("RoleAcl already exists: " + acctID + "/" + roleID + "/" + aclID); } else { try { RoleAcl.createNewRoleAcl(role, aclID); Print.logInfo("Created RoleAcl: " + acctID + "/" + roleID + "/" + aclID); aclExists = true; } catch (DBException dbe) { Print.logError("Error creating RoleAcl: " + acctID + "/" + roleID + "/" + aclID); dbe.printException(); System.exit(99); } } } /* set */ if (RTConfig.hasProperty(ARG_SET)) { opts++; AccessLevel aclLevel = EnumTools.getValueOf(AccessLevel.class, RTConfig.getInt(ARG_SET, -1)); try { RoleAcl.setAccessLevel(role, aclID, aclLevel); Print.logInfo( "Set RoleAcl '" + acctID + "/" + roleID + "/" + aclID + "' to level " + aclLevel); } catch (DBException dbe) { Print.logError("Error setting RoleAcl: " + acctID + "/" + roleID + "/" + aclID); dbe.printException(); System.exit(99); } System.exit(0); } /* edit */ if (RTConfig.getBoolean(ARG_EDIT, false)) { opts++; if (!aclExists) { Print.logError("RoleAcl does not exist: " + acctID + "/" + roleID + "/" + aclID); } else { try { RoleAcl roleAcl = RoleAcl.getRoleAcl(role, aclID, false); // may throw DBException DBEdit editor = new DBEdit(roleAcl); editor.edit(); // may throw IOException } catch (IOException ioe) { if (ioe instanceof EOFException) { Print.logError("End of input"); } else { Print.logError("IO Error"); } } catch (DBException dbe) { Print.logError("Error editing RoleAcl: " + acctID + "/" + roleID + "/" + aclID); dbe.printException(); } } System.exit(0); } /* no options specified */ if (opts == 0) { Print.logWarn("Missing options ..."); usage(); } }