/** * Returns compact class host. * * @param obj Object to compact. * @return String. */ @Nullable public static Object compactObject(Object obj) { if (obj == null) return null; if (obj instanceof Enum) return obj.toString(); if (obj instanceof String || obj instanceof Boolean || obj instanceof Number) return obj; if (obj instanceof Collection) { Collection col = (Collection) obj; Object[] res = new Object[col.size()]; int i = 0; for (Object elm : col) res[i++] = compactObject(elm); return res; } if (obj.getClass().isArray()) { Class<?> arrType = obj.getClass().getComponentType(); if (arrType.isPrimitive()) { if (obj instanceof boolean[]) return Arrays.toString((boolean[]) obj); if (obj instanceof byte[]) return Arrays.toString((byte[]) obj); if (obj instanceof short[]) return Arrays.toString((short[]) obj); if (obj instanceof int[]) return Arrays.toString((int[]) obj); if (obj instanceof long[]) return Arrays.toString((long[]) obj); if (obj instanceof float[]) return Arrays.toString((float[]) obj); if (obj instanceof double[]) return Arrays.toString((double[]) obj); } Object[] arr = (Object[]) obj; int iMax = arr.length - 1; StringBuilder sb = new StringBuilder("["); for (int i = 0; i <= iMax; i++) { sb.append(compactObject(arr[i])); if (i != iMax) sb.append(", "); } sb.append("]"); return sb.toString(); } return U.compact(obj.getClass().getName()); }
/** * Log task mapped. * * @param log Logger. * @param clazz Task class. * @param nodes Mapped nodes. */ public static void logMapped( @Nullable IgniteLogger log, Class<?> clazz, Collection<ClusterNode> nodes) { log0( log, U.currentTimeMillis(), String.format("[%s]: MAPPED: %s", clazz.getSimpleName(), U.toShortString(nodes))); }
public static void main(String[] args) throws Exception { for (String csname : csnames) { System.out.printf("-----------------------------------%n"); String oldname = csname + "_OLD"; checkInit(csname); Charset csOld = (Charset) Class.forName(oldname).newInstance(); Charset csNew = Charset.forName(csname); char[] cc = checkEncoding(csOld, csNew); checkDecoding(csOld, csNew); compare(csNew, csOld, cc); if (csname.startsWith("x-IBM93")) { // ecdbic checkMalformed( csNew, new byte[][] { {1, 0x26, 0x0f, 0x27}, // in SBSC, no SI {1, 0x0e, 0x41, 0x41, 0xe}, // in DBSC, no SO {2, 0x0e, 0x40, 0x41, 0xe}, // illegal DB }); } else if (csname.equals("x-IBM970") || csname.equals("x-IBM1383")) { // euc_simple checkMalformed( csNew, new byte[][] { {1, 0x26, (byte) 0x8f, 0x27}, // SS2 {1, (byte) 0xa1, (byte) 0xa1, (byte) 0x8e, 0x51}, // SS3 }); } } }
/** * Log finished. * * @param log Logger. * @param clazz Class. * @param start Start time. */ public static void logFinish(@Nullable IgniteLogger log, Class<?> clazz, long start) { final long end = U.currentTimeMillis(); log0( log, end, String.format( "[%s]: FINISHED, duration: %s", clazz.getSimpleName(), formatDuration(end - start))); }
/** * Log message. * * @param log Logger. * @param msg Message to log. * @param clazz class. * @param start start time. * @return Time when message was logged. */ public static long log(@Nullable IgniteLogger log, String msg, Class<?> clazz, long start) { final long end = U.currentTimeMillis(); log0( log, end, String.format( "[%s]: %s, duration: %s", clazz.getSimpleName(), msg, formatDuration(end - start))); return end; }
/** * Log start. * * @param log Logger. * @param clazz Class. * @param start Start time. */ public static void logStart(@Nullable IgniteLogger log, Class<?> clazz, long start) { log0(log, start, "[" + clazz.getSimpleName() + "]: STARTED"); }