/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.dataprocess.common.util; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; /** * */ public class CommonUtils { private CommonUtils() { } public static String resultSetToStringFormat(ResultSet rs, String separator, String quote, boolean column) throws SQLException { StringBuilder sb = new StringBuilder(); ResultSetMetaData metadata = rs.getMetaData(); int colmumnCount = metadata.getColumnCount(); if (column) { for (int i = 1; i <= colmumnCount; i++) { sb.append(quote).append(metadata.getColumnName(i)).append(quote); if (i + 1 <= colmumnCount) { sb.append(separator); } } sb.append("\n"); } while (rs.next()) { for (int i = 1; i <= colmumnCount; i++) { sb.append(quote).append(rs.getObject(i)).append(quote); if (i + 1 <= colmumnCount) { sb.append(separator); } } sb.append("\n"); } return sb.toString(); } public static List<String> tokenize(String str, String separator) { List<String> tokens = new ArrayList<String>(); for (StringTokenizer strTokenizer = new StringTokenizer(str, separator); strTokenizer.hasMoreTokens();) { String token = strTokenizer.nextToken().trim(); tokens.add(token); } return tokens; } public static List<String> stringToList(String parameters) { List<String> parametersList = new ArrayList<String>(); StringTokenizer stringTokenizer = new StringTokenizer(parameters, ","); while (stringTokenizer.hasMoreTokens()) { String token = stringTokenizer.nextToken().trim(); parametersList.add(token); } return parametersList; } public static String listToString(List<String> list) { StringBuilder result = new StringBuilder(); if (list == null) { return ""; } for (String aList : list) { result.append(aList).append(", "); } if (!list.isEmpty()) { return result.substring(0, result.length() - 2); } else { return result.toString(); } } public static String timeMillisToString(long timeMillis) { StringBuilder strTime = new StringBuilder(); long jour = (int)(timeMillis / 86400000); long heure = (int)((timeMillis - jour * 86400000) / 3600000); long minute = (int)((timeMillis - jour * 86400000 - heure * 3600000) / 60000); long seconde = (int)((timeMillis - jour * 86400000 - heure * 3600000 - minute * 60000) / 1000); long milliseconde = (int)(timeMillis - jour * 86400000 - heure * 3600000 - minute * 60000 - seconde * 1000); if (jour > 0) { strTime.append(jour).append("j "); } if (heure > 0) { strTime.append(heure).append("h "); } if (minute > 0) { strTime.append(minute).append("mn "); } if (seconde > 0) { strTime.append(seconde).append("s "); } if (jour + heure + minute + seconde == 0) { strTime.append(milliseconde).append("ms"); } return strTime.toString().trim(); } public static String doubleQuote(String str) { int pos = str.indexOf('\''); if (pos != -1) { str = str.substring(0, pos + 1) + "'" + doubleQuote(str.substring(pos + 1)); } return str; } public static String localify(int repositoryId, String executionListName, String val) { return String.format("%d.%s.%s", repositoryId, executionListName, val.trim()); } }